This commit is contained in:
niko
2026-04-08 23:40:05 +02:00
parent d6894bcbc7
commit 18dc73f922
7750 changed files with 1795369 additions and 0 deletions
@@ -0,0 +1,165 @@
using System;
using System.Runtime.InteropServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.Srp
{
// Token: 0x02001736 RID: 5942
[Token(Token = "0x2001736")]
[StructLayout(3)]
public class Srp6Utilities
{
// Token: 0x0600A0A4 RID: 41124 RVA: 0x0025585C File Offset: 0x00253A5C
[Token(Token = "0x600A0A4")]
[Address(RVA = "0x2188440", Offset = "0x2186E40", VA = "0x182188440")]
public static BigInteger CalculateK(IDigest digest, BigInteger N, BigInteger g)
{
return Srp6Utilities.HashPaddedPair(digest, N, N, g);
}
// Token: 0x0600A0A5 RID: 41125 RVA: 0x00255874 File Offset: 0x00253A74
[Token(Token = "0x600A0A5")]
[Address(RVA = "0x2188580", Offset = "0x2186F80", VA = "0x182188580")]
public static BigInteger CalculateU(IDigest digest, BigInteger N, BigInteger A, BigInteger B)
{
return Srp6Utilities.HashPaddedPair(digest, N, A, B);
}
// Token: 0x0600A0A6 RID: 41126 RVA: 0x0025588C File Offset: 0x00253A8C
[Token(Token = "0x600A0A6")]
[Address(RVA = "0x2188590", Offset = "0x2186F90", VA = "0x182188590")]
public static BigInteger CalculateX(IDigest digest, BigInteger N, byte[] salt, byte[] identity, byte[] password)
{
byte[] array = new byte[0];
int length = identity.Length;
int num = 0;
if (num < identity)
{
num += num;
num++;
}
int length2 = salt.Length;
int length3 = array.Length;
return new BigInteger(1, array);
}
// Token: 0x0600A0A7 RID: 41127 RVA: 0x002558D4 File Offset: 0x00253AD4
[Token(Token = "0x600A0A7")]
[Address(RVA = "0x21887B0", Offset = "0x21871B0", VA = "0x1821887B0")]
public static BigInteger GeneratePrivateValue(IDigest digest, BigInteger N, BigInteger g, SecureRandom random)
{
int num = 0;
int num2 = N.BitLength;
num2 -= num;
uint num3;
num2 = Math.Min((int)num3, num2);
BigInteger one = BigInteger.One;
int num4 = num2 - 1;
BigInteger bigInteger = one.ShiftLeft(num4);
BigInteger one2 = BigInteger.One;
BigInteger bigInteger2 = N.Subtract(one2);
return BigIntegers.CreateRandomInRange(bigInteger, bigInteger2, random);
}
// Token: 0x0600A0A8 RID: 41128 RVA: 0x0025592C File Offset: 0x00253B2C
[Token(Token = "0x600A0A8")]
[Address(RVA = "0x2188C70", Offset = "0x2187670", VA = "0x182188C70")]
public static BigInteger ValidatePublicValue(BigInteger N, BigInteger val)
{
return val.Mod(N);
}
// Token: 0x0600A0A9 RID: 41129 RVA: 0x00255954 File Offset: 0x00253B54
[Token(Token = "0x600A0A9")]
[Address(RVA = "0x2188570", Offset = "0x2186F70", VA = "0x182188570")]
public static BigInteger CalculateM1(IDigest digest, BigInteger N, BigInteger A, BigInteger B, BigInteger S)
{
BigInteger bigInteger;
return bigInteger;
}
// Token: 0x0600A0AA RID: 41130 RVA: 0x00255964 File Offset: 0x00253B64
[Token(Token = "0x600A0AA")]
[Address(RVA = "0x2188570", Offset = "0x2186F70", VA = "0x182188570")]
public static BigInteger CalculateM2(IDigest digest, BigInteger N, BigInteger A, BigInteger M1, BigInteger S)
{
BigInteger bigInteger;
return bigInteger;
}
// Token: 0x0600A0AB RID: 41131 RVA: 0x00255974 File Offset: 0x00253B74
[Token(Token = "0x600A0AB")]
[Address(RVA = "0x2188460", Offset = "0x2186E60", VA = "0x182188460")]
public static BigInteger CalculateKey(IDigest digest, BigInteger N, BigInteger S)
{
int num = 0;
int num2 = N.BitLength;
num2 += 7;
num += num2;
byte[] padded = Srp6Utilities.GetPadded(S, num);
int length = padded.Length;
byte[] array = new byte[padded];
return new BigInteger(1, array);
}
// Token: 0x0600A0AC RID: 41132 RVA: 0x002559BC File Offset: 0x00253BBC
[Token(Token = "0x600A0AC")]
[Address(RVA = "0x2188AC0", Offset = "0x21874C0", VA = "0x182188AC0")]
private static BigInteger HashPaddedTriplet(IDigest digest, BigInteger N, BigInteger n1, BigInteger n2, BigInteger n3)
{
int num = 0;
int num2 = N.BitLength;
num2 += 7;
num2 += num;
byte[] padded = Srp6Utilities.GetPadded(n1, num2);
byte[] padded2 = Srp6Utilities.GetPadded(n2, num2);
int length = padded.Length;
int length2 = padded2.Length;
byte[] array2;
byte[] array = new byte[array2.Length];
return new BigInteger(1, array);
}
// Token: 0x0600A0AD RID: 41133 RVA: 0x00255A1C File Offset: 0x00253C1C
[Token(Token = "0x600A0AD")]
[Address(RVA = "0x2188960", Offset = "0x2187360", VA = "0x182188960")]
private static BigInteger HashPaddedPair(IDigest digest, BigInteger N, BigInteger n1, BigInteger n2)
{
int num = 0;
int num2 = N.BitLength;
num2 += 7;
num2 += num;
byte[] padded = Srp6Utilities.GetPadded(n1, num2);
byte[] padded2 = Srp6Utilities.GetPadded(n2, num2);
int length = padded.Length;
byte[] array = new byte[padded2.Length];
return new BigInteger(1, array);
}
// Token: 0x0600A0AE RID: 41134 RVA: 0x00255A70 File Offset: 0x00253C70
[Token(Token = "0x600A0AE")]
[Address(RVA = "0x21888C0", Offset = "0x21872C0", VA = "0x1821888C0")]
private static byte[] GetPadded(BigInteger n, int length)
{
byte[] array = BigIntegers.AsUnsignedByteArray(n);
if (array.Length < length)
{
byte[] array2 = new byte[length];
int length2 = array.Length;
int num = 0;
Array.Copy(array, num, array2, length, length2);
}
return array;
}
// Token: 0x0600A0AF RID: 41135 RVA: 0x00255AB0 File Offset: 0x00253CB0
[Token(Token = "0x600A0AF")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public Srp6Utilities()
{
}
}
}