a
This commit is contained in:
+436
@@ -0,0 +1,436 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake
|
||||
{
|
||||
// Token: 0x02001D19 RID: 7449
|
||||
[Token(Token = "0x2001D19")]
|
||||
public class JPakeParticipant
|
||||
{
|
||||
// Token: 0x0600BCA0 RID: 48288 RVA: 0x002AE630 File Offset: 0x002AC830
|
||||
[Token(Token = "0x600BCA0")]
|
||||
[Address(RVA = "0x200BB20", Offset = "0x200A920", VA = "0x18200BB20")]
|
||||
public JPakeParticipant(string participantId, char[] password)
|
||||
{
|
||||
JPakePrimeOrderGroup nist_ = JPakePrimeOrderGroups.NIST_3072;
|
||||
Sha256Digest sha256Digest = new Sha256Digest();
|
||||
SecureRandom secureRandom = new SecureRandom();
|
||||
}
|
||||
|
||||
// Token: 0x0600BCA1 RID: 48289 RVA: 0x002AE650 File Offset: 0x002AC850
|
||||
[Token(Token = "0x600BCA1")]
|
||||
[Address(RVA = "0x200BC20", Offset = "0x200AA20", VA = "0x18200BC20")]
|
||||
public JPakeParticipant(string participantId, char[] password, JPakePrimeOrderGroup group)
|
||||
{
|
||||
Sha256Digest sha256Digest = new Sha256Digest();
|
||||
SecureRandom secureRandom = new SecureRandom();
|
||||
}
|
||||
|
||||
// Token: 0x0600BCA2 RID: 48290 RVA: 0x002AE66C File Offset: 0x002AC86C
|
||||
[Token(Token = "0x600BCA2")]
|
||||
[Address(RVA = "0x200BCD0", Offset = "0x200AAD0", VA = "0x18200BCD0")]
|
||||
public JPakeParticipant(string participantId, char[] password, JPakePrimeOrderGroup group, IDigest digest, SecureRandom random)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BCA2)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake.JPakeParticipant::.ctor(System.String,System.Char[],BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake.JPakePrimeOrderGroup,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest,BestHTTP.SecureProtocol.Org.BouncyCastle.Security.SecureRandom)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_A9:
|
||||
stloc:ArgumentNullException(var_6_B3, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("participantId")))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x17001D37 RID: 7479
|
||||
// (get) Token: 0x0600BCA3 RID: 48291 RVA: 0x002AE730 File Offset: 0x002AC930
|
||||
[Token(Token = "0x17001D37")]
|
||||
public virtual int State
|
||||
{
|
||||
[Token(Token = "0x600BCA3")]
|
||||
[Address(RVA = "0x404240", Offset = "0x403040", VA = "0x180404240", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.state;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BCA4 RID: 48292 RVA: 0x002AE744 File Offset: 0x002AC944
|
||||
[Token(Token = "0x600BCA4")]
|
||||
[Address(RVA = "0x200A650", Offset = "0x2009450", VA = "0x18200A650", Slot = "5")]
|
||||
public virtual JPakeRound1Payload CreateRound1PayloadToSend()
|
||||
{
|
||||
int num = this.state;
|
||||
BigInteger bigInteger = this.q;
|
||||
SecureRandom secureRandom = this.random;
|
||||
BigInteger zero = JPakeUtilities.Zero;
|
||||
BigInteger one = JPakeUtilities.One;
|
||||
BigInteger bigInteger2 = bigInteger.Subtract(one);
|
||||
BigInteger bigInteger3 = BigIntegers.CreateRandomInRange(zero, bigInteger2, secureRandom);
|
||||
BigInteger bigInteger4 = this.q;
|
||||
SecureRandom secureRandom2 = this.random;
|
||||
this.x1 = bigInteger3;
|
||||
BigInteger one2 = JPakeUtilities.One;
|
||||
BigInteger bigInteger5 = bigInteger4.Subtract(one2);
|
||||
BigInteger bigInteger6 = BigIntegers.CreateRandomInRange(one2, bigInteger5, secureRandom2);
|
||||
BigInteger bigInteger7 = this.g;
|
||||
this.x2 = bigInteger6;
|
||||
BigInteger bigInteger8 = this.p;
|
||||
BigInteger bigInteger9 = this.x1;
|
||||
BigInteger bigInteger10 = bigInteger7.ModPow(bigInteger9, bigInteger8);
|
||||
BigInteger bigInteger11 = this.g;
|
||||
this.gx1 = bigInteger10;
|
||||
BigInteger bigInteger12 = this.p;
|
||||
BigInteger bigInteger13 = this.x2;
|
||||
BigInteger bigInteger14 = bigInteger11.ModPow(bigInteger13, bigInteger12);
|
||||
IDigest digest = this.digest;
|
||||
string text = this.participantId;
|
||||
BigInteger bigInteger15 = this.x1;
|
||||
BigInteger bigInteger16 = this.gx1;
|
||||
BigInteger bigInteger17 = this.g;
|
||||
BigInteger bigInteger18 = this.q;
|
||||
BigInteger bigInteger19 = this.p;
|
||||
this.gx2 = bigInteger14;
|
||||
SecureRandom secureRandom3 = this.random;
|
||||
BigInteger[] array = JPakeUtilities.CalculateZeroKnowledgeProof(bigInteger19, bigInteger18, bigInteger17, bigInteger16, bigInteger15, text, digest, secureRandom3);
|
||||
SecureRandom secureRandom4 = this.random;
|
||||
IDigest digest2 = this.digest;
|
||||
string text2 = this.participantId;
|
||||
BigInteger bigInteger20 = this.x2;
|
||||
BigInteger bigInteger21 = this.gx2;
|
||||
BigInteger bigInteger22 = this.g;
|
||||
BigInteger bigInteger23 = this.q;
|
||||
BigInteger[] array2 = JPakeUtilities.CalculateZeroKnowledgeProof(this.p, bigInteger23, bigInteger22, bigInteger21, bigInteger20, text2, digest2, secureRandom4);
|
||||
string text3 = this.participantId;
|
||||
BigInteger bigInteger24 = this.gx1;
|
||||
BigInteger bigInteger25 = this.gx2;
|
||||
int state_ROUND_1_CREATED = JPakeParticipant.STATE_ROUND_1_CREATED;
|
||||
this.state = state_ROUND_1_CREATED;
|
||||
return new JPakeRound1Payload(text3, bigInteger24, bigInteger25, array, array2);
|
||||
}
|
||||
|
||||
// Token: 0x0600BCA5 RID: 48293 RVA: 0x002AE90C File Offset: 0x002ACB0C
|
||||
[Token(Token = "0x600BCA5")]
|
||||
[Address(RVA = "0x200B030", Offset = "0x2009E30", VA = "0x18200B030", Slot = "6")]
|
||||
public virtual void ValidateRound1PayloadReceived(JPakeRound1Payload round1PayloadReceived)
|
||||
{
|
||||
int num = this.state;
|
||||
string text = round1PayloadReceived.ToString();
|
||||
this.partnerParticipantId = text;
|
||||
string text2 = round1PayloadReceived.ParticipantId;
|
||||
this.gx3 = text2;
|
||||
BigInteger bigInteger = round1PayloadReceived.Gx1;
|
||||
this.gx4 = bigInteger;
|
||||
BigInteger bigInteger2 = round1PayloadReceived.Gx2;
|
||||
BigInteger[] knowledgeProofForX = round1PayloadReceived.KnowledgeProofForX1;
|
||||
string text3 = this.participantId;
|
||||
string text4 = round1PayloadReceived.ToString();
|
||||
JPakeUtilities.ValidateParticipantIdsDiffer(text3, text4);
|
||||
BigInteger bigInteger3 = this.gx4;
|
||||
BigInteger bigInteger4 = this.p;
|
||||
string text5 = round1PayloadReceived.ToString();
|
||||
IDigest digest = this.digest;
|
||||
BigInteger bigInteger5 = this.p;
|
||||
BigInteger bigInteger6 = this.q;
|
||||
BigInteger bigInteger7 = this.g;
|
||||
BigInteger bigInteger8 = this.gx4;
|
||||
string text6 = round1PayloadReceived.ToString();
|
||||
IDigest digest2 = this.digest;
|
||||
JPakeUtilities.ValidateZeroKnowledgeProof(bigInteger5, bigInteger6, bigInteger7, bigInteger8, knowledgeProofForX, text6, digest2);
|
||||
int state_ROUND_1_VALIDATED = JPakeParticipant.STATE_ROUND_1_VALIDATED;
|
||||
this.state = state_ROUND_1_VALIDATED;
|
||||
}
|
||||
|
||||
// Token: 0x0600BCA6 RID: 48294 RVA: 0x002AE9FC File Offset: 0x002ACBFC
|
||||
[Token(Token = "0x600BCA6")]
|
||||
[Address(RVA = "0x200A9B0", Offset = "0x20097B0", VA = "0x18200A9B0", Slot = "7")]
|
||||
public virtual JPakeRound2Payload CreateRound2PayloadToSend()
|
||||
{
|
||||
BigInteger bigInteger11;
|
||||
BigInteger[] array;
|
||||
string text2;
|
||||
for (;;)
|
||||
{
|
||||
int num = this.state;
|
||||
int num2 = this.state;
|
||||
BigInteger bigInteger = this.p;
|
||||
BigInteger bigInteger2 = this.gx1;
|
||||
BigInteger bigInteger3 = this.gx3;
|
||||
BigInteger bigInteger4 = this.gx4;
|
||||
BigInteger bigInteger5 = bigInteger2.Multiply(bigInteger3).Multiply(bigInteger4).Mod(bigInteger);
|
||||
BigInteger bigInteger6 = JPakeUtilities.CalculateS(this.password);
|
||||
BigInteger bigInteger7 = this.x2;
|
||||
BigInteger bigInteger8 = this.q;
|
||||
BigInteger bigInteger9 = bigInteger7.Multiply(bigInteger6).Mod(bigInteger8);
|
||||
BigInteger bigInteger10 = this.p;
|
||||
bigInteger11 = bigInteger5.ModPow(bigInteger9, bigInteger10);
|
||||
SecureRandom secureRandom = this.random;
|
||||
IDigest digest = this.digest;
|
||||
string text = this.participantId;
|
||||
BigInteger bigInteger12 = this.q;
|
||||
array = JPakeUtilities.CalculateZeroKnowledgeProof(this.p, bigInteger12, bigInteger5, bigInteger11, bigInteger9, text, digest, secureRandom);
|
||||
text2 = this.participantId;
|
||||
int state_ROUND_2_CREATED = JPakeParticipant.STATE_ROUND_2_CREATED;
|
||||
this.state = state_ROUND_2_CREATED;
|
||||
if (text2 != 0)
|
||||
{
|
||||
if ((ulong)1L == 0UL)
|
||||
{
|
||||
}
|
||||
if (bigInteger11 != 0)
|
||||
{
|
||||
if ((ulong)1L == 0UL)
|
||||
{
|
||||
}
|
||||
if (array != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
JPakeRound2Payload jpakeRound2Payload;
|
||||
jpakeRound2Payload.participantId = text2;
|
||||
jpakeRound2Payload.a = bigInteger11;
|
||||
BigInteger[] array2 = new BigInteger[array.Length];
|
||||
jpakeRound2Payload.knowledgeProofForX2s = array2;
|
||||
return jpakeRound2Payload;
|
||||
}
|
||||
|
||||
// Token: 0x0600BCA7 RID: 48295 RVA: 0x002AEB40 File Offset: 0x002ACD40
|
||||
[Token(Token = "0x600BCA7")]
|
||||
[Address(RVA = "0x200B370", Offset = "0x200A170", VA = "0x18200B370", Slot = "8")]
|
||||
public virtual void ValidateRound2PayloadReceived(JPakeRound2Payload round2PayloadReceived)
|
||||
{
|
||||
int num = this.state;
|
||||
int num2 = this.state;
|
||||
BigInteger bigInteger = this.p;
|
||||
BigInteger bigInteger2 = this.gx3;
|
||||
BigInteger bigInteger3 = this.gx1;
|
||||
BigInteger bigInteger4 = this.gx2;
|
||||
BigInteger bigInteger5 = bigInteger2.Multiply(bigInteger3).Multiply(bigInteger4).Mod(bigInteger);
|
||||
string text = round2PayloadReceived.ParticipantId;
|
||||
this.b = text;
|
||||
BigInteger a = round2PayloadReceived.A;
|
||||
string text2 = this.participantId;
|
||||
string text3 = round2PayloadReceived.ToString();
|
||||
JPakeUtilities.ValidateParticipantIdsDiffer(text2, text3);
|
||||
string text4 = this.partnerParticipantId;
|
||||
string text5 = round2PayloadReceived.ToString();
|
||||
JPakeUtilities.ValidateParticipantIdsEqual(text4, text5);
|
||||
BigInteger bigInteger6 = this.p;
|
||||
string text6 = round2PayloadReceived.ToString();
|
||||
IDigest digest = this.digest;
|
||||
int state_ROUND_2_VALIDATED = JPakeParticipant.STATE_ROUND_2_VALIDATED;
|
||||
this.state = state_ROUND_2_VALIDATED;
|
||||
}
|
||||
|
||||
// Token: 0x0600BCA8 RID: 48296 RVA: 0x002AEC18 File Offset: 0x002ACE18
|
||||
[Token(Token = "0x600BCA8")]
|
||||
[Address(RVA = "0x200A390", Offset = "0x2009190", VA = "0x18200A390", Slot = "9")]
|
||||
public virtual BigInteger CalculateKeyingMaterial()
|
||||
{
|
||||
int num = this.state;
|
||||
int num2 = this.state;
|
||||
BigInteger bigInteger = JPakeUtilities.CalculateS(this.password);
|
||||
char[] array = this.password;
|
||||
int length = array.Length;
|
||||
int num3 = 0;
|
||||
Array.Clear(array, num3, length);
|
||||
BigInteger bigInteger2 = this.x2;
|
||||
int num4 = 0;
|
||||
BigInteger bigInteger3 = this.p;
|
||||
BigInteger bigInteger4 = this.q;
|
||||
BigInteger bigInteger5 = this.b;
|
||||
BigInteger bigInteger6 = this.gx4;
|
||||
this.password = num4;
|
||||
BigInteger bigInteger7 = bigInteger2.Multiply(bigInteger).Negate().Mod(bigInteger4);
|
||||
BigInteger bigInteger8 = bigInteger6.ModPow(bigInteger7, bigInteger3).Multiply(bigInteger5).ModPow(bigInteger2, bigInteger3);
|
||||
this.x1 = num4;
|
||||
this.x2 = num4;
|
||||
this.b = num4;
|
||||
int state_KEY_CALCULATED = JPakeParticipant.STATE_KEY_CALCULATED;
|
||||
this.state = state_KEY_CALCULATED;
|
||||
return bigInteger8;
|
||||
}
|
||||
|
||||
// Token: 0x0600BCA9 RID: 48297 RVA: 0x002AECF4 File Offset: 0x002ACEF4
|
||||
[Token(Token = "0x600BCA9")]
|
||||
[Address(RVA = "0x200ADE0", Offset = "0x2009BE0", VA = "0x18200ADE0", Slot = "10")]
|
||||
public virtual JPakeRound3Payload CreateRound3PayloadToSend(BigInteger keyingMaterial)
|
||||
{
|
||||
int num = this.state;
|
||||
int num2 = this.state;
|
||||
IDigest digest = this.digest;
|
||||
string text = this.participantId;
|
||||
string text2 = this.partnerParticipantId;
|
||||
BigInteger bigInteger = this.gx1;
|
||||
BigInteger bigInteger2 = this.gx2;
|
||||
BigInteger bigInteger3 = this.gx3;
|
||||
BigInteger bigInteger4 = this.gx4;
|
||||
BigInteger bigInteger5 = JPakeUtilities.CalculateMacTag(text, text2, bigInteger, bigInteger2, bigInteger3, bigInteger4, keyingMaterial, digest);
|
||||
string text3 = this.participantId;
|
||||
int state_ROUND_3_CREATED = JPakeParticipant.STATE_ROUND_3_CREATED;
|
||||
this.state = state_ROUND_3_CREATED;
|
||||
JPakeRound3Payload jpakeRound3Payload;
|
||||
jpakeRound3Payload.participantId = text3;
|
||||
jpakeRound3Payload.macTag = bigInteger5;
|
||||
return jpakeRound3Payload;
|
||||
}
|
||||
|
||||
// Token: 0x0600BCAA RID: 48298 RVA: 0x002AED90 File Offset: 0x002ACF90
|
||||
[Token(Token = "0x600BCAA")]
|
||||
[Address(RVA = "0x200B700", Offset = "0x200A500", VA = "0x18200B700", Slot = "11")]
|
||||
public virtual void ValidateRound3PayloadReceived(JPakeRound3Payload round3PayloadReceived, BigInteger keyingMaterial)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BCAA)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake.JPakeParticipant::ValidateRound3PayloadReceived(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake.JPakeRound3Payload,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_CF:
|
||||
stloc:CryptoException(var_18_D9, newobj:CryptoException(CryptoException::.ctor, ldstr:string("Partner MacTag validation failed. Therefore, the password, MAC, or digest algorithm of each participant does not match.")))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x04007819 RID: 30745
|
||||
[Token(Token = "0x4007819")]
|
||||
public static readonly int STATE_INITIALIZED;
|
||||
|
||||
// Token: 0x0400781A RID: 30746
|
||||
[Token(Token = "0x400781A")]
|
||||
public static readonly int STATE_ROUND_1_CREATED;
|
||||
|
||||
// Token: 0x0400781B RID: 30747
|
||||
[Token(Token = "0x400781B")]
|
||||
public static readonly int STATE_ROUND_1_VALIDATED;
|
||||
|
||||
// Token: 0x0400781C RID: 30748
|
||||
[Token(Token = "0x400781C")]
|
||||
public static readonly int STATE_ROUND_2_CREATED;
|
||||
|
||||
// Token: 0x0400781D RID: 30749
|
||||
[Token(Token = "0x400781D")]
|
||||
public static readonly int STATE_ROUND_2_VALIDATED;
|
||||
|
||||
// Token: 0x0400781E RID: 30750
|
||||
[Token(Token = "0x400781E")]
|
||||
public static readonly int STATE_KEY_CALCULATED;
|
||||
|
||||
// Token: 0x0400781F RID: 30751
|
||||
[Token(Token = "0x400781F")]
|
||||
public static readonly int STATE_ROUND_3_CREATED;
|
||||
|
||||
// Token: 0x04007820 RID: 30752
|
||||
[Token(Token = "0x4007820")]
|
||||
public static readonly int STATE_ROUND_3_VALIDATED;
|
||||
|
||||
// Token: 0x04007821 RID: 30753
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007821")]
|
||||
private string participantId;
|
||||
|
||||
// Token: 0x04007822 RID: 30754
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4007822")]
|
||||
private char[] password;
|
||||
|
||||
// Token: 0x04007823 RID: 30755
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4007823")]
|
||||
private IDigest digest;
|
||||
|
||||
// Token: 0x04007824 RID: 30756
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4007824")]
|
||||
private readonly SecureRandom random;
|
||||
|
||||
// Token: 0x04007825 RID: 30757
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4007825")]
|
||||
private readonly BigInteger p;
|
||||
|
||||
// Token: 0x04007826 RID: 30758
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4007826")]
|
||||
private readonly BigInteger q;
|
||||
|
||||
// Token: 0x04007827 RID: 30759
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4007827")]
|
||||
private readonly BigInteger g;
|
||||
|
||||
// Token: 0x04007828 RID: 30760
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4007828")]
|
||||
private string partnerParticipantId;
|
||||
|
||||
// Token: 0x04007829 RID: 30761
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4007829")]
|
||||
private BigInteger x1;
|
||||
|
||||
// Token: 0x0400782A RID: 30762
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x400782A")]
|
||||
private BigInteger x2;
|
||||
|
||||
// Token: 0x0400782B RID: 30763
|
||||
[FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x400782B")]
|
||||
private BigInteger gx1;
|
||||
|
||||
// Token: 0x0400782C RID: 30764
|
||||
[FieldOffset(Offset = "0x68")]
|
||||
[Token(Token = "0x400782C")]
|
||||
private BigInteger gx2;
|
||||
|
||||
// Token: 0x0400782D RID: 30765
|
||||
[FieldOffset(Offset = "0x70")]
|
||||
[Token(Token = "0x400782D")]
|
||||
private BigInteger gx3;
|
||||
|
||||
// Token: 0x0400782E RID: 30766
|
||||
[FieldOffset(Offset = "0x78")]
|
||||
[Token(Token = "0x400782E")]
|
||||
private BigInteger gx4;
|
||||
|
||||
// Token: 0x0400782F RID: 30767
|
||||
[FieldOffset(Offset = "0x80")]
|
||||
[Token(Token = "0x400782F")]
|
||||
private BigInteger b;
|
||||
|
||||
// Token: 0x04007830 RID: 30768
|
||||
[FieldOffset(Offset = "0x88")]
|
||||
[Token(Token = "0x4007830")]
|
||||
private int state;
|
||||
}
|
||||
}
|
||||
+98
@@ -0,0 +1,98 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake
|
||||
{
|
||||
// Token: 0x02001D1A RID: 7450
|
||||
[Token(Token = "0x2001D1A")]
|
||||
public class JPakePrimeOrderGroup
|
||||
{
|
||||
// Token: 0x0600BCAC RID: 48300 RVA: 0x002AEE88 File Offset: 0x002AD088
|
||||
[Token(Token = "0x600BCAC")]
|
||||
[Address(RVA = "0x200C470", Offset = "0x200B270", VA = "0x18200C470")]
|
||||
public JPakePrimeOrderGroup(BigInteger p, BigInteger q, BigInteger g)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600BCAD RID: 48301 RVA: 0x002AEE98 File Offset: 0x002AD098
|
||||
[Token(Token = "0x600BCAD")]
|
||||
[Address(RVA = "0x200C000", Offset = "0x200AE00", VA = "0x18200C000")]
|
||||
public JPakePrimeOrderGroup(BigInteger p, BigInteger q, BigInteger g, bool skipChecks)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BCAD)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake.JPakePrimeOrderGroup::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,System.Boolean)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_A1:
|
||||
stloc:ArgumentException(var_6_AB, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("p must be prime")))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x17001D38 RID: 7480
|
||||
// (get) Token: 0x0600BCAE RID: 48302 RVA: 0x002AEF54 File Offset: 0x002AD154
|
||||
[Token(Token = "0x17001D38")]
|
||||
public virtual BigInteger P
|
||||
{
|
||||
[Token(Token = "0x600BCAE")]
|
||||
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.p;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001D39 RID: 7481
|
||||
// (get) Token: 0x0600BCAF RID: 48303 RVA: 0x002AEF68 File Offset: 0x002AD168
|
||||
[Token(Token = "0x17001D39")]
|
||||
public virtual BigInteger Q
|
||||
{
|
||||
[Token(Token = "0x600BCAF")]
|
||||
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.q;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001D3A RID: 7482
|
||||
// (get) Token: 0x0600BCB0 RID: 48304 RVA: 0x002AEF7C File Offset: 0x002AD17C
|
||||
[Token(Token = "0x17001D3A")]
|
||||
public virtual BigInteger G
|
||||
{
|
||||
[Token(Token = "0x600BCB0")]
|
||||
[Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.g;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04007831 RID: 30769
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007831")]
|
||||
private readonly BigInteger p;
|
||||
|
||||
// Token: 0x04007832 RID: 30770
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4007832")]
|
||||
private readonly BigInteger q;
|
||||
|
||||
// Token: 0x04007833 RID: 30771
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4007833")]
|
||||
private readonly BigInteger g;
|
||||
}
|
||||
}
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake
|
||||
{
|
||||
// Token: 0x02001D1B RID: 7451
|
||||
[Token(Token = "0x2001D1B")]
|
||||
public class JPakePrimeOrderGroups
|
||||
{
|
||||
// Token: 0x0600BCB1 RID: 48305 RVA: 0x002AEF90 File Offset: 0x002AD190
|
||||
[Token(Token = "0x600BCB1")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
public JPakePrimeOrderGroups()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600BCB2 RID: 48306 RVA: 0x002AEFA4 File Offset: 0x002AD1A4
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600BCB2")]
|
||||
[Address(RVA = "0x200C490", Offset = "0x200B290", VA = "0x18200C490")]
|
||||
static JPakePrimeOrderGroups()
|
||||
{
|
||||
BigInteger bigInteger = new BigInteger("fd7f53811d75122952df4a9c2eece4e7f611b7523cef4400c31e3f80b6512669455d402251fb593d8d58fabfc5f5ba30f6cb9b556cd7813b801d346ff26660b76b9950a5a49f9fe8047b1022c24fbba9d7feb7c61bf83b57e7c6a8a6150f04fb83f6d3c51ec3023554135a169132f675f3ae2b61d72aeff22203199dd14801c7", 16);
|
||||
BigInteger bigInteger2 = new BigInteger("9760508f15230bccb292b982a2eb840bf0581cf5", 16);
|
||||
BigInteger bigInteger3 = new BigInteger("f7e1a085d69b3ddecbbcab5c36b857b97994afbbfa3aea82f9574c0b3d0782675159578ebad4594fe67107108180b449167123e84c281613b7cf09328cc8a6e13c167a8b547c8d28e0a3ae1e2bb3a675916ea37f0bfa213562f1fb627a01243bcca4f1bea8519089a883dfe15ae59f06928b665e807b552564014c3bfecf492a", 16);
|
||||
ulong num;
|
||||
JPakePrimeOrderGroups.SUN_JCE_1024 = new JPakePrimeOrderGroup(bigInteger, bigInteger2, bigInteger3, num != 0UL);
|
||||
BigInteger bigInteger4 = new BigInteger("C196BA05AC29E1F9C3C72D56DFFC6154A033F1477AC88EC37F09BE6C5BB95F51C296DD20D1A28A067CCC4D4316A4BD1DCA55ED1066D438C35AEBAABF57E7DAE428782A95ECA1C143DB701FD48533A3C18F0FE23557EA7AE619ECACC7E0B51652A8776D02A425567DED36EABD90CA33A1E8D988F0BBB92D02D1D20290113BB562CE1FC856EEB7CDD92D33EEA6F410859B179E7E789A8F75F645FAE2E136D252BFFAFF89528945C1ABE705A38DBC2D364AADE99BE0D0AAD82E5320121496DC65B3930E38047294FF877831A16D5228418DE8AB275D7D75651CEFED65F78AFC3EA7FE4D79B35F62A0402A1117599ADAC7B269A59F353CF450E6982D3B1702D9CA83", 16);
|
||||
BigInteger bigInteger5 = new BigInteger("90EAF4D1AF0708B1B612FF35E0A2997EB9E9D263C9CE659528945C0D", 16);
|
||||
BigInteger bigInteger6 = new BigInteger("A59A749A11242C58C894E9E5A91804E8FA0AC64B56288F8D47D51B1EDC4D65444FECA0111D78F35FC9FDD4CB1F1B79A3BA9CBEE83A3F811012503C8117F98E5048B089E387AF6949BF8784EBD9EF45876F2E6A5A495BE64B6E770409494B7FEE1DBB1E4B2BC2A53D4F893D418B7159592E4FFFDF6969E91D770DAEBD0B5CB14C00AD68EC7DC1E5745EA55C706C4A1C5C88964E34D09DEB753AD418C1AD0F4FDFD049A955E5D78491C0B7A2F1575A008CCD727AB376DB6E695515B05BD412F5B8C2F4C77EE10DA48ABD53F5DD498927EE7B692BBBCDA2FB23A516C5B4533D73980B2A3B60E384ED200AE21B40D273651AD6060C13D97FD69AA13C5611A51B9085", 16);
|
||||
ulong num2;
|
||||
JPakePrimeOrderGroups.NIST_2048 = new JPakePrimeOrderGroup(bigInteger4, bigInteger5, bigInteger6, num2 != 0UL);
|
||||
BigInteger bigInteger7 = new BigInteger("90066455B5CFC38F9CAA4A48B4281F292C260FEEF01FD61037E56258A7795A1C7AD46076982CE6BB956936C6AB4DCFE05E6784586940CA544B9B2140E1EB523F009D20A7E7880E4E5BFA690F1B9004A27811CD9904AF70420EEFD6EA11EF7DA129F58835FF56B89FAA637BC9AC2EFAAB903402229F491D8D3485261CD068699B6BA58A1DDBBEF6DB51E8FE34E8A78E542D7BA351C21EA8D8F1D29F5D5D15939487E27F4416B0CA632C59EFD1B1EB66511A5A0FBF615B766C5862D0BD8A3FE7A0E0DA0FB2FE1FCB19E8F9996A8EA0FCCDE538175238FC8B0EE6F29AF7F642773EBE8CD5402415A01451A840476B2FCEB0E388D30D4B376C37FE401C2A2C2F941DAD179C540C1C8CE030D460C4D983BE9AB0B20F69144C1AE13F9383EA1C08504FB0BF321503EFE43488310DD8DC77EC5B8349B8BFE97C2C560EA878DE87C11E3D597F1FEA742D73EEC7F37BE43949EF1A0D15C3F3E3FC0A8335617055AC91328EC22B50FC15B941D3D1624CD88BC25F3E941FDDC6200689581BFEC416B4B2CB73", 16);
|
||||
BigInteger bigInteger8 = new BigInteger("CFA0478A54717B08CE64805B76E5B14249A77A4838469DF7F7DC987EFCCFB11D", 16);
|
||||
BigInteger bigInteger9 = new BigInteger("5E5CBA992E0A680D885EB903AEA78E4A45A469103D448EDE3B7ACCC54D521E37F84A4BDD5B06B0970CC2D2BBB715F7B82846F9A0C393914C792E6A923E2117AB805276A975AADB5261D91673EA9AAFFEECBFA6183DFCB5D3B7332AA19275AFA1F8EC0B60FB6F66CC23AE4870791D5982AAD1AA9485FD8F4A60126FEB2CF05DB8A7F0F09B3397F3937F2E90B9E5B9C9B6EFEF642BC48351C46FB171B9BFA9EF17A961CE96C7E7A7CC3D3D03DFAD1078BA21DA425198F07D2481622BCE45969D9C4D6063D72AB7A0F08B2F49A7CC6AF335E08C4720E31476B67299E231F8BD90B39AC3AE3BE0C6B6CACEF8289A2E2873D58E51E029CAFBD55E6841489AB66B5B4B9BA6E2F784660896AFF387D92844CCB8B69475496DE19DA2E58259B090489AC8E62363CDF82CFD8EF2A427ABCD65750B506F56DDE3B988567A88126B914D7828E2B63A6D7ED0747EC59E0E0A23CE7D8A74C1D2C2A7AFB6A29799620F00E11C33787F7DED3B30E1A22D09F1FBDA1ABBBFBF25CAE05A13F812E34563F99410E73B", 16);
|
||||
ulong num3;
|
||||
JPakePrimeOrderGroups.NIST_3072 = new JPakePrimeOrderGroup(bigInteger7, bigInteger8, bigInteger9, num3 != 0UL);
|
||||
}
|
||||
|
||||
// Token: 0x04007834 RID: 30772
|
||||
[Token(Token = "0x4007834")]
|
||||
public static readonly JPakePrimeOrderGroup SUN_JCE_1024;
|
||||
|
||||
// Token: 0x04007835 RID: 30773
|
||||
[Token(Token = "0x4007835")]
|
||||
public static readonly JPakePrimeOrderGroup NIST_2048;
|
||||
|
||||
// Token: 0x04007836 RID: 30774
|
||||
[Token(Token = "0x4007836")]
|
||||
public static readonly JPakePrimeOrderGroup NIST_3072;
|
||||
}
|
||||
}
|
||||
+135
@@ -0,0 +1,135 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake
|
||||
{
|
||||
// Token: 0x02001D1C RID: 7452
|
||||
[Token(Token = "0x2001D1C")]
|
||||
public class JPakeRound1Payload
|
||||
{
|
||||
// Token: 0x0600BCB3 RID: 48307 RVA: 0x002AF060 File Offset: 0x002AD260
|
||||
[Token(Token = "0x600BCB3")]
|
||||
[Address(RVA = "0x200C6E0", Offset = "0x200B4E0", VA = "0x18200C6E0")]
|
||||
public JPakeRound1Payload(string participantId, BigInteger gx1, BigInteger gx2, BigInteger[] knowledgeProofForX1, BigInteger[] knowledgeProofForX2)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BCB3)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake.JPakeRound1Payload::.ctor(System.String,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger[],BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_5E:
|
||||
stloc:ArgumentNullException(var_3_68, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("participantId")))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x17001D3B RID: 7483
|
||||
// (get) Token: 0x0600BCB4 RID: 48308 RVA: 0x002AF0D8 File Offset: 0x002AD2D8
|
||||
[Token(Token = "0x17001D3B")]
|
||||
public virtual string ParticipantId
|
||||
{
|
||||
[Token(Token = "0x600BCB4")]
|
||||
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.participantId;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001D3C RID: 7484
|
||||
// (get) Token: 0x0600BCB5 RID: 48309 RVA: 0x002AF0EC File Offset: 0x002AD2EC
|
||||
[Token(Token = "0x17001D3C")]
|
||||
public virtual BigInteger Gx1
|
||||
{
|
||||
[Token(Token = "0x600BCB5")]
|
||||
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.gx1;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001D3D RID: 7485
|
||||
// (get) Token: 0x0600BCB6 RID: 48310 RVA: 0x002AF100 File Offset: 0x002AD300
|
||||
[Token(Token = "0x17001D3D")]
|
||||
public virtual BigInteger Gx2
|
||||
{
|
||||
[Token(Token = "0x600BCB6")]
|
||||
[Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.gx2;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001D3E RID: 7486
|
||||
// (get) Token: 0x0600BCB7 RID: 48311 RVA: 0x002AF114 File Offset: 0x002AD314
|
||||
[Token(Token = "0x17001D3E")]
|
||||
public virtual BigInteger[] KnowledgeProofForX1
|
||||
{
|
||||
[Token(Token = "0x600BCB7")]
|
||||
[Address(RVA = "0x200C980", Offset = "0x200B780", VA = "0x18200C980", Slot = "7")]
|
||||
get
|
||||
{
|
||||
BigInteger[] array = new BigInteger[this.knowledgeProofForX1.Length];
|
||||
BigInteger[] array2 = this.knowledgeProofForX1;
|
||||
int length = array2.Length;
|
||||
Array.Copy(array2, array, length);
|
||||
return array;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001D3F RID: 7487
|
||||
// (get) Token: 0x0600BCB8 RID: 48312 RVA: 0x002AF150 File Offset: 0x002AD350
|
||||
[Token(Token = "0x17001D3F")]
|
||||
public virtual BigInteger[] KnowledgeProofForX2
|
||||
{
|
||||
[Token(Token = "0x600BCB8")]
|
||||
[Address(RVA = "0x200C9F0", Offset = "0x200B7F0", VA = "0x18200C9F0", Slot = "8")]
|
||||
get
|
||||
{
|
||||
BigInteger[] array = new BigInteger[this.knowledgeProofForX2.Length];
|
||||
BigInteger[] array2 = this.knowledgeProofForX2;
|
||||
int length = array2.Length;
|
||||
Array.Copy(array2, array, length);
|
||||
return array;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04007837 RID: 30775
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007837")]
|
||||
private readonly string participantId;
|
||||
|
||||
// Token: 0x04007838 RID: 30776
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4007838")]
|
||||
private readonly BigInteger gx1;
|
||||
|
||||
// Token: 0x04007839 RID: 30777
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4007839")]
|
||||
private readonly BigInteger gx2;
|
||||
|
||||
// Token: 0x0400783A RID: 30778
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x400783A")]
|
||||
private readonly BigInteger[] knowledgeProofForX1;
|
||||
|
||||
// Token: 0x0400783B RID: 30779
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x400783B")]
|
||||
private readonly BigInteger[] knowledgeProofForX2;
|
||||
}
|
||||
}
|
||||
+95
@@ -0,0 +1,95 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake
|
||||
{
|
||||
// Token: 0x02001D1D RID: 7453
|
||||
[Token(Token = "0x2001D1D")]
|
||||
public class JPakeRound2Payload
|
||||
{
|
||||
// Token: 0x0600BCB9 RID: 48313 RVA: 0x002AF18C File Offset: 0x002AD38C
|
||||
[Token(Token = "0x600BCB9")]
|
||||
[Address(RVA = "0x200CA60", Offset = "0x200B860", VA = "0x18200CA60")]
|
||||
public JPakeRound2Payload(string participantId, BigInteger a, BigInteger[] knowledgeProofForX2s)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BCB9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake.JPakeRound2Payload::.ctor(System.String,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_4D:
|
||||
stloc:ArgumentNullException(var_3_57, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("participantId")))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x17001D40 RID: 7488
|
||||
// (get) Token: 0x0600BCBA RID: 48314 RVA: 0x002AF1F0 File Offset: 0x002AD3F0
|
||||
[Token(Token = "0x17001D40")]
|
||||
public virtual string ParticipantId
|
||||
{
|
||||
[Token(Token = "0x600BCBA")]
|
||||
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.participantId;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001D41 RID: 7489
|
||||
// (get) Token: 0x0600BCBB RID: 48315 RVA: 0x002AF204 File Offset: 0x002AD404
|
||||
[Token(Token = "0x17001D41")]
|
||||
public virtual BigInteger A
|
||||
{
|
||||
[Token(Token = "0x600BCBB")]
|
||||
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.a;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001D42 RID: 7490
|
||||
// (get) Token: 0x0600BCBC RID: 48316 RVA: 0x002AF218 File Offset: 0x002AD418
|
||||
[Token(Token = "0x17001D42")]
|
||||
public virtual BigInteger[] KnowledgeProofForX2s
|
||||
{
|
||||
[Token(Token = "0x600BCBC")]
|
||||
[Address(RVA = "0x200CC10", Offset = "0x200BA10", VA = "0x18200CC10", Slot = "6")]
|
||||
get
|
||||
{
|
||||
BigInteger[] array = new BigInteger[this.knowledgeProofForX2s.Length];
|
||||
BigInteger[] array2 = this.knowledgeProofForX2s;
|
||||
int length = array2.Length;
|
||||
Array.Copy(array2, array, length);
|
||||
return array;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0400783C RID: 30780
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400783C")]
|
||||
private readonly string participantId;
|
||||
|
||||
// Token: 0x0400783D RID: 30781
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400783D")]
|
||||
private readonly BigInteger a;
|
||||
|
||||
// Token: 0x0400783E RID: 30782
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x400783E")]
|
||||
private readonly BigInteger[] knowledgeProofForX2s;
|
||||
}
|
||||
}
|
||||
+56
@@ -0,0 +1,56 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake
|
||||
{
|
||||
// Token: 0x02001D1E RID: 7454
|
||||
[Token(Token = "0x2001D1E")]
|
||||
public class JPakeRound3Payload
|
||||
{
|
||||
// Token: 0x0600BCBD RID: 48317 RVA: 0x002AF254 File Offset: 0x002AD454
|
||||
[Token(Token = "0x600BCBD")]
|
||||
[Address(RVA = "0x4089A0", Offset = "0x4077A0", VA = "0x1804089A0")]
|
||||
public JPakeRound3Payload(string participantId, BigInteger magTag)
|
||||
{
|
||||
this.participantId = participantId;
|
||||
this.macTag = magTag;
|
||||
}
|
||||
|
||||
// Token: 0x17001D43 RID: 7491
|
||||
// (get) Token: 0x0600BCBE RID: 48318 RVA: 0x002AF278 File Offset: 0x002AD478
|
||||
[Token(Token = "0x17001D43")]
|
||||
public virtual string ParticipantId
|
||||
{
|
||||
[Token(Token = "0x600BCBE")]
|
||||
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.participantId;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001D44 RID: 7492
|
||||
// (get) Token: 0x0600BCBF RID: 48319 RVA: 0x002AF28C File Offset: 0x002AD48C
|
||||
[Token(Token = "0x17001D44")]
|
||||
public virtual BigInteger MacTag
|
||||
{
|
||||
[Token(Token = "0x600BCBF")]
|
||||
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.macTag;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0400783F RID: 30783
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400783F")]
|
||||
private readonly string participantId;
|
||||
|
||||
// Token: 0x04007840 RID: 30784
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4007840")]
|
||||
private readonly BigInteger macTag;
|
||||
}
|
||||
}
|
||||
+411
@@ -0,0 +1,411 @@
|
||||
using System;
|
||||
using System.Text;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Macs;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake
|
||||
{
|
||||
// Token: 0x02001D1F RID: 7455
|
||||
[Token(Token = "0x2001D1F")]
|
||||
public abstract class JPakeUtilities
|
||||
{
|
||||
// Token: 0x0600BCC0 RID: 48320 RVA: 0x002AF2A0 File Offset: 0x002AD4A0
|
||||
[Token(Token = "0x600BCC0")]
|
||||
[Address(RVA = "0x200D890", Offset = "0x200C690", VA = "0x18200D890")]
|
||||
public static BigInteger GenerateX1(BigInteger q, SecureRandom random)
|
||||
{
|
||||
BigInteger zero = JPakeUtilities.Zero;
|
||||
BigInteger one = JPakeUtilities.One;
|
||||
BigInteger bigInteger = q.Subtract(one);
|
||||
return BigIntegers.CreateRandomInRange(zero, bigInteger, random);
|
||||
}
|
||||
|
||||
// Token: 0x0600BCC1 RID: 48321 RVA: 0x002AF2D0 File Offset: 0x002AD4D0
|
||||
[Token(Token = "0x600BCC1")]
|
||||
[Address(RVA = "0x200D930", Offset = "0x200C730", VA = "0x18200D930")]
|
||||
public static BigInteger GenerateX2(BigInteger q, SecureRandom random)
|
||||
{
|
||||
BigInteger one = JPakeUtilities.One;
|
||||
BigInteger bigInteger = q.Subtract(one);
|
||||
return BigIntegers.CreateRandomInRange(one, bigInteger, random);
|
||||
}
|
||||
|
||||
// Token: 0x0600BCC2 RID: 48322 RVA: 0x002AF2FC File Offset: 0x002AD4FC
|
||||
[Token(Token = "0x600BCC2")]
|
||||
[Address(RVA = "0x200D5D0", Offset = "0x200C3D0", VA = "0x18200D5D0")]
|
||||
public static BigInteger CalculateS(char[] password)
|
||||
{
|
||||
Encoding utf = Encoding.UTF8;
|
||||
BigInteger bigInteger;
|
||||
return bigInteger;
|
||||
}
|
||||
|
||||
// Token: 0x0600BCC3 RID: 48323 RVA: 0x002AF318 File Offset: 0x002AD518
|
||||
[Token(Token = "0x600BCC3")]
|
||||
[Address(RVA = "0x1A2ACD0", Offset = "0x1A29AD0", VA = "0x181A2ACD0")]
|
||||
public static BigInteger CalculateGx(BigInteger p, BigInteger g, BigInteger x)
|
||||
{
|
||||
return g.ModPow(x, p);
|
||||
}
|
||||
|
||||
// Token: 0x0600BCC4 RID: 48324 RVA: 0x002AF334 File Offset: 0x002AD534
|
||||
[Token(Token = "0x600BCC4")]
|
||||
[Address(RVA = "0x200CCB0", Offset = "0x200BAB0", VA = "0x18200CCB0")]
|
||||
public static BigInteger CalculateGA(BigInteger p, BigInteger gx1, BigInteger gx3, BigInteger gx4)
|
||||
{
|
||||
return gx1.Multiply(gx3).Multiply(gx4).Mod(p);
|
||||
}
|
||||
|
||||
// Token: 0x0600BCC5 RID: 48325 RVA: 0x002AF35C File Offset: 0x002AD55C
|
||||
[Token(Token = "0x600BCC5")]
|
||||
[Address(RVA = "0x200D650", Offset = "0x200C450", VA = "0x18200D650")]
|
||||
public static BigInteger CalculateX2s(BigInteger q, BigInteger x2, BigInteger s)
|
||||
{
|
||||
return x2.Multiply(s).Mod(q);
|
||||
}
|
||||
|
||||
// Token: 0x0600BCC6 RID: 48326 RVA: 0x002AF37C File Offset: 0x002AD57C
|
||||
[Token(Token = "0x600BCC6")]
|
||||
[Address(RVA = "0x200CC80", Offset = "0x200BA80", VA = "0x18200CC80")]
|
||||
public static BigInteger CalculateA(BigInteger p, BigInteger q, BigInteger gA, BigInteger x2s)
|
||||
{
|
||||
return gA.ModPow(x2s, p);
|
||||
}
|
||||
|
||||
// Token: 0x0600BCC7 RID: 48327 RVA: 0x002AF398 File Offset: 0x002AD598
|
||||
[Token(Token = "0x600BCC7")]
|
||||
[Address(RVA = "0x200D690", Offset = "0x200C490", VA = "0x18200D690")]
|
||||
public static BigInteger[] CalculateZeroKnowledgeProof(BigInteger p, BigInteger q, BigInteger g, BigInteger gx, BigInteger x, string participantId, IDigest digest, SecureRandom random)
|
||||
{
|
||||
BigInteger zero = JPakeUtilities.Zero;
|
||||
BigInteger one = JPakeUtilities.One;
|
||||
BigInteger bigInteger = q.Subtract(one);
|
||||
BigInteger bigInteger3;
|
||||
BigInteger bigInteger2 = g.ModPow(bigInteger3, p);
|
||||
BigInteger[] array = new BigInteger[2];
|
||||
if (bigInteger2 != 0)
|
||||
{
|
||||
}
|
||||
array[0] = bigInteger2;
|
||||
BigInteger bigInteger5;
|
||||
BigInteger bigInteger4 = bigInteger3.Subtract(bigInteger5).Mod(q);
|
||||
if (bigInteger4 != 0)
|
||||
{
|
||||
}
|
||||
array[1] = bigInteger4;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600BCC8 RID: 48328 RVA: 0x002AF404 File Offset: 0x002AD604
|
||||
[Token(Token = "0x600BCC8")]
|
||||
[Address(RVA = "0x200CD10", Offset = "0x200BB10", VA = "0x18200CD10")]
|
||||
private static BigInteger CalculateHashForZeroKnowledgeProof(BigInteger g, BigInteger gr, BigInteger gx, string participantId, IDigest digest)
|
||||
{
|
||||
byte[] array = BigIntegers.AsUnsignedByteArray(g);
|
||||
byte[] array2 = BigIntegers.AsUnsignedByteArray(gr);
|
||||
byte[] array3 = BigIntegers.AsUnsignedByteArray(gx);
|
||||
Encoding utf = Encoding.UTF8;
|
||||
byte[] array4;
|
||||
return new BigInteger(array4);
|
||||
}
|
||||
|
||||
// Token: 0x0600BCC9 RID: 48329 RVA: 0x002AF43C File Offset: 0x002AD63C
|
||||
[Token(Token = "0x600BCC9")]
|
||||
[Address(RVA = "0x200DFC0", Offset = "0x200CDC0", VA = "0x18200DFC0")]
|
||||
public static void ValidateGx4(BigInteger gx4)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600BCCA RID: 48330 RVA: 0x002AF454 File Offset: 0x002AD654
|
||||
[Token(Token = "0x600BCCA")]
|
||||
[Address(RVA = "0x200DF10", Offset = "0x200CD10", VA = "0x18200DF10")]
|
||||
public static void ValidateGa(BigInteger ga)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600BCCB RID: 48331 RVA: 0x002AF46C File Offset: 0x002AD66C
|
||||
[Token(Token = "0x600BCCB")]
|
||||
[Address(RVA = "0x200E420", Offset = "0x200D220", VA = "0x18200E420")]
|
||||
public static void ValidateZeroKnowledgeProof(BigInteger p, BigInteger q, BigInteger g, BigInteger gx, BigInteger[] zeroKnowledgeProof, string participantId, IDigest digest)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BCCB)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake.JPakeUtilities::ValidateZeroKnowledgeProof(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger[],System.String,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_69:
|
||||
stloc:CryptoException(var_7_73, newobj:CryptoException(CryptoException::.ctor, ldstr:string("Zero-knowledge proof validation failed")))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600BCCC RID: 48332 RVA: 0x002AF4F0 File Offset: 0x002AD6F0
|
||||
[Token(Token = "0x600BCCC")]
|
||||
[Address(RVA = "0x200CF70", Offset = "0x200BD70", VA = "0x18200CF70")]
|
||||
public static BigInteger CalculateKeyingMaterial(BigInteger p, BigInteger q, BigInteger gx4, BigInteger x2, BigInteger s, BigInteger B)
|
||||
{
|
||||
BigInteger bigInteger2;
|
||||
BigInteger bigInteger = bigInteger2.Negate().Mod(q);
|
||||
BigInteger bigInteger3 = gx4.ModPow(bigInteger, p);
|
||||
BigInteger bigInteger4;
|
||||
return bigInteger4.ModPow(x2, p);
|
||||
}
|
||||
|
||||
// Token: 0x0600BCCD RID: 48333 RVA: 0x002AF524 File Offset: 0x002AD724
|
||||
[Token(Token = "0x600BCCD")]
|
||||
[Address(RVA = "0x200E200", Offset = "0x200D000", VA = "0x18200E200")]
|
||||
public static void ValidateParticipantIdsDiffer(string participantId1, string participantId2)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BCCD)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake.JPakeUtilities::ValidateParticipantIdsDiffer(System.String,System.String)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_0B:
|
||||
stloc:CryptoException(var_0_20, newobj:CryptoException(CryptoException::.ctor, call:string(string::Concat, ldstr:string("Both participants are using the same participantId ("), ldloc:string(participantId1), ldstr:string("). This is not allowed. Each participant must use a unique participantId."))))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600BCCE RID: 48334 RVA: 0x002AF554 File Offset: 0x002AD754
|
||||
[Token(Token = "0x600BCCE")]
|
||||
[Address(RVA = "0x200E2A0", Offset = "0x200D0A0", VA = "0x18200E2A0")]
|
||||
public static void ValidateParticipantIdsEqual(string expectedParticipantId, string actualParticipantId)
|
||||
{
|
||||
if (expectedParticipantId.Equals(actualParticipantId))
|
||||
{
|
||||
return;
|
||||
}
|
||||
string[] array = new string[5];
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600BCCF RID: 48335 RVA: 0x002AF5E0 File Offset: 0x002AD7E0
|
||||
[Token(Token = "0x600BCCF")]
|
||||
[Address(RVA = "0x200E190", Offset = "0x200CF90", VA = "0x18200E190")]
|
||||
public static void ValidateNotNull(object obj, string description)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BCCF)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake.JPakeUtilities::ValidateNotNull(System.Object,System.String)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_05:
|
||||
stloc:ArgumentNullException(var_0_0B, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldloc:string(description)))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600BCD0 RID: 48336 RVA: 0x002AF5F8 File Offset: 0x002AD7F8
|
||||
[Token(Token = "0x600BCD0")]
|
||||
[Address(RVA = "0x200D1A0", Offset = "0x200BFA0", VA = "0x18200D1A0")]
|
||||
public static BigInteger CalculateMacTag(string participantId, string partnerParticipantId, BigInteger gx1, BigInteger gx2, BigInteger gx3, BigInteger gx4, BigInteger keyingMaterial, IDigest digest)
|
||||
{
|
||||
Encoding utf = Encoding.UTF8;
|
||||
byte[] array;
|
||||
KeyParameter keyParameter = new KeyParameter(array);
|
||||
HMac hmac;
|
||||
IDigest underlyingDigest = hmac.GetUnderlyingDigest();
|
||||
int num = 0;
|
||||
Arrays.Fill(array, (byte)num);
|
||||
JPakeUtilities.UpdateMac(hmac, "KC_1_U");
|
||||
JPakeUtilities.UpdateMac(hmac, participantId);
|
||||
JPakeUtilities.UpdateMac(hmac, partnerParticipantId);
|
||||
byte[] array2 = BigIntegers.AsUnsignedByteArray(gx1);
|
||||
JPakeUtilities.UpdateMac(hmac, array2);
|
||||
byte[] array3 = BigIntegers.AsUnsignedByteArray(gx2);
|
||||
JPakeUtilities.UpdateMac(hmac, array3);
|
||||
byte[] array4;
|
||||
JPakeUtilities.UpdateMac(hmac, array4);
|
||||
byte[] array5;
|
||||
JPakeUtilities.UpdateMac(hmac, array5);
|
||||
return new BigInteger(MacUtilities.DoFinal(hmac));
|
||||
}
|
||||
|
||||
// Token: 0x0600BCD1 RID: 48337 RVA: 0x002AF690 File Offset: 0x002AD890
|
||||
[Token(Token = "0x600BCD1")]
|
||||
[Address(RVA = "0x200D030", Offset = "0x200BE30", VA = "0x18200D030")]
|
||||
private static byte[] CalculateMacKey(BigInteger keyingMaterial, IDigest digest)
|
||||
{
|
||||
byte[] array = BigIntegers.AsUnsignedByteArray(keyingMaterial);
|
||||
JPakeUtilities.UpdateDigest(digest, array);
|
||||
Encoding utf = Encoding.UTF8;
|
||||
return DigestUtilities.DoFinal(digest);
|
||||
}
|
||||
|
||||
// Token: 0x0600BCD2 RID: 48338 RVA: 0x002AF6C0 File Offset: 0x002AD8C0
|
||||
[Token(Token = "0x600BCD2")]
|
||||
[Address(RVA = "0x200E070", Offset = "0x200CE70", VA = "0x18200E070")]
|
||||
public static void ValidateMacTag(string participantId, string partnerParticipantId, BigInteger gx1, BigInteger gx2, BigInteger gx3, BigInteger gx4, BigInteger keyingMaterial, IDigest digest, BigInteger partnerMacTag)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BCD2)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake.JPakeUtilities::ValidateMacTag(System.String,System.String,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_05:
|
||||
stloc:CryptoException(var_2_0F, newobj:CryptoException(CryptoException::.ctor, ldstr:string("Partner MacTag validation failed. Therefore, the password, MAC, or digest algorithm of each participant does not match.")))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600BCD3 RID: 48339 RVA: 0x002AF6DC File Offset: 0x002AD8DC
|
||||
[Token(Token = "0x600BCD3")]
|
||||
[Address(RVA = "0x200DBD0", Offset = "0x200C9D0", VA = "0x18200DBD0")]
|
||||
private static void UpdateDigest(IDigest digest, BigInteger bigInteger)
|
||||
{
|
||||
byte[] array = BigIntegers.AsUnsignedByteArray(bigInteger);
|
||||
JPakeUtilities.UpdateDigest(digest, array);
|
||||
}
|
||||
|
||||
// Token: 0x0600BCD4 RID: 48340 RVA: 0x002AF6F8 File Offset: 0x002AD8F8
|
||||
[Token(Token = "0x600BCD4")]
|
||||
[Address(RVA = "0x200DCE0", Offset = "0x200CAE0", VA = "0x18200DCE0")]
|
||||
private static void UpdateDigest(IDigest digest, string str)
|
||||
{
|
||||
Encoding utf = Encoding.UTF8;
|
||||
}
|
||||
|
||||
// Token: 0x0600BCD5 RID: 48341 RVA: 0x002AF714 File Offset: 0x002AD914
|
||||
[Token(Token = "0x600BCD5")]
|
||||
[Address(RVA = "0x200DC40", Offset = "0x200CA40", VA = "0x18200DC40")]
|
||||
private static void UpdateDigest(IDigest digest, byte[] bytes)
|
||||
{
|
||||
int length = bytes.Length;
|
||||
int num = 0;
|
||||
Arrays.Fill(bytes, (byte)num);
|
||||
}
|
||||
|
||||
// Token: 0x0600BCD6 RID: 48342 RVA: 0x002AF738 File Offset: 0x002AD938
|
||||
[Token(Token = "0x600BCD6")]
|
||||
[Address(RVA = "0x200D9E0", Offset = "0x200C7E0", VA = "0x18200D9E0")]
|
||||
private static void UpdateDigestIncludingSize(IDigest digest, BigInteger bigInteger)
|
||||
{
|
||||
byte[] array = BigIntegers.AsUnsignedByteArray(bigInteger);
|
||||
JPakeUtilities.UpdateDigestIncludingSize(digest, array);
|
||||
}
|
||||
|
||||
// Token: 0x0600BCD7 RID: 48343 RVA: 0x002AF754 File Offset: 0x002AD954
|
||||
[Token(Token = "0x600BCD7")]
|
||||
[Address(RVA = "0x200DB40", Offset = "0x200C940", VA = "0x18200DB40")]
|
||||
private static void UpdateDigestIncludingSize(IDigest digest, string str)
|
||||
{
|
||||
Encoding utf = Encoding.UTF8;
|
||||
}
|
||||
|
||||
// Token: 0x0600BCD8 RID: 48344 RVA: 0x002AF770 File Offset: 0x002AD970
|
||||
[Token(Token = "0x600BCD8")]
|
||||
[Address(RVA = "0x200DA50", Offset = "0x200C850", VA = "0x18200DA50")]
|
||||
private static void UpdateDigestIncludingSize(IDigest digest, byte[] bytes)
|
||||
{
|
||||
byte[] array = Pack.UInt32_To_BE((uint)bytes.Length);
|
||||
int length = bytes.Length;
|
||||
int num = 0;
|
||||
Arrays.Fill(bytes, (byte)num);
|
||||
}
|
||||
|
||||
// Token: 0x0600BCD9 RID: 48345 RVA: 0x002AF7A4 File Offset: 0x002AD9A4
|
||||
[Token(Token = "0x600BCD9")]
|
||||
[Address(RVA = "0x200DD70", Offset = "0x200CB70", VA = "0x18200DD70")]
|
||||
private static void UpdateMac(IMac mac, BigInteger bigInteger)
|
||||
{
|
||||
byte[] array = BigIntegers.AsUnsignedByteArray(bigInteger);
|
||||
JPakeUtilities.UpdateMac(mac, array);
|
||||
}
|
||||
|
||||
// Token: 0x0600BCDA RID: 48346 RVA: 0x002AF7C0 File Offset: 0x002AD9C0
|
||||
[Token(Token = "0x600BCDA")]
|
||||
[Address(RVA = "0x200DE80", Offset = "0x200CC80", VA = "0x18200DE80")]
|
||||
private static void UpdateMac(IMac mac, string str)
|
||||
{
|
||||
Encoding utf = Encoding.UTF8;
|
||||
}
|
||||
|
||||
// Token: 0x0600BCDB RID: 48347 RVA: 0x002AF7DC File Offset: 0x002AD9DC
|
||||
[Token(Token = "0x600BCDB")]
|
||||
[Address(RVA = "0x200DDE0", Offset = "0x200CBE0", VA = "0x18200DDE0")]
|
||||
private static void UpdateMac(IMac mac, byte[] bytes)
|
||||
{
|
||||
int length = bytes.Length;
|
||||
int num = 0;
|
||||
Arrays.Fill(bytes, (byte)num);
|
||||
}
|
||||
|
||||
// Token: 0x0600BCDC RID: 48348 RVA: 0x002AF800 File Offset: 0x002ADA00
|
||||
[Token(Token = "0x600BCDC")]
|
||||
[Address(RVA = "0x200D9D0", Offset = "0x200C7D0", VA = "0x18200D9D0")]
|
||||
private static byte[] IntToByteArray(int value)
|
||||
{
|
||||
return Pack.UInt32_To_BE((uint)value);
|
||||
}
|
||||
|
||||
// Token: 0x0600BCDD RID: 48349 RVA: 0x002AF814 File Offset: 0x002ADA14
|
||||
[Token(Token = "0x600BCDD")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected JPakeUtilities()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04007841 RID: 30785
|
||||
[Token(Token = "0x4007841")]
|
||||
public static readonly BigInteger Zero = BigInteger.Zero;
|
||||
|
||||
// Token: 0x04007842 RID: 30786
|
||||
[Token(Token = "0x4007842")]
|
||||
public static readonly BigInteger One = BigInteger.One;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user