Files
Jan2021-Cpp2Il-Dump/Assembly-CSharp/BestHTTP/SecureProtocol/Org/BouncyCastle/Crypto/Agreement/JPake/JPakeUtilities.cs
T
2026-04-08 23:40:05 +02:00

414 lines
25 KiB
C#

using System;
using System.Runtime.InteropServices;
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: 0x02001742 RID: 5954
[Token(Token = "0x2001742")]
[StructLayout(3)]
public abstract class JPakeUtilities
{
// Token: 0x0600A0E6 RID: 41190 RVA: 0x00256DB4 File Offset: 0x00254FB4
[Token(Token = "0x600A0E6")]
[Address(RVA = "0x65CCF0", Offset = "0x65B6F0", VA = "0x18065CCF0")]
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: 0x0600A0E7 RID: 41191 RVA: 0x00256DE4 File Offset: 0x00254FE4
[Token(Token = "0x600A0E7")]
[Address(RVA = "0x65CD90", Offset = "0x65B790", VA = "0x18065CD90")]
public static BigInteger GenerateX2(BigInteger q, SecureRandom random)
{
BigInteger one = JPakeUtilities.One;
BigInteger bigInteger = q.Subtract(one);
return BigIntegers.CreateRandomInRange(one, bigInteger, random);
}
// Token: 0x0600A0E8 RID: 41192 RVA: 0x00256E10 File Offset: 0x00255010
[Token(Token = "0x600A0E8")]
[Address(RVA = "0x65CA30", Offset = "0x65B430", VA = "0x18065CA30")]
public static BigInteger CalculateS(char[] password)
{
Encoding utf = Encoding.UTF8;
BigInteger bigInteger;
return bigInteger;
}
// Token: 0x0600A0E9 RID: 41193 RVA: 0x00256E2C File Offset: 0x0025502C
[Token(Token = "0x600A0E9")]
[Address(RVA = "0x65C140", Offset = "0x65AB40", VA = "0x18065C140")]
public static BigInteger CalculateGx(BigInteger p, BigInteger g, BigInteger x)
{
return g.ModPow(x, p);
}
// Token: 0x0600A0EA RID: 41194 RVA: 0x00256E48 File Offset: 0x00255048
[Token(Token = "0x600A0EA")]
[Address(RVA = "0x65C0E0", Offset = "0x65AAE0", VA = "0x18065C0E0")]
public static BigInteger CalculateGA(BigInteger p, BigInteger gx1, BigInteger gx3, BigInteger gx4)
{
return gx1.Multiply(gx3).Multiply(gx4).Mod(p);
}
// Token: 0x0600A0EB RID: 41195 RVA: 0x00256E70 File Offset: 0x00255070
[Token(Token = "0x600A0EB")]
[Address(RVA = "0x65CAB0", Offset = "0x65B4B0", VA = "0x18065CAB0")]
public static BigInteger CalculateX2s(BigInteger q, BigInteger x2, BigInteger s)
{
return x2.Multiply(s).Mod(q);
}
// Token: 0x0600A0EC RID: 41196 RVA: 0x00256E90 File Offset: 0x00255090
[Token(Token = "0x600A0EC")]
[Address(RVA = "0x65C0B0", Offset = "0x65AAB0", VA = "0x18065C0B0")]
public static BigInteger CalculateA(BigInteger p, BigInteger q, BigInteger gA, BigInteger x2s)
{
return gA.ModPow(x2s, p);
}
// Token: 0x0600A0ED RID: 41197 RVA: 0x00256EAC File Offset: 0x002550AC
[Token(Token = "0x600A0ED")]
[Address(RVA = "0x65CAF0", Offset = "0x65B4F0", VA = "0x18065CAF0")]
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: 0x0600A0EE RID: 41198 RVA: 0x00256F18 File Offset: 0x00255118
[Token(Token = "0x600A0EE")]
[Address(RVA = "0x65C170", Offset = "0x65AB70", VA = "0x18065C170")]
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: 0x0600A0EF RID: 41199 RVA: 0x00256F50 File Offset: 0x00255150
[Token(Token = "0x600A0EF")]
[Address(RVA = "0x65D420", Offset = "0x65BE20", VA = "0x18065D420")]
public static void ValidateGx4(BigInteger gx4)
{
}
// Token: 0x0600A0F0 RID: 41200 RVA: 0x00256F68 File Offset: 0x00255168
[Token(Token = "0x600A0F0")]
[Address(RVA = "0x65D370", Offset = "0x65BD70", VA = "0x18065D370")]
public static void ValidateGa(BigInteger ga)
{
}
// Token: 0x0600A0F1 RID: 41201 RVA: 0x00256F80 File Offset: 0x00255180
[Token(Token = "0x600A0F1")]
[Address(RVA = "0x65D880", Offset = "0x65C280", VA = "0x18065D880")]
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 (0600A0F1)
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 1663
*/;
}
// Token: 0x0600A0F2 RID: 41202 RVA: 0x00257004 File Offset: 0x00255204
[Token(Token = "0x600A0F2")]
[Address(RVA = "0x65C3D0", Offset = "0x65ADD0", VA = "0x18065C3D0")]
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: 0x0600A0F3 RID: 41203 RVA: 0x00257038 File Offset: 0x00255238
[Token(Token = "0x600A0F3")]
[Address(RVA = "0x65D660", Offset = "0x65C060", VA = "0x18065D660")]
public static void ValidateParticipantIdsDiffer(string participantId1, string participantId2)
{
/*
An exception occurred when decompiling this method (0600A0F3)
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 1663
*/;
}
// Token: 0x0600A0F4 RID: 41204 RVA: 0x00257068 File Offset: 0x00255268
[Token(Token = "0x600A0F4")]
[Address(RVA = "0x65D700", Offset = "0x65C100", VA = "0x18065D700")]
public static void ValidateParticipantIdsEqual(string expectedParticipantId, string actualParticipantId)
{
if (expectedParticipantId.Equals(actualParticipantId))
{
return;
}
string[] array = new string[5];
throw new NullReferenceException();
}
// Token: 0x0600A0F5 RID: 41205 RVA: 0x002570F4 File Offset: 0x002552F4
[Token(Token = "0x600A0F5")]
[Address(RVA = "0x65D5F0", Offset = "0x65BFF0", VA = "0x18065D5F0")]
public static void ValidateNotNull(object obj, string description)
{
/*
An exception occurred when decompiling this method (0600A0F5)
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 1663
*/;
}
// Token: 0x0600A0F6 RID: 41206 RVA: 0x0025710C File Offset: 0x0025530C
[Token(Token = "0x600A0F6")]
[Address(RVA = "0x65C600", Offset = "0x65B000", VA = "0x18065C600")]
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: 0x0600A0F7 RID: 41207 RVA: 0x002571A4 File Offset: 0x002553A4
[Token(Token = "0x600A0F7")]
[Address(RVA = "0x65C490", Offset = "0x65AE90", VA = "0x18065C490")]
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: 0x0600A0F8 RID: 41208 RVA: 0x002571D4 File Offset: 0x002553D4
[Token(Token = "0x600A0F8")]
[Address(RVA = "0x65D4D0", Offset = "0x65BED0", VA = "0x18065D4D0")]
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 (0600A0F8)
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 1663
*/;
}
// Token: 0x0600A0F9 RID: 41209 RVA: 0x002571F0 File Offset: 0x002553F0
[Token(Token = "0x600A0F9")]
[Address(RVA = "0x65D030", Offset = "0x65BA30", VA = "0x18065D030")]
private static void UpdateDigest(IDigest digest, BigInteger bigInteger)
{
byte[] array = BigIntegers.AsUnsignedByteArray(bigInteger);
JPakeUtilities.UpdateDigest(digest, array);
}
// Token: 0x0600A0FA RID: 41210 RVA: 0x0025720C File Offset: 0x0025540C
[Token(Token = "0x600A0FA")]
[Address(RVA = "0x65D140", Offset = "0x65BB40", VA = "0x18065D140")]
private static void UpdateDigest(IDigest digest, string str)
{
Encoding utf = Encoding.UTF8;
}
// Token: 0x0600A0FB RID: 41211 RVA: 0x00257228 File Offset: 0x00255428
[Token(Token = "0x600A0FB")]
[Address(RVA = "0x65D0A0", Offset = "0x65BAA0", VA = "0x18065D0A0")]
private static void UpdateDigest(IDigest digest, byte[] bytes)
{
int length = bytes.Length;
int num = 0;
Arrays.Fill(bytes, (byte)num);
}
// Token: 0x0600A0FC RID: 41212 RVA: 0x0025724C File Offset: 0x0025544C
[Token(Token = "0x600A0FC")]
[Address(RVA = "0x65CE40", Offset = "0x65B840", VA = "0x18065CE40")]
private static void UpdateDigestIncludingSize(IDigest digest, BigInteger bigInteger)
{
byte[] array = BigIntegers.AsUnsignedByteArray(bigInteger);
JPakeUtilities.UpdateDigestIncludingSize(digest, array);
}
// Token: 0x0600A0FD RID: 41213 RVA: 0x00257268 File Offset: 0x00255468
[Token(Token = "0x600A0FD")]
[Address(RVA = "0x65CFA0", Offset = "0x65B9A0", VA = "0x18065CFA0")]
private static void UpdateDigestIncludingSize(IDigest digest, string str)
{
Encoding utf = Encoding.UTF8;
}
// Token: 0x0600A0FE RID: 41214 RVA: 0x00257284 File Offset: 0x00255484
[Token(Token = "0x600A0FE")]
[Address(RVA = "0x65CEB0", Offset = "0x65B8B0", VA = "0x18065CEB0")]
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: 0x0600A0FF RID: 41215 RVA: 0x002572B8 File Offset: 0x002554B8
[Token(Token = "0x600A0FF")]
[Address(RVA = "0x65D1D0", Offset = "0x65BBD0", VA = "0x18065D1D0")]
private static void UpdateMac(IMac mac, BigInteger bigInteger)
{
byte[] array = BigIntegers.AsUnsignedByteArray(bigInteger);
JPakeUtilities.UpdateMac(mac, array);
}
// Token: 0x0600A100 RID: 41216 RVA: 0x002572D4 File Offset: 0x002554D4
[Token(Token = "0x600A100")]
[Address(RVA = "0x65D2E0", Offset = "0x65BCE0", VA = "0x18065D2E0")]
private static void UpdateMac(IMac mac, string str)
{
Encoding utf = Encoding.UTF8;
}
// Token: 0x0600A101 RID: 41217 RVA: 0x002572F0 File Offset: 0x002554F0
[Token(Token = "0x600A101")]
[Address(RVA = "0x65D240", Offset = "0x65BC40", VA = "0x18065D240")]
private static void UpdateMac(IMac mac, byte[] bytes)
{
int length = bytes.Length;
int num = 0;
Arrays.Fill(bytes, (byte)num);
}
// Token: 0x0600A102 RID: 41218 RVA: 0x00257314 File Offset: 0x00255514
[Token(Token = "0x600A102")]
[Address(RVA = "0x65CE30", Offset = "0x65B830", VA = "0x18065CE30")]
private static byte[] IntToByteArray(int value)
{
return Pack.UInt32_To_BE((uint)value);
}
// Token: 0x0600A103 RID: 41219 RVA: 0x00257328 File Offset: 0x00255528
[Token(Token = "0x600A103")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
protected JPakeUtilities()
{
}
// Token: 0x040069FE RID: 27134
[Token(Token = "0x40069FE")]
public static readonly BigInteger Zero = BigInteger.Zero;
// Token: 0x040069FF RID: 27135
[Token(Token = "0x40069FF")]
public static readonly BigInteger One = BigInteger.One;
}
}