613 lines
27 KiB
C#
613 lines
27 KiB
C#
using System;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC
|
|
{
|
|
// Token: 0x020019FA RID: 6650
|
|
[Token(Token = "0x20019FA")]
|
|
public class F2mFieldElement : AbstractF2mFieldElement
|
|
{
|
|
// Token: 0x0600A0CA RID: 41162 RVA: 0x00226020 File Offset: 0x00224220
|
|
[Token(Token = "0x600A0CA")]
|
|
[Address(RVA = "0x20A1BE0", Offset = "0x20A09E0", VA = "0x1820A1BE0")]
|
|
[Obsolete]
|
|
public F2mFieldElement(int m, int k1, int k2, int k3, BigInteger x)
|
|
{
|
|
do
|
|
{
|
|
base..ctor();
|
|
int num = 0;
|
|
if (k2 == 0)
|
|
{
|
|
this.representation = (int)((ulong)2L);
|
|
(new int[num])[0] = k1;
|
|
}
|
|
}
|
|
while (k2 <= 0);
|
|
this.representation = (int)((ulong)3L);
|
|
int[] array = new int[3];
|
|
array[0] = k1;
|
|
array[0] = k2;
|
|
this.ks = array;
|
|
this.m = m;
|
|
LongArray longArray;
|
|
this.x = longArray;
|
|
}
|
|
|
|
// Token: 0x0600A0CB RID: 41163 RVA: 0x0022609C File Offset: 0x0022429C
|
|
[Token(Token = "0x600A0CB")]
|
|
[Address(RVA = "0x20A1B50", Offset = "0x20A0950", VA = "0x1820A1B50")]
|
|
[Obsolete]
|
|
public F2mFieldElement(int m, int k, BigInteger x)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600A0CC RID: 41164 RVA: 0x002260B0 File Offset: 0x002242B0
|
|
[Token(Token = "0x600A0CC")]
|
|
[Address(RVA = "0x20A1B80", Offset = "0x20A0980", VA = "0x1820A1B80")]
|
|
internal F2mFieldElement(int m, int[] ks, LongArray x)
|
|
{
|
|
this.m = m;
|
|
bool flag = ks.Length != 1;
|
|
this.representation = (flag ? 1 : 0);
|
|
this.ks = ks;
|
|
this.x = x;
|
|
}
|
|
|
|
// Token: 0x1700195B RID: 6491
|
|
// (get) Token: 0x0600A0CD RID: 41165 RVA: 0x002260F4 File Offset: 0x002242F4
|
|
[Token(Token = "0x1700195B")]
|
|
public override int BitLength
|
|
{
|
|
[Token(Token = "0x600A0CD")]
|
|
[Address(RVA = "0x20A1E10", Offset = "0x20A0C10", VA = "0x1820A1E10", Slot = "16")]
|
|
get
|
|
{
|
|
return this.x.Degree();
|
|
}
|
|
}
|
|
|
|
// Token: 0x1700195C RID: 6492
|
|
// (get) Token: 0x0600A0CE RID: 41166 RVA: 0x00226114 File Offset: 0x00224314
|
|
[Token(Token = "0x1700195C")]
|
|
public override bool IsOne
|
|
{
|
|
[Token(Token = "0x600A0CE")]
|
|
[Address(RVA = "0x20A1E60", Offset = "0x20A0C60", VA = "0x1820A1E60", Slot = "17")]
|
|
get
|
|
{
|
|
return this.x.IsOne();
|
|
}
|
|
}
|
|
|
|
// Token: 0x1700195D RID: 6493
|
|
// (get) Token: 0x0600A0CF RID: 41167 RVA: 0x00226134 File Offset: 0x00224334
|
|
[Token(Token = "0x1700195D")]
|
|
public override bool IsZero
|
|
{
|
|
[Token(Token = "0x600A0CF")]
|
|
[Address(RVA = "0x20A1E80", Offset = "0x20A0C80", VA = "0x1820A1E80", Slot = "18")]
|
|
get
|
|
{
|
|
return this.x.IsZero();
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600A0D0 RID: 41168 RVA: 0x00226154 File Offset: 0x00224354
|
|
[Token(Token = "0x600A0D0")]
|
|
[Address(RVA = "0x20A1B10", Offset = "0x20A0910", VA = "0x1820A1B10", Slot = "24")]
|
|
public override bool TestBitZero()
|
|
{
|
|
return this.x.TestBitZero();
|
|
}
|
|
|
|
// Token: 0x0600A0D1 RID: 41169 RVA: 0x00226174 File Offset: 0x00224374
|
|
[Token(Token = "0x600A0D1")]
|
|
[Address(RVA = "0x20A1B30", Offset = "0x20A0930", VA = "0x1820A1B30", Slot = "4")]
|
|
public override BigInteger ToBigInteger()
|
|
{
|
|
return this.x.ToBigInteger();
|
|
}
|
|
|
|
// Token: 0x1700195E RID: 6494
|
|
// (get) Token: 0x0600A0D2 RID: 41170 RVA: 0x00226194 File Offset: 0x00224394
|
|
[Token(Token = "0x1700195E")]
|
|
public override string FieldName
|
|
{
|
|
[Token(Token = "0x600A0D2")]
|
|
[Address(RVA = "0x20A1E30", Offset = "0x20A0C30", VA = "0x1820A1E30", Slot = "5")]
|
|
get
|
|
{
|
|
return "F2m";
|
|
}
|
|
}
|
|
|
|
// Token: 0x1700195F RID: 6495
|
|
// (get) Token: 0x0600A0D3 RID: 41171 RVA: 0x002261A8 File Offset: 0x002243A8
|
|
[Token(Token = "0x1700195F")]
|
|
public override int FieldSize
|
|
{
|
|
[Token(Token = "0x600A0D3")]
|
|
[Address(RVA = "0x495080", Offset = "0x493E80", VA = "0x180495080", Slot = "6")]
|
|
get
|
|
{
|
|
return this.m;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600A0D4 RID: 41172 RVA: 0x002261BC File Offset: 0x002243BC
|
|
[Token(Token = "0x600A0D4")]
|
|
[Address(RVA = "0x20A0DB0", Offset = "0x209FBB0", VA = "0x1820A0DB0")]
|
|
public static void CheckFieldElements(ECFieldElement a, ECFieldElement b)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A0D4)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.F2mFieldElement::CheckFieldElements(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_26:
|
|
stloc:ArgumentException(var_5_30, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Field elements are not elements of the same field F2m")))
|
|
}
|
|
|
|
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: 0x0600A0D5 RID: 41173 RVA: 0x002261FC File Offset: 0x002243FC
|
|
[Token(Token = "0x600A0D5")]
|
|
[Address(RVA = "0x20A0C80", Offset = "0x209FA80", VA = "0x1820A0C80", Slot = "7")]
|
|
public override ECFieldElement Add(ECFieldElement b)
|
|
{
|
|
LongArray longArray;
|
|
do
|
|
{
|
|
longArray = this.x.Copy();
|
|
}
|
|
while (b == 0);
|
|
int num = this.m;
|
|
int[] array = this.ks;
|
|
F2mFieldElement f2mFieldElement;
|
|
f2mFieldElement.m = num;
|
|
bool flag = array.Length != 1;
|
|
f2mFieldElement.representation = (flag ? 1 : 0);
|
|
f2mFieldElement.x = longArray;
|
|
f2mFieldElement.ks = array;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600A0D6 RID: 41174 RVA: 0x00226260 File Offset: 0x00224460
|
|
[Token(Token = "0x600A0D6")]
|
|
[Address(RVA = "0x20A0BD0", Offset = "0x209F9D0", VA = "0x1820A0BD0", Slot = "8")]
|
|
public override ECFieldElement AddOne()
|
|
{
|
|
LongArray longArray = this.x;
|
|
int num = this.m;
|
|
int[] array = this.ks;
|
|
LongArray longArray2 = longArray.AddOne();
|
|
F2mFieldElement f2mFieldElement;
|
|
f2mFieldElement.m = num;
|
|
bool flag = array.Length != 1;
|
|
f2mFieldElement.representation = (flag ? 1 : 0);
|
|
f2mFieldElement.x = longArray2;
|
|
f2mFieldElement.ks = array;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600A0D7 RID: 41175 RVA: 0x002262C0 File Offset: 0x002244C0
|
|
[Token(Token = "0x600A0D7")]
|
|
[Address(RVA = "0x12417E0", Offset = "0x12405E0", VA = "0x1812417E0", Slot = "9")]
|
|
public override ECFieldElement Subtract(ECFieldElement b)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A0D7)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.F2mFieldElement::Subtract(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_0:
|
|
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:F2mFieldElement[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: 0x0600A0D8 RID: 41176 RVA: 0x002262D4 File Offset: 0x002244D4
|
|
[Token(Token = "0x600A0D8")]
|
|
[Address(RVA = "0x20A15A0", Offset = "0x20A03A0", VA = "0x1820A15A0", Slot = "10")]
|
|
public override ECFieldElement Multiply(ECFieldElement b)
|
|
{
|
|
int num;
|
|
int[] array;
|
|
do
|
|
{
|
|
num = this.m;
|
|
array = this.ks;
|
|
LongArray longArray = this.x;
|
|
}
|
|
while (b == 0 || b == 0);
|
|
F2mFieldElement f2mFieldElement;
|
|
f2mFieldElement.m = num;
|
|
bool flag = array.Length != 1;
|
|
f2mFieldElement.representation = (flag ? 1 : 0);
|
|
f2mFieldElement.ks = array;
|
|
LongArray longArray2;
|
|
f2mFieldElement.x = longArray2;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600A0D9 RID: 41177 RVA: 0x0022633C File Offset: 0x0022453C
|
|
[Token(Token = "0x600A0D9")]
|
|
[Address(RVA = "0x2081E20", Offset = "0x2080C20", VA = "0x182081E20", Slot = "19")]
|
|
public override ECFieldElement MultiplyMinusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A0D9)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.F2mFieldElement::MultiplyMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_0:
|
|
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:F2mFieldElement[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: 0x0600A0DA RID: 41178 RVA: 0x00226350 File Offset: 0x00224550
|
|
[Token(Token = "0x600A0DA")]
|
|
[Address(RVA = "0x20A12B0", Offset = "0x20A00B0", VA = "0x1820A12B0", Slot = "20")]
|
|
public override ECFieldElement MultiplyPlusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
|
|
{
|
|
LongArray longArray;
|
|
do
|
|
{
|
|
longArray = this.x;
|
|
}
|
|
while (b == 0 || b == 0 || x == 0 || x == 0 || y == 0 || y == 0);
|
|
LongArray longArray2;
|
|
if (longArray2 != longArray)
|
|
{
|
|
}
|
|
LongArray longArray3 = longArray2.Copy();
|
|
int num = 0;
|
|
LongArray longArray4;
|
|
longArray3.AddShiftedByWords(longArray4, num);
|
|
int[] array = this.ks;
|
|
int num2 = this.m;
|
|
longArray3.Reduce(num2, array);
|
|
int num3 = this.m;
|
|
int[] array2 = this.ks;
|
|
F2mFieldElement f2mFieldElement;
|
|
f2mFieldElement.m = num3;
|
|
bool flag = array2.Length != 1;
|
|
f2mFieldElement.representation = (flag ? 1 : 0);
|
|
f2mFieldElement.ks = array2;
|
|
f2mFieldElement.x = longArray3;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600A0DB RID: 41179 RVA: 0x00226410 File Offset: 0x00224610
|
|
[Token(Token = "0x600A0DB")]
|
|
[Address(RVA = "0x2081BB0", Offset = "0x20809B0", VA = "0x182081BB0", Slot = "11")]
|
|
public override ECFieldElement Divide(ECFieldElement b)
|
|
{
|
|
ECFieldElement ecfieldElement = b.Square();
|
|
BigInteger bigInteger = base.ToBigInteger();
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600A0DC RID: 41180 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x600A0DC")]
|
|
[Address(RVA = "0x434BD0", Offset = "0x4339D0", VA = "0x180434BD0", Slot = "12")]
|
|
public override ECFieldElement Negate()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x0600A0DD RID: 41181 RVA: 0x00226430 File Offset: 0x00224630
|
|
[Token(Token = "0x600A0DD")]
|
|
[Address(RVA = "0x20A1A60", Offset = "0x20A0860", VA = "0x1820A1A60", Slot = "13")]
|
|
public override ECFieldElement Square()
|
|
{
|
|
LongArray longArray = this.x;
|
|
int num = this.m;
|
|
int[] array = this.ks;
|
|
LongArray longArray2 = longArray.ModSquare(num, array);
|
|
F2mFieldElement f2mFieldElement;
|
|
f2mFieldElement.m = num;
|
|
bool flag = array.Length != 1;
|
|
f2mFieldElement.representation = (flag ? 1 : 0);
|
|
f2mFieldElement.x = longArray2;
|
|
f2mFieldElement.ks = array;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600A0DE RID: 41182 RVA: 0x00226490 File Offset: 0x00224690
|
|
[Token(Token = "0x600A0DE")]
|
|
[Address(RVA = "0x20822A0", Offset = "0x20810A0", VA = "0x1820822A0", Slot = "21")]
|
|
public override ECFieldElement SquareMinusProduct(ECFieldElement x, ECFieldElement y)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A0DE)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.F2mFieldElement::SquareMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_0:
|
|
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:F2mFieldElement[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: 0x0600A0DF RID: 41183 RVA: 0x002264A4 File Offset: 0x002246A4
|
|
[Token(Token = "0x600A0DF")]
|
|
[Address(RVA = "0x20A1750", Offset = "0x20A0550", VA = "0x1820A1750", Slot = "22")]
|
|
public override ECFieldElement SquarePlusProduct(ECFieldElement x, ECFieldElement y)
|
|
{
|
|
LongArray longArray;
|
|
do
|
|
{
|
|
longArray = this.x;
|
|
}
|
|
while (x == 0 || x == 0 || y == 0 || y == 0);
|
|
int[] array = this.ks;
|
|
int num = this.m;
|
|
LongArray longArray2 = longArray.Square(num, array);
|
|
LongArray longArray3;
|
|
if (longArray2 == longArray)
|
|
{
|
|
longArray3 = longArray2.Copy();
|
|
}
|
|
int num2 = 0;
|
|
LongArray longArray4;
|
|
longArray3.AddShiftedByWords(longArray4, num2);
|
|
int[] array2 = this.ks;
|
|
int num3 = this.m;
|
|
longArray3.Reduce(num3, array2);
|
|
int num4 = this.m;
|
|
int[] array3 = this.ks;
|
|
F2mFieldElement f2mFieldElement;
|
|
f2mFieldElement.m = num4;
|
|
bool flag = array3.Length != 1;
|
|
f2mFieldElement.representation = (flag ? 1 : 0);
|
|
f2mFieldElement.ks = array3;
|
|
f2mFieldElement.x = longArray3;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600A0E0 RID: 41184 RVA: 0x00226570 File Offset: 0x00224770
|
|
[Token(Token = "0x600A0E0")]
|
|
[Address(RVA = "0x20A1990", Offset = "0x20A0790", VA = "0x1820A1990", Slot = "23")]
|
|
public override ECFieldElement SquarePow(int pow)
|
|
{
|
|
if (pow < 1)
|
|
{
|
|
}
|
|
LongArray longArray = this.x;
|
|
int[] array = this.ks;
|
|
int num = this.m;
|
|
LongArray longArray2 = longArray.ModSquareN(pow, num, array);
|
|
F2mFieldElement f2mFieldElement;
|
|
f2mFieldElement.m = num;
|
|
bool flag = array.Length != 1;
|
|
f2mFieldElement.representation = (flag ? 1 : 0);
|
|
f2mFieldElement.ks = array;
|
|
f2mFieldElement.x = longArray2;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600A0E1 RID: 41185 RVA: 0x002265D8 File Offset: 0x002247D8
|
|
[Token(Token = "0x600A0E1")]
|
|
[Address(RVA = "0x20A1200", Offset = "0x20A0000", VA = "0x1820A1200", Slot = "14")]
|
|
public override ECFieldElement Invert()
|
|
{
|
|
LongArray longArray = this.x;
|
|
int num = this.m;
|
|
int[] array = this.ks;
|
|
LongArray longArray2 = longArray.ModInverse(num, array);
|
|
F2mFieldElement f2mFieldElement;
|
|
f2mFieldElement.m = num;
|
|
bool flag = array.Length != 1;
|
|
f2mFieldElement.representation = (flag ? 1 : 0);
|
|
f2mFieldElement.x = longArray2;
|
|
f2mFieldElement.ks = array;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600A0E2 RID: 41186 RVA: 0x00226638 File Offset: 0x00224838
|
|
[Token(Token = "0x600A0E2")]
|
|
[Address(RVA = "0x20A16F0", Offset = "0x20A04F0", VA = "0x1820A16F0", Slot = "15")]
|
|
public override ECFieldElement Sqrt()
|
|
{
|
|
if (!this.x.IsZero() && !this.x.IsOne())
|
|
{
|
|
BigInteger bigInteger = base.ToBigInteger();
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x17001960 RID: 6496
|
|
// (get) Token: 0x0600A0E3 RID: 41187 RVA: 0x00226670 File Offset: 0x00224870
|
|
[Token(Token = "0x17001960")]
|
|
public int Representation
|
|
{
|
|
[Token(Token = "0x600A0E3")]
|
|
[Address(RVA = "0x3FA560", Offset = "0x3F9360", VA = "0x1803FA560")]
|
|
get
|
|
{
|
|
return this.representation;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001961 RID: 6497
|
|
// (get) Token: 0x0600A0E4 RID: 41188 RVA: 0x00226684 File Offset: 0x00224884
|
|
[Token(Token = "0x17001961")]
|
|
public int M
|
|
{
|
|
[Token(Token = "0x600A0E4")]
|
|
[Address(RVA = "0x495080", Offset = "0x493E80", VA = "0x180495080")]
|
|
get
|
|
{
|
|
return this.m;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001962 RID: 6498
|
|
// (get) Token: 0x0600A0E5 RID: 41189 RVA: 0x00226698 File Offset: 0x00224898
|
|
[Token(Token = "0x17001962")]
|
|
public int K1
|
|
{
|
|
[Token(Token = "0x600A0E5")]
|
|
[Address(RVA = "0x20A1EA0", Offset = "0x20A0CA0", VA = "0x1820A1EA0")]
|
|
get
|
|
{
|
|
return this.ks[0];
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001963 RID: 6499
|
|
// (get) Token: 0x0600A0E6 RID: 41190 RVA: 0x002266B8 File Offset: 0x002248B8
|
|
[Token(Token = "0x17001963")]
|
|
public int K2
|
|
{
|
|
[Token(Token = "0x600A0E6")]
|
|
[Address(RVA = "0x20A1EE0", Offset = "0x20A0CE0", VA = "0x1820A1EE0")]
|
|
get
|
|
{
|
|
int[] array = this.ks;
|
|
int length = array.Length;
|
|
return array[0];
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001964 RID: 6500
|
|
// (get) Token: 0x0600A0E7 RID: 41191 RVA: 0x002266E4 File Offset: 0x002248E4
|
|
[Token(Token = "0x17001964")]
|
|
public int K3
|
|
{
|
|
[Token(Token = "0x600A0E7")]
|
|
[Address(RVA = "0x20A1F30", Offset = "0x20A0D30", VA = "0x1820A1F30")]
|
|
get
|
|
{
|
|
int[] array = this.ks;
|
|
int length = array.Length;
|
|
return array[1];
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600A0E8 RID: 41192 RVA: 0x00226710 File Offset: 0x00224910
|
|
[Token(Token = "0x600A0E8")]
|
|
[Address(RVA = "0x20A0FE0", Offset = "0x209FDE0", VA = "0x1820A0FE0", Slot = "0")]
|
|
public override bool Equals(object obj)
|
|
{
|
|
if (obj != this)
|
|
{
|
|
if (obj != 0 && obj != 0)
|
|
{
|
|
BigInteger bigInteger = base.ToBigInteger();
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x0600A0E9 RID: 41193 RVA: 0x00226738 File Offset: 0x00224938
|
|
[Token(Token = "0x600A0E9")]
|
|
[Address(RVA = "0x20A1090", Offset = "0x209FE90", VA = "0x1820A1090", Slot = "29")]
|
|
public virtual bool Equals(F2mFieldElement other)
|
|
{
|
|
int num = other.m;
|
|
if (this.m == num)
|
|
{
|
|
int num2 = other.representation;
|
|
if (this.representation == num2)
|
|
{
|
|
int[] array = other.ks;
|
|
if (Arrays.AreEqual(this.ks, array))
|
|
{
|
|
LongArray longArray = this.x;
|
|
}
|
|
}
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600A0EA RID: 41194 RVA: 0x0022678C File Offset: 0x0022498C
|
|
[Token(Token = "0x600A0EA")]
|
|
[Address(RVA = "0x20A1160", Offset = "0x209FF60", VA = "0x1820A1160", Slot = "2")]
|
|
public override int GetHashCode()
|
|
{
|
|
this.x.Finalize();
|
|
return Arrays.GetHashCode(this.ks);
|
|
}
|
|
|
|
// Token: 0x04006A88 RID: 27272
|
|
[Token(Token = "0x4006A88")]
|
|
public const int Gnb = 1;
|
|
|
|
// Token: 0x04006A89 RID: 27273
|
|
[Token(Token = "0x4006A89")]
|
|
public const int Tpb = 2;
|
|
|
|
// Token: 0x04006A8A RID: 27274
|
|
[Token(Token = "0x4006A8A")]
|
|
public const int Ppb = 3;
|
|
|
|
// Token: 0x04006A8B RID: 27275
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4006A8B")]
|
|
private int representation;
|
|
|
|
// Token: 0x04006A8C RID: 27276
|
|
[FieldOffset(Offset = "0x14")]
|
|
[Token(Token = "0x4006A8C")]
|
|
private int m;
|
|
|
|
// Token: 0x04006A8D RID: 27277
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4006A8D")]
|
|
private int[] ks;
|
|
|
|
// Token: 0x04006A8E RID: 27278
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4006A8E")]
|
|
internal LongArray x;
|
|
}
|
|
}
|