scripts
This commit is contained in:
+173
@@ -0,0 +1,173 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Multiplier;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Generators
|
||||
{
|
||||
// Token: 0x02001687 RID: 5767
|
||||
[Token(Token = "0x2001687")]
|
||||
[StructLayout(3)]
|
||||
internal class DHParametersHelper
|
||||
{
|
||||
// Token: 0x06009A46 RID: 39494 RVA: 0x00225E18 File Offset: 0x00224018
|
||||
[Token(Token = "0x6009A46")]
|
||||
[Address(RVA = "0x1F4EAA0", Offset = "0x1F4D4A0", VA = "0x181F4EAA0")]
|
||||
private static BigInteger[] ConstructBigPrimeProducts(int[] primeProducts)
|
||||
{
|
||||
BigInteger[] array = new BigInteger[primeProducts.Length];
|
||||
int num = 0;
|
||||
if (num < array.Length)
|
||||
{
|
||||
BigInteger bigInteger = BigInteger.ValueOf((long)primeProducts[num]);
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x06009A47 RID: 39495 RVA: 0x00225E64 File Offset: 0x00224064
|
||||
[Token(Token = "0x6009A47")]
|
||||
[Address(RVA = "0x1F4EBA0", Offset = "0x1F4D5A0", VA = "0x181F4EBA0")]
|
||||
internal static BigInteger[] GenerateSafePrimes(int size, int certainty, SecureRandom random)
|
||||
{
|
||||
BigInteger bigInteger9;
|
||||
BigInteger bigInteger11;
|
||||
ulong num10;
|
||||
do
|
||||
{
|
||||
int num = size - 1;
|
||||
if (size > 32)
|
||||
{
|
||||
int num2 = 0;
|
||||
int num3;
|
||||
BigInteger bigInteger = new BigInteger(certainty, num3, random);
|
||||
num3 = 0;
|
||||
int[][] array = DHParametersHelper.primeLists;
|
||||
BigInteger bigInteger6;
|
||||
if (num2 < array.Length)
|
||||
{
|
||||
BigInteger[] bigPrimeProducts = DHParametersHelper.BigPrimeProducts;
|
||||
BigInteger bigInteger3;
|
||||
BigInteger bigInteger2 = bigInteger.Remainder(bigInteger3);
|
||||
int num4 = 0;
|
||||
int intValue = bigInteger2.IntValue;
|
||||
if (num2 == 0 && size != 2)
|
||||
{
|
||||
BigInteger bigInteger4 = BigInteger.ValueOf((long)size);
|
||||
BigInteger bigInteger5 = bigInteger.Add(bigInteger4);
|
||||
int[] array2 = DHParametersHelper.primeProducts;
|
||||
}
|
||||
int[][] array3 = DHParametersHelper.primeLists;
|
||||
if (num4 != 0 && num4 != random)
|
||||
{
|
||||
num2++;
|
||||
num2++;
|
||||
}
|
||||
BigInteger six = DHParametersHelper.Six;
|
||||
bigInteger6 = bigInteger.Add(six);
|
||||
}
|
||||
uint num5;
|
||||
ulong num6;
|
||||
if (bigInteger6.BitLength != num || !bigInteger6.RabinMillerTest((int)num5, random, num6 != 0UL))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
BigInteger bigInteger7 = bigInteger6.ShiftLeft(1);
|
||||
BigInteger one = BigInteger.One;
|
||||
BigInteger bigInteger8 = bigInteger7.Add(one);
|
||||
ulong num7;
|
||||
ulong num8;
|
||||
if (!bigInteger8.RabinMillerTest(certainty, random, num7 != 0UL) || (certainty > 2 && !bigInteger6.RabinMillerTest(certainty, random, num8 != 0UL)))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
int nafWeight = WNafUtilities.GetNafWeight(bigInteger8);
|
||||
BigInteger[] array4 = new BigInteger[2];
|
||||
}
|
||||
bigInteger9 = new BigInteger(certainty, 2, random);
|
||||
BigInteger bigInteger10 = bigInteger9.ShiftLeft(1);
|
||||
BigInteger one2 = BigInteger.One;
|
||||
bigInteger11 = bigInteger10.Add(one2);
|
||||
ulong num9;
|
||||
if (!bigInteger11.IsProbablePrime(certainty, num9 != 0UL))
|
||||
{
|
||||
break;
|
||||
}
|
||||
while (certainty <= 2)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (bigInteger9.IsProbablePrime(certainty, num10 != 0UL));
|
||||
uint num11;
|
||||
BigInteger bigInteger12 = new BigInteger(certainty, (int)num11, random);
|
||||
bigInteger12.nBitLength = bigInteger11;
|
||||
if (bigInteger12 != 0)
|
||||
{
|
||||
}
|
||||
return bigInteger12;
|
||||
}
|
||||
|
||||
// Token: 0x06009A48 RID: 39496 RVA: 0x00225FE0 File Offset: 0x002241E0
|
||||
[Token(Token = "0x6009A48")]
|
||||
[Address(RVA = "0x1F4F1B0", Offset = "0x1F4DBB0", VA = "0x181F4F1B0")]
|
||||
internal static BigInteger SelectGenerator(BigInteger p, BigInteger q, SecureRandom random)
|
||||
{
|
||||
BigInteger two = BigInteger.Two;
|
||||
BigInteger bigInteger = p.Subtract(two);
|
||||
BigInteger bigInteger2 = BigIntegers.CreateRandomInRange(BigInteger.Two, bigInteger, random);
|
||||
BigInteger two2 = BigInteger.Two;
|
||||
BigInteger bigInteger3 = bigInteger2.ModPow(two2, p);
|
||||
while (bigInteger3 != 0)
|
||||
{
|
||||
}
|
||||
return bigInteger3;
|
||||
}
|
||||
|
||||
// Token: 0x06009A49 RID: 39497 RVA: 0x00226028 File Offset: 0x00224228
|
||||
[Token(Token = "0x6009A49")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
public DHParametersHelper()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009A4A RID: 39498 RVA: 0x0022603C File Offset: 0x0022423C
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009A4A")]
|
||||
[Address(RVA = "0x1F4F2F0", Offset = "0x1F4DCF0", VA = "0x181F4F2F0")]
|
||||
static DHParametersHelper()
|
||||
{
|
||||
BigInteger bigInteger;
|
||||
DHParametersHelper.Six = bigInteger;
|
||||
DHParametersHelper.primeLists = BigInteger.primeLists;
|
||||
DHParametersHelper.primeProducts = BigInteger.primeProducts;
|
||||
int[] array = DHParametersHelper.primeProducts;
|
||||
BigInteger[] array2 = new BigInteger[array.Length];
|
||||
int num = 0;
|
||||
if (num < array2.Length)
|
||||
{
|
||||
BigInteger bigInteger2 = BigInteger.ValueOf((long)array[num]);
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
DHParametersHelper.BigPrimeProducts = array2;
|
||||
}
|
||||
|
||||
// Token: 0x04006545 RID: 25925
|
||||
[Token(Token = "0x4006545")]
|
||||
private static readonly BigInteger Six;
|
||||
|
||||
// Token: 0x04006546 RID: 25926
|
||||
[Token(Token = "0x4006546")]
|
||||
private static readonly int[][] primeLists;
|
||||
|
||||
// Token: 0x04006547 RID: 25927
|
||||
[Token(Token = "0x4006547")]
|
||||
private static readonly int[] primeProducts;
|
||||
|
||||
// Token: 0x04006548 RID: 25928
|
||||
[Token(Token = "0x4006548")]
|
||||
private static readonly BigInteger[] BigPrimeProducts;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user