825 lines
42 KiB
C#
825 lines
42 KiB
C#
using System;
|
|
using System.Runtime.CompilerServices;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math
|
|
{
|
|
// Token: 0x02001AB5 RID: 6837
|
|
[Token(Token = "0x2001AB5")]
|
|
public abstract class Primes
|
|
{
|
|
// Token: 0x0600A237 RID: 41527 RVA: 0x0021F19C File Offset: 0x0021D39C
|
|
[Token(Token = "0x600A237")]
|
|
[Address(RVA = "0x7646B0", Offset = "0x7636B0", VA = "0x1807646B0")]
|
|
public static Primes.STOutput GenerateSTRandomPrime(IDigest hash, int length, byte[] inputSeed)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A237)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Primes/STOutput BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Primes::GenerateSTRandomPrime(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest,System.Int32,System.Byte[])
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_2C:
|
|
stloc:ArgumentException(var_2_3B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("cannot be empty"), ldstr:string("inputSeed")))
|
|
}
|
|
|
|
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.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.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: 0x0600A238 RID: 41528 RVA: 0x0021F1E4 File Offset: 0x0021D3E4
|
|
[Token(Token = "0x600A238")]
|
|
[Address(RVA = "0x764030", Offset = "0x763030", VA = "0x180764030")]
|
|
public static Primes.MROutput EnhancedMRProbablePrimeTest(BigInteger candidate, SecureRandom random, int iterations)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A238)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Primes/MROutput BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Primes::EnhancedMRProbablePrimeTest(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Security.SecureRandom,System.Int32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_114:
|
|
stloc:ArgumentNullException(var_26_11E, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("random")))
|
|
}
|
|
|
|
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: 0x0600A239 RID: 41529 RVA: 0x0021F310 File Offset: 0x0021D510
|
|
[Token(Token = "0x600A239")]
|
|
[Address(RVA = "0x764850", Offset = "0x763850", VA = "0x180764850")]
|
|
public static bool HasAnySmallFactors(BigInteger candidate)
|
|
{
|
|
Primes.CheckCandidate(candidate, "candidate");
|
|
return Primes.ImplHasAnySmallFactors(candidate);
|
|
}
|
|
|
|
// Token: 0x0600A23A RID: 41530 RVA: 0x0021F330 File Offset: 0x0021D530
|
|
[Token(Token = "0x600A23A")]
|
|
[Address(RVA = "0x766310", Offset = "0x765310", VA = "0x180766310")]
|
|
public static bool IsMRProbablePrime(BigInteger candidate, SecureRandom random, int iterations)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A23A)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Primes::IsMRProbablePrime(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Security.SecureRandom,System.Int32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_81:
|
|
stloc:ArgumentException(var_10_90, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("cannot be null"), ldstr:string("random")))
|
|
}
|
|
|
|
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: 0x0600A23B RID: 41531 RVA: 0x0021F3D0 File Offset: 0x0021D5D0
|
|
[Token(Token = "0x600A23B")]
|
|
[Address(RVA = "0x766160", Offset = "0x765160", VA = "0x180766160")]
|
|
public static bool IsMRProbablePrimeToBase(BigInteger candidate, BigInteger baseValue)
|
|
{
|
|
Primes.CheckCandidate(candidate, "candidate");
|
|
Primes.CheckCandidate(baseValue, "baseValue");
|
|
BigInteger one = Primes.One;
|
|
BigInteger bigInteger = candidate.Subtract(one);
|
|
int num = baseValue.CompareTo(bigInteger);
|
|
if (candidate.BitLength != 2)
|
|
{
|
|
BigInteger one2 = Primes.One;
|
|
BigInteger bigInteger2 = candidate.Subtract(one2);
|
|
int lowestSetBit = bigInteger2.GetLowestSetBit();
|
|
BigInteger bigInteger3 = bigInteger2.ShiftRight(lowestSetBit);
|
|
return Primes.ImplMRProbablePrimeToBase(candidate, bigInteger2, bigInteger3, lowestSetBit, baseValue);
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600A23C RID: 41532 RVA: 0x0021F448 File Offset: 0x0021D648
|
|
[Token(Token = "0x600A23C")]
|
|
[Address(RVA = "0x763FA0", Offset = "0x762FA0", VA = "0x180763FA0")]
|
|
private static void CheckCandidate(BigInteger n, string name)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A23C)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Primes::CheckCandidate(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,System.String)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_0C:
|
|
stloc:ArgumentException(var_1_17, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("must be non-null and >= 2"), ldloc:string(name)))
|
|
}
|
|
|
|
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: 0x0600A23D RID: 41533 RVA: 0x0021F46C File Offset: 0x0021D66C
|
|
[Token(Token = "0x600A23D")]
|
|
[Address(RVA = "0x764B30", Offset = "0x763B30", VA = "0x180764B30")]
|
|
private static bool ImplHasAnySmallFactors(BigInteger x)
|
|
{
|
|
uint num;
|
|
BigInteger bigInteger = BigInteger.ValueOf((long)num);
|
|
int num2 = x.Mod(bigInteger).IntValue;
|
|
if (num2 != 1 && num2 != 1)
|
|
{
|
|
ulong num3;
|
|
num3 += num3;
|
|
if (num2 != 1)
|
|
{
|
|
ulong num4;
|
|
num4 += num4;
|
|
long num5 = (long)(num4 * (ulong)((uint)7));
|
|
num2 = (int)((long)num2 - num5);
|
|
if (num2 != 1)
|
|
{
|
|
ulong num6;
|
|
num6 += num6;
|
|
long num7 = (long)(num6 * (ulong)((uint)11));
|
|
num2 = (int)((long)num2 - num7);
|
|
if (num2 != 1)
|
|
{
|
|
ulong num8;
|
|
num8 += num8;
|
|
long num9 = (long)(num8 * (ulong)((uint)13));
|
|
num2 = (int)((long)num2 - num9);
|
|
if (num2 != 1)
|
|
{
|
|
ulong num10;
|
|
num10 += num10;
|
|
long num11 = (long)(num10 * (ulong)((uint)17));
|
|
num2 = (int)((long)num2 - num11);
|
|
if (num2 != 1)
|
|
{
|
|
ulong num12;
|
|
num12 += num12;
|
|
long num13 = (long)(num12 * (ulong)((uint)19));
|
|
num2 = (int)((long)num2 - num13);
|
|
if (num2 != 1)
|
|
{
|
|
ulong num14;
|
|
num14 += num14;
|
|
long num15 = (long)(num14 * (ulong)((uint)23));
|
|
if ((long)num2 != num15)
|
|
{
|
|
uint num16;
|
|
BigInteger bigInteger2 = BigInteger.ValueOf((long)num16);
|
|
int num17 = x.Mod(bigInteger2).IntValue;
|
|
ulong num18;
|
|
num18 += num18;
|
|
long num19 = (long)(num18 * (ulong)((uint)29));
|
|
if ((long)num17 != num19)
|
|
{
|
|
ulong num20;
|
|
num20 += num20;
|
|
long num21 = (long)(num20 * (ulong)((uint)31));
|
|
num17 = (int)((long)num17 - num21);
|
|
if ((long)num17 != num19)
|
|
{
|
|
ulong num22;
|
|
num22 += num22;
|
|
long num23 = (long)(num22 * (ulong)((uint)37));
|
|
num17 = (int)((long)num17 - num23);
|
|
if ((long)num17 != num19)
|
|
{
|
|
ulong num24;
|
|
num24 += num24;
|
|
long num25 = (long)(num24 * (ulong)((uint)41));
|
|
num17 = (int)((long)num17 - num25);
|
|
if ((long)num17 != num19)
|
|
{
|
|
ulong num26;
|
|
num26 += num26;
|
|
long num27 = (long)(num26 * (ulong)((uint)43));
|
|
if ((long)num17 != num27)
|
|
{
|
|
uint num28;
|
|
BigInteger bigInteger3 = BigInteger.ValueOf((long)num28);
|
|
int num29 = x.Mod(bigInteger3).IntValue;
|
|
ulong num30;
|
|
num30 += num30;
|
|
long num31 = (long)(num30 * (ulong)((uint)47));
|
|
if ((long)num29 != num31)
|
|
{
|
|
ulong num32;
|
|
num32 += num32;
|
|
long num33 = (long)(num32 * (ulong)((uint)53));
|
|
num29 = (int)((long)num29 - num33);
|
|
if ((long)num29 != num31)
|
|
{
|
|
ulong num34;
|
|
num34 += num34;
|
|
long num35 = (long)(num34 * (ulong)((uint)59));
|
|
num29 = (int)((long)num29 - num35);
|
|
if ((long)num29 != num31)
|
|
{
|
|
ulong num36;
|
|
num36 += num36;
|
|
long num37 = (long)(num36 * (ulong)((uint)61));
|
|
num29 = (int)((long)num29 - num37);
|
|
if ((long)num29 != num31)
|
|
{
|
|
ulong num38;
|
|
num38 += num38;
|
|
long num39 = (long)(num38 * (ulong)((uint)67));
|
|
if ((long)num29 != num39)
|
|
{
|
|
uint num40;
|
|
BigInteger bigInteger4 = BigInteger.ValueOf((long)num40);
|
|
int num41 = x.Mod(bigInteger4).IntValue;
|
|
ulong num42;
|
|
num42 += num42;
|
|
long num43 = (long)(num42 * (ulong)((uint)71));
|
|
if ((long)num41 != num43)
|
|
{
|
|
ulong num44;
|
|
num44 += num44;
|
|
long num45 = (long)(num44 * (ulong)((uint)73));
|
|
num41 = (int)((long)num41 - num45);
|
|
if ((long)num41 != num43)
|
|
{
|
|
ulong num46;
|
|
num46 += num46;
|
|
long num47 = (long)(num46 * (ulong)((uint)79));
|
|
num41 = (int)((long)num41 - num47);
|
|
if ((long)num41 != num43)
|
|
{
|
|
ulong num48;
|
|
num48 += num48;
|
|
long num49 = (long)(num48 * (ulong)((uint)83));
|
|
if ((long)num41 != num49)
|
|
{
|
|
uint num50;
|
|
BigInteger bigInteger5 = BigInteger.ValueOf((long)num50);
|
|
int num51 = x.Mod(bigInteger5).IntValue;
|
|
ulong num52;
|
|
num52 += num52;
|
|
long num53 = (long)(num52 * (ulong)((uint)89));
|
|
if ((long)num51 != num53)
|
|
{
|
|
ulong num54;
|
|
num54 += num54;
|
|
long num55 = (long)(num54 * (ulong)((uint)97));
|
|
num51 = (int)((long)num51 - num55);
|
|
if ((long)num51 != num53)
|
|
{
|
|
ulong num56;
|
|
num56 += num56;
|
|
long num57 = (long)(num56 * (ulong)((uint)101));
|
|
num51 = (int)((long)num51 - num57);
|
|
if ((long)num51 != num53)
|
|
{
|
|
ulong num58;
|
|
num58 += num58;
|
|
long num59 = (long)(num58 * (ulong)((uint)103));
|
|
if ((long)num51 != num59)
|
|
{
|
|
uint num60;
|
|
BigInteger bigInteger6 = BigInteger.ValueOf((long)num60);
|
|
int num61 = x.Mod(bigInteger6).IntValue;
|
|
ulong num62;
|
|
num62 += num62;
|
|
long num63 = (long)(num62 * (ulong)((uint)107));
|
|
if ((long)num61 != num63)
|
|
{
|
|
ulong num64;
|
|
num64 += num64;
|
|
long num65 = (long)(num64 * (ulong)((uint)109));
|
|
num61 = (int)((long)num61 - num65);
|
|
if ((long)num61 != num63)
|
|
{
|
|
ulong num66;
|
|
num66 += num66;
|
|
long num67 = (long)(num66 * (ulong)((uint)113));
|
|
num61 = (int)((long)num61 - num67);
|
|
if ((long)num61 != num63)
|
|
{
|
|
ulong num68;
|
|
num68 += num68;
|
|
long num69 = (long)(num68 * (ulong)((uint)127));
|
|
if ((long)num61 != num69)
|
|
{
|
|
uint num70;
|
|
BigInteger bigInteger7 = BigInteger.ValueOf((long)num70);
|
|
int num71 = x.Mod(bigInteger7).IntValue;
|
|
ulong num72;
|
|
num72 += num72;
|
|
long num73 = (long)(num72 * (ulong)((uint)131));
|
|
if ((long)num71 != num73)
|
|
{
|
|
ulong num74;
|
|
num74 += num74;
|
|
long num75 = (long)(num74 * (ulong)((uint)137));
|
|
num71 = (int)((long)num71 - num75);
|
|
if ((long)num71 != num73)
|
|
{
|
|
ulong num76;
|
|
num76 += num76;
|
|
long num77 = (long)(num76 * (ulong)((uint)139));
|
|
num71 = (int)((long)num71 - num77);
|
|
if ((long)num71 != num73)
|
|
{
|
|
ulong num78;
|
|
num78 += num78;
|
|
long num79 = (long)(num78 * (ulong)((uint)149));
|
|
if ((long)num71 != num79)
|
|
{
|
|
uint num80;
|
|
BigInteger bigInteger8 = BigInteger.ValueOf((long)num80);
|
|
int num81 = x.Mod(bigInteger8).IntValue;
|
|
ulong num82;
|
|
num82 += num82;
|
|
long num83 = (long)(num82 * (ulong)((uint)151));
|
|
if ((long)num81 != num83)
|
|
{
|
|
ulong num84;
|
|
num84 += num84;
|
|
long num85 = (long)(num84 * (ulong)((uint)157));
|
|
num81 = (int)((long)num81 - num85);
|
|
if ((long)num81 != num83)
|
|
{
|
|
ulong num86;
|
|
num86 += num86;
|
|
long num87 = (long)(num86 * (ulong)((uint)163));
|
|
num81 = (int)((long)num81 - num87);
|
|
if ((long)num81 != num83)
|
|
{
|
|
ulong num88;
|
|
num88 += num88;
|
|
long num89 = (long)(num88 * (ulong)((uint)167));
|
|
if ((long)num81 != num89)
|
|
{
|
|
uint num90;
|
|
BigInteger bigInteger9 = BigInteger.ValueOf((long)num90);
|
|
int num91 = x.Mod(bigInteger9).IntValue;
|
|
ulong num92;
|
|
num92 += num92;
|
|
long num93 = (long)(num92 * (ulong)((uint)173));
|
|
if ((long)num91 != num93)
|
|
{
|
|
ulong num94;
|
|
num94 += num94;
|
|
long num95 = (long)(num94 * (ulong)((uint)179));
|
|
num91 = (int)((long)num91 - num95);
|
|
if ((long)num91 != num93)
|
|
{
|
|
ulong num96;
|
|
num96 += num96;
|
|
long num97 = (long)(num96 * (ulong)((uint)181));
|
|
num91 = (int)((long)num91 - num97);
|
|
if ((long)num91 != num93)
|
|
{
|
|
ulong num98;
|
|
num98 += num98;
|
|
long num99 = (long)(num98 * (ulong)((uint)191));
|
|
if ((long)num91 != num99)
|
|
{
|
|
uint num100;
|
|
BigInteger bigInteger10 = BigInteger.ValueOf((long)num100);
|
|
int num101 = x.Mod(bigInteger10).IntValue;
|
|
ulong num102;
|
|
num102 += num102;
|
|
long num103 = (long)(num102 * (ulong)((uint)193));
|
|
if ((long)num101 != num103)
|
|
{
|
|
ulong num104;
|
|
num104 += num104;
|
|
long num105 = (long)(num104 * (ulong)((uint)197));
|
|
num101 = (int)((long)num101 - num105);
|
|
if ((long)num101 != num103)
|
|
{
|
|
ulong num106;
|
|
num106 += num106;
|
|
long num107 = (long)(num106 * (ulong)((uint)199));
|
|
num101 = (int)((long)num101 - num107);
|
|
if ((long)num101 != num103)
|
|
{
|
|
ulong num108;
|
|
num108 += num108;
|
|
long num109 = (long)(num108 * (ulong)((uint)211));
|
|
if ((long)num101 != num109)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600A23E RID: 41534 RVA: 0x0021FA64 File Offset: 0x0021DC64
|
|
[Token(Token = "0x600A23E")]
|
|
[Address(RVA = "0x765470", Offset = "0x764470", VA = "0x180765470")]
|
|
private static bool ImplMRProbablePrimeToBase(BigInteger w, BigInteger wSubOne, BigInteger m, int a, BigInteger b)
|
|
{
|
|
if (a > 1)
|
|
{
|
|
BigInteger two = Primes.Two;
|
|
BigInteger bigInteger2;
|
|
BigInteger bigInteger = bigInteger2.ModPow(two, w);
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600A23F RID: 41535 RVA: 0x0021FA8C File Offset: 0x0021DC8C
|
|
[Token(Token = "0x600A23F")]
|
|
[Address(RVA = "0x765640", Offset = "0x764640", VA = "0x180765640")]
|
|
private static Primes.STOutput ImplSTRandomPrime(IDigest d, int length, byte[] primeSeed)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A23F)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Primes/STOutput BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Primes::ImplSTRandomPrime(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest,System.Int32,System.Byte[])
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_2F8:
|
|
stloc:InvalidOperationException(var_65_302, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Too many iterations in Shawe-Taylor Random_Prime Routine")))
|
|
}
|
|
|
|
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: 0x0600A240 RID: 41536 RVA: 0x0021FD9C File Offset: 0x0021DF9C
|
|
[Token(Token = "0x600A240")]
|
|
[Address(RVA = "0x7645E0", Offset = "0x7635E0", VA = "0x1807645E0")]
|
|
private static uint Extract32(byte[] bs)
|
|
{
|
|
int num = 0;
|
|
int length = bs.Length;
|
|
int num2 = Math.Min(4, length);
|
|
if (num2 > 0)
|
|
{
|
|
num2 = bs.Length;
|
|
num++;
|
|
num += 8;
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600A241 RID: 41537 RVA: 0x0021FDD4 File Offset: 0x0021DFD4
|
|
[Token(Token = "0x600A241")]
|
|
[Address(RVA = "0x764A20", Offset = "0x763A20", VA = "0x180764A20")]
|
|
private static void Hash(IDigest d, byte[] input, byte[] output, int outPos)
|
|
{
|
|
int length = input.Length;
|
|
int num = 0;
|
|
if (num < d)
|
|
{
|
|
num += num;
|
|
num++;
|
|
}
|
|
string algorithmName = d.AlgorithmName;
|
|
}
|
|
|
|
// Token: 0x0600A242 RID: 41538 RVA: 0x0021FE04 File Offset: 0x0021E004
|
|
[Token(Token = "0x600A242")]
|
|
[Address(RVA = "0x7648C0", Offset = "0x7638C0", VA = "0x1807648C0")]
|
|
private static BigInteger HashGen(IDigest d, byte[] seed, int count)
|
|
{
|
|
byte[] array = new byte[0];
|
|
int num = 0;
|
|
if (count > 0)
|
|
{
|
|
int length = seed.Length;
|
|
uint num2;
|
|
byte b;
|
|
num2 += (uint)b;
|
|
num++;
|
|
}
|
|
return new BigInteger(1, array);
|
|
}
|
|
|
|
// Token: 0x0600A243 RID: 41539 RVA: 0x0021FE3C File Offset: 0x0021E03C
|
|
[Token(Token = "0x600A243")]
|
|
[Address(RVA = "0x766110", Offset = "0x765110", VA = "0x180766110")]
|
|
private static void Inc(byte[] seed, int c)
|
|
{
|
|
int length = seed.Length;
|
|
if (c > 0)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600A244 RID: 41540 RVA: 0x0021FE5C File Offset: 0x0021E05C
|
|
[Token(Token = "0x600A244")]
|
|
[Address(RVA = "0x766570", Offset = "0x765570", VA = "0x180766570")]
|
|
private static bool IsPrime32(uint x)
|
|
{
|
|
if (x > (uint)5)
|
|
{
|
|
if (x != (uint)1 && x != (uint)1 && x != (uint)1)
|
|
{
|
|
uint[] array = new uint[8];
|
|
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.CF47311491B9DA067CDF3F5F087D7EFAF2B64F97).FieldHandle);
|
|
int num = 0;
|
|
int length = array.Length;
|
|
uint num2;
|
|
if (num2 < (uint)length)
|
|
{
|
|
int num3 = 0;
|
|
uint num4 = array[(int)num2];
|
|
num4 += (uint)num;
|
|
if (num3 == 0)
|
|
{
|
|
goto IL_64;
|
|
}
|
|
num2 += (uint)1;
|
|
}
|
|
num += 30;
|
|
if (num == -65536 && num * num < (int)x)
|
|
{
|
|
}
|
|
}
|
|
IL_64:;
|
|
}
|
|
return x == (uint)5;
|
|
}
|
|
|
|
// Token: 0x0600A245 RID: 41541 RVA: 0x0021FEDC File Offset: 0x0021E0DC
|
|
[Token(Token = "0x600A245")]
|
|
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
|
protected Primes()
|
|
{
|
|
}
|
|
|
|
// Token: 0x04006C00 RID: 27648
|
|
[Token(Token = "0x4006C00")]
|
|
public static readonly int SmallFactorLimit;
|
|
|
|
// Token: 0x04006C01 RID: 27649
|
|
[Token(Token = "0x4006C01")]
|
|
private static readonly BigInteger One = BigInteger.One;
|
|
|
|
// Token: 0x04006C02 RID: 27650
|
|
[Token(Token = "0x4006C02")]
|
|
private static readonly BigInteger Two = BigInteger.Two;
|
|
|
|
// Token: 0x04006C03 RID: 27651
|
|
[Token(Token = "0x4006C03")]
|
|
private static readonly BigInteger Three = BigInteger.Three;
|
|
|
|
// Token: 0x02001AB6 RID: 6838
|
|
[Token(Token = "0x2001AB6")]
|
|
public class MROutput
|
|
{
|
|
// Token: 0x0600A247 RID: 41543 RVA: 0x0021FF1C File Offset: 0x0021E11C
|
|
[Token(Token = "0x600A247")]
|
|
[Address(RVA = "0x752340", Offset = "0x751340", VA = "0x180752340")]
|
|
internal static Primes.MROutput ProbablyPrime()
|
|
{
|
|
Primes.MROutput mroutput;
|
|
mroutput.mProvablyComposite = false;
|
|
mroutput.mFactor = (ulong)0L;
|
|
return mroutput;
|
|
}
|
|
|
|
// Token: 0x0600A248 RID: 41544 RVA: 0x0021FF3C File Offset: 0x0021E13C
|
|
[Token(Token = "0x600A248")]
|
|
[Address(RVA = "0x7523E0", Offset = "0x7513E0", VA = "0x1807523E0")]
|
|
internal static Primes.MROutput ProvablyCompositeWithFactor(BigInteger factor)
|
|
{
|
|
Primes.MROutput mroutput;
|
|
mroutput.mProvablyComposite = true;
|
|
mroutput.mFactor = factor;
|
|
return mroutput;
|
|
}
|
|
|
|
// Token: 0x0600A249 RID: 41545 RVA: 0x0021FF58 File Offset: 0x0021E158
|
|
[Token(Token = "0x600A249")]
|
|
[Address(RVA = "0x752390", Offset = "0x751390", VA = "0x180752390")]
|
|
internal static Primes.MROutput ProvablyCompositeNotPrimePower()
|
|
{
|
|
Primes.MROutput mroutput;
|
|
mroutput.mProvablyComposite = true;
|
|
mroutput.mFactor = (ulong)0L;
|
|
return mroutput;
|
|
}
|
|
|
|
// Token: 0x0600A24A RID: 41546 RVA: 0x0021FF78 File Offset: 0x0021E178
|
|
[Token(Token = "0x600A24A")]
|
|
[Address(RVA = "0x752440", Offset = "0x751440", VA = "0x180752440")]
|
|
private MROutput(bool provablyComposite, BigInteger factor)
|
|
{
|
|
this.mProvablyComposite = provablyComposite;
|
|
this.mFactor = factor;
|
|
}
|
|
|
|
// Token: 0x170019C8 RID: 6600
|
|
// (get) Token: 0x0600A24B RID: 41547 RVA: 0x0021FF9C File Offset: 0x0021E19C
|
|
[Token(Token = "0x170019C8")]
|
|
public BigInteger Factor
|
|
{
|
|
[Token(Token = "0x600A24B")]
|
|
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0")]
|
|
get
|
|
{
|
|
return this.mFactor;
|
|
}
|
|
}
|
|
|
|
// Token: 0x170019C9 RID: 6601
|
|
// (get) Token: 0x0600A24C RID: 41548 RVA: 0x0021FFB0 File Offset: 0x0021E1B0
|
|
[Token(Token = "0x170019C9")]
|
|
public bool IsProvablyComposite
|
|
{
|
|
[Token(Token = "0x600A24C")]
|
|
[Address(RVA = "0x4944B0", Offset = "0x4934B0", VA = "0x1804944B0")]
|
|
get
|
|
{
|
|
return this.mProvablyComposite;
|
|
}
|
|
}
|
|
|
|
// Token: 0x170019CA RID: 6602
|
|
// (get) Token: 0x0600A24D RID: 41549 RVA: 0x0021FFC4 File Offset: 0x0021E1C4
|
|
[Token(Token = "0x170019CA")]
|
|
public bool IsNotPrimePower
|
|
{
|
|
[Token(Token = "0x600A24D")]
|
|
[Address(RVA = "0x752480", Offset = "0x751480", VA = "0x180752480")]
|
|
get
|
|
{
|
|
if (!this.mProvablyComposite)
|
|
{
|
|
}
|
|
return this.mFactor == (ulong)0L;
|
|
}
|
|
}
|
|
|
|
// Token: 0x04006C04 RID: 27652
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4006C04")]
|
|
private readonly bool mProvablyComposite;
|
|
|
|
// Token: 0x04006C05 RID: 27653
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4006C05")]
|
|
private readonly BigInteger mFactor;
|
|
}
|
|
|
|
// Token: 0x02001AB7 RID: 6839
|
|
[Token(Token = "0x2001AB7")]
|
|
public class STOutput
|
|
{
|
|
// Token: 0x0600A24E RID: 41550 RVA: 0x0021FFE8 File Offset: 0x0021E1E8
|
|
[Token(Token = "0x600A24E")]
|
|
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
|
|
internal STOutput(BigInteger prime, byte[] primeSeed, int primeGenCounter)
|
|
{
|
|
this.mPrime = prime;
|
|
this.mPrimeSeed = primeSeed;
|
|
this.mPrimeGenCounter = primeGenCounter;
|
|
}
|
|
|
|
// Token: 0x170019CB RID: 6603
|
|
// (get) Token: 0x0600A24F RID: 41551 RVA: 0x00220010 File Offset: 0x0021E210
|
|
[Token(Token = "0x170019CB")]
|
|
public BigInteger Prime
|
|
{
|
|
[Token(Token = "0x600A24F")]
|
|
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530")]
|
|
get
|
|
{
|
|
return this.mPrime;
|
|
}
|
|
}
|
|
|
|
// Token: 0x170019CC RID: 6604
|
|
// (get) Token: 0x0600A250 RID: 41552 RVA: 0x00220024 File Offset: 0x0021E224
|
|
[Token(Token = "0x170019CC")]
|
|
public byte[] PrimeSeed
|
|
{
|
|
[Token(Token = "0x600A250")]
|
|
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0")]
|
|
get
|
|
{
|
|
return this.mPrimeSeed;
|
|
}
|
|
}
|
|
|
|
// Token: 0x170019CD RID: 6605
|
|
// (get) Token: 0x0600A251 RID: 41553 RVA: 0x00220038 File Offset: 0x0021E238
|
|
[Token(Token = "0x170019CD")]
|
|
public int PrimeGenCounter
|
|
{
|
|
[Token(Token = "0x600A251")]
|
|
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70")]
|
|
get
|
|
{
|
|
return this.mPrimeGenCounter;
|
|
}
|
|
}
|
|
|
|
// Token: 0x04006C06 RID: 27654
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4006C06")]
|
|
private readonly BigInteger mPrime;
|
|
|
|
// Token: 0x04006C07 RID: 27655
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4006C07")]
|
|
private readonly byte[] mPrimeSeed;
|
|
|
|
// Token: 0x04006C08 RID: 27656
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4006C08")]
|
|
private readonly int mPrimeGenCounter;
|
|
}
|
|
}
|
|
}
|