oh dear
This commit is contained in:
+314
@@ -0,0 +1,314 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Field;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb
|
||||
{
|
||||
// Token: 0x02001ABA RID: 6842
|
||||
[Token(Token = "0x2001ABA")]
|
||||
internal class Curve25519 : AbstractFpCurve
|
||||
{
|
||||
// Token: 0x0600A9C2 RID: 43458 RVA: 0x0025172C File Offset: 0x0024F92C
|
||||
[Token(Token = "0x600A9C2")]
|
||||
[Address(RVA = "0x1ED1B60", Offset = "0x1ED0960", VA = "0x181ED1B60")]
|
||||
public Curve25519()
|
||||
{
|
||||
IFiniteField primeField = FiniteFields.GetPrimeField(Curve25519.q);
|
||||
base..ctor(primeField);
|
||||
int num;
|
||||
int num2;
|
||||
ulong num3;
|
||||
Curve25519Point curve25519Point = new Curve25519Point(this, num, num2, num3 != 0UL);
|
||||
num2 = 0;
|
||||
num = 0;
|
||||
this.m_infinity = curve25519Point;
|
||||
byte[] array = Hex.Decode("2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA984914A144");
|
||||
BigInteger bigInteger = new BigInteger(1, array);
|
||||
int fieldSize = this.FieldSize;
|
||||
this.m_a = fieldSize;
|
||||
byte[] array2 = Hex.Decode("7B425ED097B425ED097B425ED097B425ED097B425ED097B4260B5E9C7710C864");
|
||||
BigInteger bigInteger2 = new BigInteger(1, array2);
|
||||
int fieldSize2 = this.FieldSize;
|
||||
this.m_b = fieldSize2;
|
||||
byte[] array3 = Hex.Decode("1000000000000000000000000000000014DEF9DEA2F79CD65812631A5CF5D3ED");
|
||||
BigInteger bigInteger3 = new BigInteger(1, array3);
|
||||
this.m_order = bigInteger3;
|
||||
BigInteger bigInteger4;
|
||||
this.m_cofactor = bigInteger4;
|
||||
this.m_coord = (int)((ulong)4L);
|
||||
}
|
||||
|
||||
// Token: 0x0600A9C3 RID: 43459 RVA: 0x002517E0 File Offset: 0x0024F9E0
|
||||
[Token(Token = "0x600A9C3")]
|
||||
[Address(RVA = "0x1ED1530", Offset = "0x1ED0330", VA = "0x181ED1530", Slot = "12")]
|
||||
protected override ECCurve CloneCurve()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9C3)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519::CloneCurve()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:Curve25519(var_0_05, newobj:Curve25519(Curve25519::.ctor))
|
||||
}
|
||||
|
||||
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: 0x0600A9C4 RID: 43460 RVA: 0x002517F4 File Offset: 0x0024F9F4
|
||||
[Token(Token = "0x600A9C4")]
|
||||
[Address(RVA = "0x1ED1AE0", Offset = "0x1ED08E0", VA = "0x181ED1AE0", Slot = "16")]
|
||||
public override bool SupportsCoordinateSystem(int coord)
|
||||
{
|
||||
return coord == 4;
|
||||
}
|
||||
|
||||
// Token: 0x17001B04 RID: 6916
|
||||
// (get) Token: 0x0600A9C5 RID: 43461 RVA: 0x00251808 File Offset: 0x0024FA08
|
||||
[Token(Token = "0x17001B04")]
|
||||
public virtual BigInteger Q
|
||||
{
|
||||
[Token(Token = "0x600A9C5")]
|
||||
[Address(RVA = "0x1ED1DF0", Offset = "0x1ED0BF0", VA = "0x181ED1DF0", Slot = "38")]
|
||||
get
|
||||
{
|
||||
return Curve25519.q;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B05 RID: 6917
|
||||
// (get) Token: 0x0600A9C6 RID: 43462 RVA: 0x0025181C File Offset: 0x0024FA1C
|
||||
[Token(Token = "0x17001B05")]
|
||||
public override ECPoint Infinity
|
||||
{
|
||||
[Token(Token = "0x600A9C6")]
|
||||
[Address(RVA = "0x415290", Offset = "0x414090", VA = "0x180415290", Slot = "22")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9C6)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519::get_Infinity()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:Curve25519Point(var_0_06, ldfld:Curve25519Point(Curve25519::m_infinity, ldloc:Curve25519(this)))
|
||||
}
|
||||
|
||||
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: 0x17001B06 RID: 6918
|
||||
// (get) Token: 0x0600A9C7 RID: 43463 RVA: 0x00251830 File Offset: 0x0024FA30
|
||||
[Token(Token = "0x17001B06")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600A9C7")]
|
||||
[Address(RVA = "0x1ED1D80", Offset = "0x1ED0B80", VA = "0x181ED1D80", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return Curve25519.q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A9C8 RID: 43464 RVA: 0x00251850 File Offset: 0x0024FA50
|
||||
[Token(Token = "0x600A9C8")]
|
||||
[Address(RVA = "0x1ED1910", Offset = "0x1ED0710", VA = "0x181ED1910", Slot = "5")]
|
||||
public override ECFieldElement FromBigInteger(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9C8)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_45:
|
||||
stloc:ArgumentException(var_6_54, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for Curve25519FieldElement"), ldstr:string("x")))
|
||||
}
|
||||
|
||||
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: 0x0600A9C9 RID: 43465 RVA: 0x002518B4 File Offset: 0x0024FAB4
|
||||
[Token(Token = "0x600A9C9")]
|
||||
[Address(RVA = "0x1ED17E0", Offset = "0x1ED05E0", VA = "0x181ED17E0", Slot = "13")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9C9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:Curve25519Point(var_0_09, newobj:Curve25519Point(Curve25519Point::.ctor, ldloc:Curve25519[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
|
||||
}
|
||||
|
||||
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: 0x0600A9CA RID: 43466 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600A9CA")]
|
||||
[Address(RVA = "0x1ED1870", Offset = "0x1ED0670", VA = "0x181ED1870", Slot = "14")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600A9CB RID: 43467 RVA: 0x002518CC File Offset: 0x0024FACC
|
||||
[Token(Token = "0x600A9CB")]
|
||||
[Address(RVA = "0x1ED1580", Offset = "0x1ED0380", VA = "0x181ED1580", Slot = "29")]
|
||||
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
||||
{
|
||||
uint[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = new uint[len];
|
||||
num = 0;
|
||||
if (len <= 0)
|
||||
{
|
||||
goto IL_4A;
|
||||
}
|
||||
ECPoint ecpoint = points[off];
|
||||
ECFieldElement x = ecpoint.m_x;
|
||||
if (x != 0 && x != 0)
|
||||
{
|
||||
ECFieldElement y = ecpoint.m_y;
|
||||
if (y != 0 && y != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
num += 16;
|
||||
IL_4A:
|
||||
Curve25519.Curve25519LookupTable curve25519LookupTable;
|
||||
curve25519LookupTable.m_outer = 0;
|
||||
curve25519LookupTable.m_table = array;
|
||||
curve25519LookupTable.m_size = len;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006C77 RID: 27767
|
||||
[Token(Token = "0x4006C77")]
|
||||
public static readonly BigInteger q = Nat256.ToBigInteger(Curve25519Field.P);
|
||||
|
||||
// Token: 0x04006C78 RID: 27768
|
||||
[Token(Token = "0x4006C78")]
|
||||
private const int Curve25519_DEFAULT_COORDS = 4;
|
||||
|
||||
// Token: 0x04006C79 RID: 27769
|
||||
[Token(Token = "0x4006C79")]
|
||||
private const int CURVE25519_FE_INTS = 8;
|
||||
|
||||
// Token: 0x04006C7A RID: 27770
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006C7A")]
|
||||
protected readonly Curve25519Point m_infinity;
|
||||
|
||||
// Token: 0x02001ABB RID: 6843
|
||||
[Token(Token = "0x2001ABB")]
|
||||
private class Curve25519LookupTable : ECLookupTable
|
||||
{
|
||||
// Token: 0x0600A9CD RID: 43469 RVA: 0x0025195C File Offset: 0x0024FB5C
|
||||
[Token(Token = "0x600A9CD")]
|
||||
[Address(RVA = "0x412390", Offset = "0x411190", VA = "0x180412390")]
|
||||
internal Curve25519LookupTable(Curve25519 outer, uint[] table, int size)
|
||||
{
|
||||
this.m_outer = outer;
|
||||
this.m_table = table;
|
||||
this.m_size = size;
|
||||
}
|
||||
|
||||
// Token: 0x17001B07 RID: 6919
|
||||
// (get) Token: 0x0600A9CE RID: 43470 RVA: 0x00251984 File Offset: 0x0024FB84
|
||||
[Token(Token = "0x17001B07")]
|
||||
public virtual int Size
|
||||
{
|
||||
[Token(Token = "0x600A9CE")]
|
||||
[Address(RVA = "0x3F7310", Offset = "0x3F6110", VA = "0x1803F7310", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_size;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A9CF RID: 43471 RVA: 0x00251998 File Offset: 0x0024FB98
|
||||
[Token(Token = "0x600A9CF")]
|
||||
[Address(RVA = "0x1ECFE20", Offset = "0x1ECEC20", VA = "0x181ECFE20", Slot = "7")]
|
||||
public virtual ECPoint Lookup(int index)
|
||||
{
|
||||
uint[] array = Nat256.Create();
|
||||
uint[] array2 = Nat256.Create();
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (this.m_size > num2)
|
||||
{
|
||||
int num3 = 0;
|
||||
uint[] table = this.m_table;
|
||||
uint[] table2 = this.m_table;
|
||||
num3++;
|
||||
num += 16;
|
||||
num2++;
|
||||
}
|
||||
Curve25519 outer = this.m_outer;
|
||||
new Curve25519FieldElement().x = array;
|
||||
new Curve25519FieldElement().x = array2;
|
||||
ECCurve eccurve = outer.CloneCurve();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006C7B RID: 27771
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006C7B")]
|
||||
private readonly Curve25519 m_outer;
|
||||
|
||||
// Token: 0x04006C7C RID: 27772
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006C7C")]
|
||||
private readonly uint[] m_table;
|
||||
|
||||
// Token: 0x04006C7D RID: 27773
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006C7D")]
|
||||
private readonly int m_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
+360
@@ -0,0 +1,360 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb
|
||||
{
|
||||
// Token: 0x02001ABC RID: 6844
|
||||
[Token(Token = "0x2001ABC")]
|
||||
internal class Curve25519Field
|
||||
{
|
||||
// Token: 0x0600A9D0 RID: 43472 RVA: 0x00251A18 File Offset: 0x0024FC18
|
||||
[Token(Token = "0x600A9D0")]
|
||||
[Address(RVA = "0x1ECF030", Offset = "0x1ECDE30", VA = "0x181ECF030")]
|
||||
public static void Add(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
uint num = Nat256.Add(x, y, z);
|
||||
uint[] p = Curve25519Field.P;
|
||||
if (Nat256.Gte(z, p))
|
||||
{
|
||||
int num2 = Curve25519Field.SubPFrom(z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A9D1 RID: 43473 RVA: 0x00251A48 File Offset: 0x0024FC48
|
||||
[Token(Token = "0x600A9D1")]
|
||||
[Address(RVA = "0x1ECEC20", Offset = "0x1ECDA20", VA = "0x181ECEC20")]
|
||||
public static void AddExt(uint[] xx, uint[] yy, uint[] zz)
|
||||
{
|
||||
uint num = Nat.Add(16, xx, yy, zz);
|
||||
uint[] pext = Curve25519Field.PExt;
|
||||
if (Nat.Gte(16, zz, pext))
|
||||
{
|
||||
int num2 = Curve25519Field.SubPExtFrom(zz);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A9D2 RID: 43474 RVA: 0x00251A7C File Offset: 0x0024FC7C
|
||||
[Token(Token = "0x600A9D2")]
|
||||
[Address(RVA = "0x1ECECF0", Offset = "0x1ECDAF0", VA = "0x181ECECF0")]
|
||||
public static void AddOne(uint[] x, uint[] z)
|
||||
{
|
||||
uint num = Nat.Inc(8, x, z);
|
||||
uint[] p = Curve25519Field.P;
|
||||
if (Nat256.Gte(z, p))
|
||||
{
|
||||
int num2 = Curve25519Field.SubPFrom(z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A9D3 RID: 43475 RVA: 0x00251AAC File Offset: 0x0024FCAC
|
||||
[Token(Token = "0x600A9D3")]
|
||||
[Address(RVA = "0x1ECF0F0", Offset = "0x1ECDEF0", VA = "0x181ECF0F0")]
|
||||
public static uint[] FromBigInteger(BigInteger x)
|
||||
{
|
||||
uint[] array = Nat256.FromBigInteger(x);
|
||||
uint[] p = Curve25519Field.P;
|
||||
if (Nat256.Gte(array, p))
|
||||
{
|
||||
int num = Nat256.SubFrom(Curve25519Field.P, array);
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A9D4 RID: 43476 RVA: 0x00251AE0 File Offset: 0x0024FCE0
|
||||
[Token(Token = "0x600A9D4")]
|
||||
[Address(RVA = "0x1ECF1C0", Offset = "0x1ECDFC0", VA = "0x181ECF1C0")]
|
||||
public static void Half(uint[] x, uint[] z)
|
||||
{
|
||||
if ("{il2cpp array field x->}" != (ulong)1L)
|
||||
{
|
||||
uint[] p = Curve25519Field.P;
|
||||
uint num = Nat256.Add(x, p, z);
|
||||
int num2 = 0;
|
||||
uint num3 = Nat.ShiftDownBit(8, z, (uint)num2);
|
||||
return;
|
||||
}
|
||||
int num4 = 0;
|
||||
uint num5 = Nat.ShiftDownBit(8, x, (uint)num4, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A9D5 RID: 43477 RVA: 0x00251B28 File Offset: 0x0024FD28
|
||||
[Token(Token = "0x600A9D5")]
|
||||
[Address(RVA = "0x1ECF370", Offset = "0x1ECE170", VA = "0x181ECF370")]
|
||||
public static void Multiply(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
uint[] array = Nat256.CreateExt();
|
||||
Nat256.Mul(x, y, array);
|
||||
Curve25519Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A9D6 RID: 43478 RVA: 0x00251B4C File Offset: 0x0024FD4C
|
||||
[Token(Token = "0x600A9D6")]
|
||||
[Address(RVA = "0x1ECF2A0", Offset = "0x1ECE0A0", VA = "0x181ECF2A0")]
|
||||
public static void MultiplyAddToExt(uint[] x, uint[] y, uint[] zz)
|
||||
{
|
||||
uint num = Nat256.MulAddTo(x, y, zz);
|
||||
uint[] pext = Curve25519Field.PExt;
|
||||
if (Nat.Gte(16, zz, pext))
|
||||
{
|
||||
int num2 = Curve25519Field.SubPExtFrom(zz);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A9D7 RID: 43479 RVA: 0x00251B7C File Offset: 0x0024FD7C
|
||||
[Token(Token = "0x600A9D7")]
|
||||
[Address(RVA = "0x1ECF410", Offset = "0x1ECE210", VA = "0x181ECF410")]
|
||||
public static void Negate(uint[] x, uint[] z)
|
||||
{
|
||||
if (!Nat256.IsZero(x))
|
||||
{
|
||||
int num = Nat256.Sub(Curve25519Field.P, x, z);
|
||||
return;
|
||||
}
|
||||
Nat256.Zero(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A9D8 RID: 43480 RVA: 0x00251BA8 File Offset: 0x0024FDA8
|
||||
[Token(Token = "0x600A9D8")]
|
||||
[Address(RVA = "0x1ECF5D0", Offset = "0x1ECE3D0", VA = "0x181ECF5D0")]
|
||||
public static void Reduce(uint[] xx, uint[] z)
|
||||
{
|
||||
uint num = xx[3];
|
||||
int num2 = 0;
|
||||
uint num4;
|
||||
uint num3 = Nat.ShiftUpBit((int)num4, xx, (int)num4, num, z, num2);
|
||||
uint num5 = Nat256.MulByWordAddTo((uint)19, xx, z);
|
||||
uint num6 = z[3];
|
||||
long num7 = (long)((uint)19 * (uint)19);
|
||||
uint num8 = Nat.AddWordTo(7, (uint)num7, z);
|
||||
num8 += num6;
|
||||
z[3] = num8;
|
||||
uint[] p = Curve25519Field.P;
|
||||
if (Nat256.Gte(z, p))
|
||||
{
|
||||
int num9 = Curve25519Field.SubPFrom(z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A9D9 RID: 43481 RVA: 0x00251C28 File Offset: 0x0024FE28
|
||||
[Token(Token = "0x600A9D9")]
|
||||
[Address(RVA = "0x1ECF4B0", Offset = "0x1ECE2B0", VA = "0x181ECF4B0")]
|
||||
public static void Reduce27(uint x, uint[] z)
|
||||
{
|
||||
uint num = z[3];
|
||||
long num2 = (long)(num * (uint)19);
|
||||
uint num3 = Nat.AddWordTo(7, (uint)num2, z);
|
||||
num3 += num;
|
||||
z[3] = num3;
|
||||
uint[] p = Curve25519Field.P;
|
||||
if (Nat256.Gte(z, p))
|
||||
{
|
||||
int num4 = Curve25519Field.SubPFrom(z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A9DA RID: 43482 RVA: 0x00251C78 File Offset: 0x0024FE78
|
||||
[Token(Token = "0x600A9DA")]
|
||||
[Address(RVA = "0x1ECF830", Offset = "0x1ECE630", VA = "0x181ECF830")]
|
||||
public static void Square(uint[] x, uint[] z)
|
||||
{
|
||||
uint[] array = Nat256.CreateExt();
|
||||
Nat256.Square(x, array);
|
||||
Curve25519Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A9DB RID: 43483 RVA: 0x00251C9C File Offset: 0x0024FE9C
|
||||
[Token(Token = "0x600A9DB")]
|
||||
[Address(RVA = "0x1ECF750", Offset = "0x1ECE550", VA = "0x181ECF750")]
|
||||
public static void SquareN(uint[] x, int n, uint[] z)
|
||||
{
|
||||
uint[] array = Nat256.CreateExt();
|
||||
Nat256.Square(x, array);
|
||||
Curve25519Field.Reduce(array, z);
|
||||
if (n > 0)
|
||||
{
|
||||
Nat256.Square(z, array);
|
||||
Curve25519Field.Reduce(array, z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A9DC RID: 43484 RVA: 0x00251CD4 File Offset: 0x0024FED4
|
||||
[Token(Token = "0x600A9DC")]
|
||||
[Address(RVA = "0x1ECFBD0", Offset = "0x1ECE9D0", VA = "0x181ECFBD0")]
|
||||
public static void Subtract(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
if (Nat256.Sub(x, y, z) != 0)
|
||||
{
|
||||
uint num = z[0];
|
||||
z[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
int num2 = Nat.DecAt(7, z, 1);
|
||||
}
|
||||
uint num3 = z[3];
|
||||
uint num4;
|
||||
num3 += num4;
|
||||
num += num3;
|
||||
z[3] = num;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A9DD RID: 43485 RVA: 0x00251D28 File Offset: 0x0024FF28
|
||||
[Token(Token = "0x600A9DD")]
|
||||
[Address(RVA = "0x1ECFB40", Offset = "0x1ECE940", VA = "0x181ECFB40")]
|
||||
public static void SubtractExt(uint[] xx, uint[] yy, uint[] zz)
|
||||
{
|
||||
if (Nat.Sub(16, xx, yy, zz) != 0)
|
||||
{
|
||||
uint num = Curve25519Field.AddPExtTo(zz);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A9DE RID: 43486 RVA: 0x00251D4C File Offset: 0x0024FF4C
|
||||
[Token(Token = "0x600A9DE")]
|
||||
[Address(RVA = "0x1ECFCC0", Offset = "0x1ECEAC0", VA = "0x181ECFCC0")]
|
||||
public static void Twice(uint[] x, uint[] z)
|
||||
{
|
||||
int num = 0;
|
||||
uint num2 = Nat.ShiftUpBit(8, x, (uint)num, z);
|
||||
uint[] p = Curve25519Field.P;
|
||||
if (Nat256.Gte(z, p))
|
||||
{
|
||||
int num3 = Curve25519Field.SubPFrom(z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A9DF RID: 43487 RVA: 0x00251D80 File Offset: 0x0024FF80
|
||||
[Token(Token = "0x600A9DF")]
|
||||
[Address(RVA = "0x1ECEFA0", Offset = "0x1ECDDA0", VA = "0x181ECEFA0")]
|
||||
private static uint AddPTo(uint[] z)
|
||||
{
|
||||
uint num = z[0];
|
||||
z[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
int num2 = Nat.DecAt(7, z, 1);
|
||||
}
|
||||
uint num3 = z[3];
|
||||
uint num4;
|
||||
num4 += num;
|
||||
num4 += num3;
|
||||
z[3] = num4;
|
||||
return num4;
|
||||
}
|
||||
|
||||
// Token: 0x0600A9E0 RID: 43488 RVA: 0x00251DCC File Offset: 0x0024FFCC
|
||||
[Token(Token = "0x600A9E0")]
|
||||
[Address(RVA = "0x1ECEDB0", Offset = "0x1ECDBB0", VA = "0x181ECEDB0")]
|
||||
private static uint AddPExtTo(uint[] zz)
|
||||
{
|
||||
uint num = zz[0];
|
||||
uint num2 = Curve25519Field.PExt[0];
|
||||
num2 += num;
|
||||
zz[0] = num2;
|
||||
if (num2 != (uint)0)
|
||||
{
|
||||
uint num3 = Nat.IncAt(8, zz, 1);
|
||||
}
|
||||
uint num4 = zz[4];
|
||||
num4 += (uint)(-19);
|
||||
num4 += num2;
|
||||
zz[4] = num4;
|
||||
if (num4 != (uint)0)
|
||||
{
|
||||
int num5 = Nat.DecAt(15, zz, 9);
|
||||
}
|
||||
uint num6 = Curve25519Field.PExt[7];
|
||||
num6 += (uint)1;
|
||||
zz[7] = zz;
|
||||
return zz;
|
||||
}
|
||||
|
||||
// Token: 0x0600A9E1 RID: 43489 RVA: 0x00251E58 File Offset: 0x00250058
|
||||
[Token(Token = "0x600A9E1")]
|
||||
[Address(RVA = "0x1ECFAB0", Offset = "0x1ECE8B0", VA = "0x181ECFAB0")]
|
||||
private static int SubPFrom(uint[] z)
|
||||
{
|
||||
uint num = z[0];
|
||||
num += (uint)19;
|
||||
z[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
uint num2 = Nat.IncAt(7, z, 1);
|
||||
}
|
||||
uint num3 = z[3];
|
||||
num3 += (uint)int.MinValue;
|
||||
num += num3;
|
||||
z[3] = num;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A9E2 RID: 43490 RVA: 0x00251EB0 File Offset: 0x002500B0
|
||||
[Token(Token = "0x600A9E2")]
|
||||
[Address(RVA = "0x1ECF8C0", Offset = "0x1ECE6C0", VA = "0x181ECF8C0")]
|
||||
private static int SubPExtFrom(uint[] zz)
|
||||
{
|
||||
uint num = zz[0];
|
||||
uint num2 = Curve25519Field.PExt[0];
|
||||
num -= num2;
|
||||
zz[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
int num3 = Nat.DecAt(8, zz, 1);
|
||||
}
|
||||
uint num4 = zz[4];
|
||||
num4 += (uint)19;
|
||||
num4 += num;
|
||||
zz[4] = num4;
|
||||
if (num4 != (uint)0)
|
||||
{
|
||||
num4 = Nat.IncAt(15, zz, 9);
|
||||
}
|
||||
uint num5 = zz[7];
|
||||
uint num6 = Curve25519Field.PExt[7];
|
||||
num6 += (uint)1;
|
||||
num5 -= num6;
|
||||
num4 += num5;
|
||||
zz[7] = num4;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A9E3 RID: 43491 RVA: 0x00251F50 File Offset: 0x00250150
|
||||
[Token(Token = "0x600A9E3")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
public Curve25519Field()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A9E4 RID: 43492 RVA: 0x00251F64 File Offset: 0x00250164
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A9E4")]
|
||||
[Address(RVA = "0x1ECFD80", Offset = "0x1ECEB80", VA = "0x181ECFD80")]
|
||||
static Curve25519Field()
|
||||
{
|
||||
uint[] array = new uint[8];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.86B0F85AC13B58F88DEFFD8FD6EE095438B98F10).FieldHandle);
|
||||
Curve25519Field.P = array;
|
||||
uint[] array2 = new uint[16];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.EAEB85AB6D40E0AB7CE0F65EF7EDF588A4DD81C9).FieldHandle);
|
||||
Curve25519Field.PExt = array2;
|
||||
}
|
||||
|
||||
// Token: 0x04006C7E RID: 27774
|
||||
[Token(Token = "0x4006C7E")]
|
||||
internal static readonly uint[] P;
|
||||
|
||||
// Token: 0x04006C7F RID: 27775
|
||||
[Token(Token = "0x4006C7F")]
|
||||
private const uint P7 = 2147483647U;
|
||||
|
||||
// Token: 0x04006C80 RID: 27776
|
||||
[Token(Token = "0x4006C80")]
|
||||
private static readonly uint[] PExt;
|
||||
|
||||
// Token: 0x04006C81 RID: 27777
|
||||
[Token(Token = "0x4006C81")]
|
||||
private const uint PInv = 19U;
|
||||
}
|
||||
}
|
||||
+452
@@ -0,0 +1,452 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb
|
||||
{
|
||||
// Token: 0x02001ABD RID: 6845
|
||||
[Token(Token = "0x2001ABD")]
|
||||
internal class Curve25519FieldElement : AbstractFpFieldElement
|
||||
{
|
||||
// Token: 0x0600A9E5 RID: 43493 RVA: 0x00251FA4 File Offset: 0x002501A4
|
||||
[Token(Token = "0x600A9E5")]
|
||||
[Address(RVA = "0x1ECE980", Offset = "0x1ECD780", VA = "0x181ECE980")]
|
||||
public Curve25519FieldElement(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9E5)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_44:
|
||||
stloc:ArgumentException(var_5_53, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for Curve25519FieldElement"), ldstr:string("x")))
|
||||
}
|
||||
|
||||
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: 0x0600A9E6 RID: 43494 RVA: 0x00252008 File Offset: 0x00250208
|
||||
[Token(Token = "0x600A9E6")]
|
||||
[Address(RVA = "0x1ECEB30", Offset = "0x1ECD930", VA = "0x181ECEB30")]
|
||||
public Curve25519FieldElement()
|
||||
{
|
||||
uint[] array = Nat256.Create();
|
||||
this.x = array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A9E7 RID: 43495 RVA: 0x0025202C File Offset: 0x0025022C
|
||||
[Token(Token = "0x600A9E7")]
|
||||
[Address(RVA = "0x462000", Offset = "0x460E00", VA = "0x180462000")]
|
||||
protected internal Curve25519FieldElement(uint[] x)
|
||||
{
|
||||
this.x = x;
|
||||
}
|
||||
|
||||
// Token: 0x17001B08 RID: 6920
|
||||
// (get) Token: 0x0600A9E8 RID: 43496 RVA: 0x00252048 File Offset: 0x00250248
|
||||
[Token(Token = "0x17001B08")]
|
||||
public override bool IsZero
|
||||
{
|
||||
[Token(Token = "0x600A9E8")]
|
||||
[Address(RVA = "0x1ECEC10", Offset = "0x1ECDA10", VA = "0x181ECEC10", Slot = "18")]
|
||||
get
|
||||
{
|
||||
return Nat256.IsZero(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B09 RID: 6921
|
||||
// (get) Token: 0x0600A9E9 RID: 43497 RVA: 0x00252060 File Offset: 0x00250260
|
||||
[Token(Token = "0x17001B09")]
|
||||
public override bool IsOne
|
||||
{
|
||||
[Token(Token = "0x600A9E9")]
|
||||
[Address(RVA = "0x1ECEC00", Offset = "0x1ECDA00", VA = "0x181ECEC00", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return Nat256.IsOne(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A9EA RID: 43498 RVA: 0x00252078 File Offset: 0x00250278
|
||||
[Token(Token = "0x600A9EA")]
|
||||
[Address(RVA = "0x1ECE8A0", Offset = "0x1ECD6A0", VA = "0x181ECE8A0", Slot = "24")]
|
||||
public override bool TestBitZero()
|
||||
{
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Nat256.GetBit(array, num) == (uint)1;
|
||||
}
|
||||
|
||||
// Token: 0x0600A9EB RID: 43499 RVA: 0x0025209C File Offset: 0x0025029C
|
||||
[Token(Token = "0x600A9EB")]
|
||||
[Address(RVA = "0x1ECE8C0", Offset = "0x1ECD6C0", VA = "0x181ECE8C0", Slot = "4")]
|
||||
public override BigInteger ToBigInteger()
|
||||
{
|
||||
return Nat256.ToBigInteger(this.x);
|
||||
}
|
||||
|
||||
// Token: 0x17001B0A RID: 6922
|
||||
// (get) Token: 0x0600A9EC RID: 43500 RVA: 0x002520B4 File Offset: 0x002502B4
|
||||
[Token(Token = "0x17001B0A")]
|
||||
public override string FieldName
|
||||
{
|
||||
[Token(Token = "0x600A9EC")]
|
||||
[Address(RVA = "0x1ECEB60", Offset = "0x1ECD960", VA = "0x181ECEB60", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return "Curve25519Field";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B0B RID: 6923
|
||||
// (get) Token: 0x0600A9ED RID: 43501 RVA: 0x002520C8 File Offset: 0x002502C8
|
||||
[Token(Token = "0x17001B0B")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600A9ED")]
|
||||
[Address(RVA = "0x1ECEB90", Offset = "0x1ECD990", VA = "0x181ECEB90", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return Curve25519FieldElement.Q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A9EE RID: 43502 RVA: 0x002520E8 File Offset: 0x002502E8
|
||||
[Token(Token = "0x600A9EE")]
|
||||
[Address(RVA = "0x1ECDBD0", Offset = "0x1ECC9D0", VA = "0x181ECDBD0", Slot = "7")]
|
||||
public override ECFieldElement Add(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(Curve25519FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
uint[] p = Curve25519Field.P;
|
||||
if (Nat256.Gte(array, p))
|
||||
{
|
||||
int num = Curve25519Field.SubPFrom(array);
|
||||
}
|
||||
new Curve25519FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A9EF RID: 43503 RVA: 0x00252148 File Offset: 0x00250348
|
||||
[Token(Token = "0x600A9EF")]
|
||||
[Address(RVA = "0x1ECDAB0", Offset = "0x1ECC8B0", VA = "0x181ECDAB0", Slot = "8")]
|
||||
public override ECFieldElement AddOne()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9EF)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519FieldElement::AddOne()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_32:
|
||||
stfld:uint32[](Curve25519FieldElement::x, newobj:Curve25519FieldElement(Curve25519FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A9F0 RID: 43504 RVA: 0x00252194 File Offset: 0x00250394
|
||||
[Token(Token = "0x600A9F0")]
|
||||
[Address(RVA = "0x1ECE760", Offset = "0x1ECD560", VA = "0x181ECE760", Slot = "9")]
|
||||
public override ECFieldElement Subtract(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(Curve25519FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new Curve25519FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A9F1 RID: 43505 RVA: 0x002521DC File Offset: 0x002503DC
|
||||
[Token(Token = "0x600A9F1")]
|
||||
[Address(RVA = "0x1ECE1F0", Offset = "0x1ECCFF0", VA = "0x181ECE1F0", Slot = "10")]
|
||||
public override ECFieldElement Multiply(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(Curve25519FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new Curve25519FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A9F2 RID: 43506 RVA: 0x00252224 File Offset: 0x00250424
|
||||
[Token(Token = "0x600A9F2")]
|
||||
[Address(RVA = "0x1ECDDA0", Offset = "0x1ECCBA0", VA = "0x181ECDDA0", Slot = "11")]
|
||||
public override ECFieldElement Divide(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create();
|
||||
uint[] p = Curve25519Field.P;
|
||||
if ("{il2cpp array field local3->}" == typeof(Curve25519FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
uint[] array2 = this.x;
|
||||
Curve25519Field.Multiply(array, array2, array);
|
||||
new Curve25519FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A9F3 RID: 43507 RVA: 0x0025227C File Offset: 0x0025047C
|
||||
[Token(Token = "0x600A9F3")]
|
||||
[Address(RVA = "0x1ECE330", Offset = "0x1ECD130", VA = "0x181ECE330", Slot = "12")]
|
||||
public override ECFieldElement Negate()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9F3)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519FieldElement::Negate()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat256::Create))
|
||||
call:void(Curve25519Field::Negate, ldfld:uint32[](Curve25519FieldElement::x, ldloc:Curve25519FieldElement(this)), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](Curve25519FieldElement::x, newobj:Curve25519FieldElement(Curve25519FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A9F4 RID: 43508 RVA: 0x002522A8 File Offset: 0x002504A8
|
||||
[Token(Token = "0x600A9F4")]
|
||||
[Address(RVA = "0x1ECE6D0", Offset = "0x1ECD4D0", VA = "0x181ECE6D0", Slot = "13")]
|
||||
public override ECFieldElement Square()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9F4)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519FieldElement::Square()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat256::Create))
|
||||
call:void(Curve25519Field::Square, ldfld:uint32[](Curve25519FieldElement::x, ldloc:Curve25519FieldElement(this)), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](Curve25519FieldElement::x, newobj:Curve25519FieldElement(Curve25519FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A9F5 RID: 43509 RVA: 0x002522D4 File Offset: 0x002504D4
|
||||
[Token(Token = "0x600A9F5")]
|
||||
[Address(RVA = "0x1ECE120", Offset = "0x1ECCF20", VA = "0x181ECE120", Slot = "14")]
|
||||
public override ECFieldElement Invert()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9F5)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519FieldElement::Invert()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat256::Create))
|
||||
stloc:uint32[](var_2_0E, ldfld:uint32[](Curve25519FieldElement::x, ldloc:Curve25519FieldElement(this)))
|
||||
call:void(Mod::Invert, ldsfld:uint32[](Curve25519Field::P), ldloc:uint32[](var_2_0E), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](Curve25519FieldElement::x, newobj:Curve25519FieldElement(Curve25519FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A9F6 RID: 43510 RVA: 0x00252308 File Offset: 0x00250508
|
||||
[Token(Token = "0x600A9F6")]
|
||||
[Address(RVA = "0x1ECE3C0", Offset = "0x1ECD1C0", VA = "0x181ECE3C0", Slot = "15")]
|
||||
public override ECFieldElement Sqrt()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9F6)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519FieldElement::Sqrt()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_148:
|
||||
stfld:uint32[](Curve25519FieldElement::x, newobj:Curve25519FieldElement(Curve25519FieldElement::.ctor), ldloc:uint32[](var_2_20))
|
||||
}
|
||||
|
||||
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: 0x0600A9F7 RID: 43511 RVA: 0x00252468 File Offset: 0x00250668
|
||||
[Token(Token = "0x600A9F7")]
|
||||
[Address(RVA = "0x1ECDF40", Offset = "0x1ECCD40", VA = "0x181ECDF40", Slot = "0")]
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9F7)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519FieldElement::Equals(System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:Curve25519FieldElement[exp:ECFieldElement](this)))
|
||||
}
|
||||
|
||||
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: 0x0600A9F8 RID: 43512 RVA: 0x00252484 File Offset: 0x00250684
|
||||
[Token(Token = "0x600A9F8")]
|
||||
[Address(RVA = "0x1ECDFD0", Offset = "0x1ECCDD0", VA = "0x181ECDFD0", Slot = "25")]
|
||||
public override bool Equals(ECFieldElement other)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9F8)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:Curve25519FieldElement[exp:ECFieldElement](this)))
|
||||
}
|
||||
|
||||
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: 0x0600A9F9 RID: 43513 RVA: 0x002524A0 File Offset: 0x002506A0
|
||||
[Token(Token = "0x600A9F9")]
|
||||
[Address(RVA = "0x1ECDF20", Offset = "0x1ECCD20", VA = "0x181ECDF20", Slot = "27")]
|
||||
public virtual bool Equals(Curve25519FieldElement other)
|
||||
{
|
||||
if (this != other)
|
||||
{
|
||||
if (other != 0)
|
||||
{
|
||||
uint[] array = other.x;
|
||||
return Nat256.Eq(this.x, array);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600A9FA RID: 43514 RVA: 0x002524CC File Offset: 0x002506CC
|
||||
[Token(Token = "0x600A9FA")]
|
||||
[Address(RVA = "0x1ECE060", Offset = "0x1ECCE60", VA = "0x181ECE060", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
Curve25519FieldElement.Q.Finalize();
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Arrays.GetHashCode(array, num, 8);
|
||||
}
|
||||
|
||||
// Token: 0x0600A9FB RID: 43515 RVA: 0x002524FC File Offset: 0x002506FC
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A9FB")]
|
||||
[Address(RVA = "0x1ECE8D0", Offset = "0x1ECD6D0", VA = "0x181ECE8D0")]
|
||||
static Curve25519FieldElement()
|
||||
{
|
||||
uint[] array = new uint[8];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.6AAC0DB543C50F09E879F5B9F757319773564CE1).FieldHandle);
|
||||
Curve25519FieldElement.PRECOMP_POW2 = array;
|
||||
}
|
||||
|
||||
// Token: 0x04006C82 RID: 27778
|
||||
[Token(Token = "0x4006C82")]
|
||||
public static readonly BigInteger Q = Curve25519.q;
|
||||
|
||||
// Token: 0x04006C83 RID: 27779
|
||||
[Token(Token = "0x4006C83")]
|
||||
private static readonly uint[] PRECOMP_POW2;
|
||||
|
||||
// Token: 0x04006C84 RID: 27780
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006C84")]
|
||||
protected internal readonly uint[] x;
|
||||
}
|
||||
}
|
||||
+406
@@ -0,0 +1,406 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb
|
||||
{
|
||||
// Token: 0x02001ABE RID: 6846
|
||||
[Token(Token = "0x2001ABE")]
|
||||
internal class Curve25519Point : AbstractFpPoint
|
||||
{
|
||||
// Token: 0x0600A9FC RID: 43516 RVA: 0x0025252C File Offset: 0x0025072C
|
||||
[Token(Token = "0x600A9FC")]
|
||||
[Address(RVA = "0x1ED1510", Offset = "0x1ED0310", VA = "0x181ED1510")]
|
||||
public Curve25519Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A9FD RID: 43517 RVA: 0x0025253C File Offset: 0x0025073C
|
||||
[Token(Token = "0x600A9FD")]
|
||||
[Address(RVA = "0x1ED1450", Offset = "0x1ED0250", VA = "0x181ED1450")]
|
||||
public Curve25519Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9FD)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_11:
|
||||
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x0600A9FE RID: 43518 RVA: 0x00252564 File Offset: 0x00250764
|
||||
[Token(Token = "0x600A9FE")]
|
||||
[Address(RVA = "0x1ECD350", Offset = "0x1ECC150", VA = "0x181ECD350")]
|
||||
internal Curve25519Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A9FF RID: 43519 RVA: 0x00252574 File Offset: 0x00250774
|
||||
[Token(Token = "0x600A9FF")]
|
||||
[Address(RVA = "0x1ED0980", Offset = "0x1ECF780", VA = "0x181ED0980", Slot = "7")]
|
||||
protected override ECPoint Detach()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9FF)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519Point::Detach()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:Curve25519Point[exp:ECPoint](this)))
|
||||
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:Curve25519Point[exp:ECPoint](this)))
|
||||
}
|
||||
|
||||
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: 0x0600AA00 RID: 43520 RVA: 0x00252590 File Offset: 0x00250790
|
||||
[Token(Token = "0x600AA00")]
|
||||
[Address(RVA = "0x1ED0BB0", Offset = "0x1ECF9B0", VA = "0x181ED0BB0", Slot = "13")]
|
||||
public override ECFieldElement GetZCoord(int index)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA00)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519Point::GetZCoord(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_0C:
|
||||
stloc:bool(var_0_12, call:bool(ECPoint::SatisfiesCurveEquation, ldloc:Curve25519Point[exp:ECPoint](this)))
|
||||
}
|
||||
|
||||
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: 0x0600AA01 RID: 43521 RVA: 0x002525B0 File Offset: 0x002507B0
|
||||
[Token(Token = "0x600AA01")]
|
||||
[Address(RVA = "0x1ECFFF0", Offset = "0x1ECEDF0", VA = "0x181ECFFF0", Slot = "26")]
|
||||
public override ECPoint Add(ECPoint b)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
if (this == b)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement[] zs2 = b.m_zs;
|
||||
uint[] array = Nat256.CreateExt();
|
||||
uint[] array2 = Nat256.Create();
|
||||
uint[] array3 = Nat256.Create();
|
||||
uint[] array4 = Nat256.Create();
|
||||
if (array4 == 0)
|
||||
{
|
||||
Curve25519Field.Square(array4, array3);
|
||||
Curve25519Field.Multiply(array3, array3, array2);
|
||||
Curve25519Field.Multiply(array3, array3, array3);
|
||||
Curve25519Field.Multiply(array3, array3, array3);
|
||||
}
|
||||
Curve25519Field.Multiply(array4, array4, array);
|
||||
Curve25519Field.Multiply(array4, array4, array4);
|
||||
Curve25519Field.Multiply(array4, array4, array4);
|
||||
uint[] array5 = Nat256.Create();
|
||||
if (!Nat256.IsZero(array5))
|
||||
{
|
||||
uint[] array6 = Nat256.Create();
|
||||
Curve25519Field.Square(array5, array6);
|
||||
uint[] array7 = Nat256.Create();
|
||||
Curve25519Field.Multiply(array6, array5, array7);
|
||||
Curve25519Field.Negate(array7, array7);
|
||||
Curve25519Field.Reduce27(Nat256.AddBothTo(array3, array3, array7), array7);
|
||||
Curve25519FieldElement curve25519FieldElement = new Curve25519FieldElement();
|
||||
curve25519FieldElement.x = array4;
|
||||
Curve25519Field.Square(array2, array4);
|
||||
uint[] x = curve25519FieldElement.x;
|
||||
Curve25519Field.Subtract(x, array7, x);
|
||||
Curve25519FieldElement curve25519FieldElement2 = new Curve25519FieldElement();
|
||||
curve25519FieldElement2.x = array7;
|
||||
uint[] x2 = curve25519FieldElement.x;
|
||||
Curve25519Field.Subtract(array3, x2, array7);
|
||||
uint[] x3 = curve25519FieldElement2.x;
|
||||
uint num = Nat256.MulAddTo(x3, array2, array);
|
||||
uint[] pext = Curve25519Field.PExt;
|
||||
if (Nat.Gte(16, array, pext))
|
||||
{
|
||||
int num2 = Curve25519Field.SubPExtFrom(array);
|
||||
}
|
||||
uint[] x4 = curve25519FieldElement2.x;
|
||||
Curve25519Field.Reduce(array, x4);
|
||||
Curve25519FieldElement curve25519FieldElement3 = new Curve25519FieldElement();
|
||||
curve25519FieldElement3.x = array5;
|
||||
Curve25519Field.Multiply(array5, x3, array5);
|
||||
uint[] x5 = curve25519FieldElement3.x;
|
||||
Curve25519Field.Multiply(x5, array, x5);
|
||||
ECPoint ecpoint = this.ThreeTimes();
|
||||
ECFieldElement[] array8 = new ECFieldElement[2];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
}
|
||||
bool flag2;
|
||||
if (!flag2)
|
||||
{
|
||||
}
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600AA02 RID: 43522 RVA: 0x002527CC File Offset: 0x002509CC
|
||||
[Token(Token = "0x600AA02")]
|
||||
[Address(RVA = "0x1ED13B0", Offset = "0x1ED01B0", VA = "0x181ED13B0", Slot = "30")]
|
||||
public override ECPoint Twice()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
if (!this.m_y.IsOne)
|
||||
{
|
||||
bool flag2 = base.SatisfiesCurveEquation();
|
||||
}
|
||||
OVRMesh.JAAHPDGFADH jaahpdgfadh = ((OVRMesh.PJPHJNNOBBH)flag).POCDCJMHEGL();
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AA03 RID: 43523 RVA: 0x0025280C File Offset: 0x00250A0C
|
||||
[Token(Token = "0x600AA03")]
|
||||
[Address(RVA = "0x1ED12C0", Offset = "0x1ED00C0", VA = "0x181ED12C0", Slot = "32")]
|
||||
public override ECPoint TwicePlus(ECPoint b)
|
||||
{
|
||||
if (this != b)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
if (this.m_y.IsOne)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
BigInteger bigInteger = this.GetJacobianModifiedW().ToBigInteger();
|
||||
}
|
||||
bool flag = base.SatisfiesCurveEquation();
|
||||
}
|
||||
return b;
|
||||
}
|
||||
bool flag2 = base.SatisfiesCurveEquation();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AA04 RID: 43524 RVA: 0x00252860 File Offset: 0x00250A60
|
||||
[Token(Token = "0x600AA04")]
|
||||
[Address(RVA = "0x1ED0CD0", Offset = "0x1ECFAD0", VA = "0x181ED0CD0", Slot = "33")]
|
||||
public override ECPoint ThreeTimes()
|
||||
{
|
||||
if (!base.IsInfinity && !this.m_y.IsOne)
|
||||
{
|
||||
BigInteger bigInteger = this.GetJacobianModifiedW().ToBigInteger();
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AA05 RID: 43525 RVA: 0x00252898 File Offset: 0x00250A98
|
||||
[Token(Token = "0x600AA05")]
|
||||
[Address(RVA = "0x1ED0BD0", Offset = "0x1ECF9D0", VA = "0x181ED0BD0", Slot = "28")]
|
||||
public override ECPoint Negate()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AA06 RID: 43526 RVA: 0x002528D0 File Offset: 0x00250AD0
|
||||
[Token(Token = "0x600AA06")]
|
||||
[Address(RVA = "0x1ED07D0", Offset = "0x1ECF5D0", VA = "0x181ED07D0", Slot = "34")]
|
||||
protected virtual Curve25519FieldElement CalculateJacobianModifiedW(Curve25519FieldElement Z, uint[] ZSquared)
|
||||
{
|
||||
bool flag2;
|
||||
do
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
if (!flag2)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (!flag2);
|
||||
if (Z.BitLength == 0)
|
||||
{
|
||||
Curve25519FieldElement curve25519FieldElement = new Curve25519FieldElement();
|
||||
uint[] array = Nat256.Create();
|
||||
curve25519FieldElement.x = array;
|
||||
if (ZSquared == 0)
|
||||
{
|
||||
Curve25519Field.Square(Z.x, array);
|
||||
}
|
||||
uint[] x = curve25519FieldElement.x;
|
||||
Curve25519Field.Square(array, x);
|
||||
uint[] x2 = curve25519FieldElement.x;
|
||||
Curve25519Field.Multiply(x2, x, x2);
|
||||
return curve25519FieldElement;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AA07 RID: 43527 RVA: 0x0025294C File Offset: 0x00250B4C
|
||||
[Token(Token = "0x600AA07")]
|
||||
[Address(RVA = "0x1ED0A20", Offset = "0x1ECF820", VA = "0x181ED0A20", Slot = "35")]
|
||||
protected virtual Curve25519FieldElement GetJacobianModifiedW()
|
||||
{
|
||||
ECFieldElement[] zs;
|
||||
for (;;)
|
||||
{
|
||||
zs = this.m_zs;
|
||||
int length = zs.Length;
|
||||
ECFieldElement ecfieldElement = zs[1];
|
||||
if (ecfieldElement == 0 || ecfieldElement != 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement2 = zs[0];
|
||||
if (ecfieldElement2 == 0)
|
||||
{
|
||||
}
|
||||
if (ecfieldElement2 != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
ECPoint ecpoint = this.ThreeTimes();
|
||||
if (ecpoint != 0)
|
||||
{
|
||||
}
|
||||
zs[1] = ecpoint;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AA08 RID: 43528 RVA: 0x002529AC File Offset: 0x00250BAC
|
||||
[Token(Token = "0x600AA08")]
|
||||
[Address(RVA = "0x1ED0D50", Offset = "0x1ECFB50", VA = "0x181ED0D50", Slot = "36")]
|
||||
protected virtual Curve25519Point TwiceJacobianModified(bool calculateW)
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
ECFieldElement x = this.m_x;
|
||||
if (x == 0)
|
||||
{
|
||||
}
|
||||
if (x != 0)
|
||||
{
|
||||
ECFieldElement y = this.m_y;
|
||||
if (y == 0)
|
||||
{
|
||||
}
|
||||
if (y != 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement = this.m_zs[0];
|
||||
if (ecfieldElement == 0)
|
||||
{
|
||||
}
|
||||
if (ecfieldElement != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
uint[] array = Nat256.Create();
|
||||
uint num = Nat256.AddBothTo(array, array, array);
|
||||
Curve25519FieldElement curve25519FieldElement;
|
||||
uint[] x2 = curve25519FieldElement.x;
|
||||
uint num2 = Nat256.AddTo(x2, array);
|
||||
Curve25519Field.Reduce27(x2, array);
|
||||
uint[] array2 = Nat256.Create();
|
||||
uint[] array3 = Nat256.Create();
|
||||
Curve25519Field.Multiply(array2, array2, array3);
|
||||
uint[] array4 = Nat256.Create();
|
||||
Curve25519Field.Multiply(array3, array2, array4);
|
||||
Curve25519Field.Twice(array4, array4);
|
||||
uint[] array5 = Nat256.Create();
|
||||
Curve25519Field.Square(array3, array5);
|
||||
Curve25519Field.Twice(array5, array5);
|
||||
Curve25519FieldElement curve25519FieldElement2 = new Curve25519FieldElement();
|
||||
curve25519FieldElement2.x = array3;
|
||||
Curve25519Field.Square(array, array3);
|
||||
uint[] x3 = curve25519FieldElement2.x;
|
||||
Curve25519Field.Subtract(x3, array4, x3);
|
||||
uint[] x4 = curve25519FieldElement2.x;
|
||||
Curve25519Field.Subtract(x4, array4, x4);
|
||||
Curve25519FieldElement curve25519FieldElement3 = new Curve25519FieldElement();
|
||||
curve25519FieldElement3.x = array4;
|
||||
uint[] x5 = curve25519FieldElement2.x;
|
||||
Curve25519Field.Subtract(array4, x5, array4);
|
||||
uint[] x6 = curve25519FieldElement3.x;
|
||||
Curve25519Field.Multiply(x6, array, x6);
|
||||
uint[] x7 = curve25519FieldElement3.x;
|
||||
Curve25519Field.Subtract(x7, array5, x7);
|
||||
Curve25519FieldElement curve25519FieldElement4 = new Curve25519FieldElement();
|
||||
curve25519FieldElement4.x = array2;
|
||||
bool flag;
|
||||
if (!flag)
|
||||
{
|
||||
uint[] x8 = curve25519FieldElement4.x;
|
||||
}
|
||||
Curve25519FieldElement curve25519FieldElement5;
|
||||
if (calculateW)
|
||||
{
|
||||
curve25519FieldElement5 = new Curve25519FieldElement();
|
||||
curve25519FieldElement5.x = array5;
|
||||
uint[] x9 = curve25519FieldElement.x;
|
||||
Curve25519Field.Multiply(array5, x9, array5);
|
||||
uint[] x10 = curve25519FieldElement5.x;
|
||||
Curve25519Field.Twice(x10, x10);
|
||||
}
|
||||
bool flag2 = this.SatisfiesOrder();
|
||||
ECFieldElement[] array6 = new ECFieldElement[2];
|
||||
array6[0] = curve25519FieldElement4;
|
||||
if (curve25519FieldElement5 != 0)
|
||||
{
|
||||
}
|
||||
array6[1] = curve25519FieldElement5;
|
||||
bool withCompression = this.m_withCompression;
|
||||
Curve25519Point curve25519Point;
|
||||
return curve25519Point;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user