Files
Aug2021-Cpp2IL-Dump/Assembly-CSharp/BestHTTP/SecureProtocol/Org/BouncyCastle/Crypto/Agreement/Srp/Srp6Utilities.cs
T
2026-04-10 22:50:51 +02:00

158 lines
5.5 KiB
C#

using System;
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: 0x02001D13 RID: 7443
[Token(Token = "0x2001D13")]
public class Srp6Utilities
{
// Token: 0x0600BC7E RID: 48254 RVA: 0x002ADD28 File Offset: 0x002ABF28
[Token(Token = "0x600BC7E")]
[Address(RVA = "0x1B48650", Offset = "0x1B47450", VA = "0x181B48650")]
public static BigInteger CalculateK(IDigest digest, BigInteger N, BigInteger g)
{
return Srp6Utilities.HashPaddedPair(digest, N, N, g);
}
// Token: 0x0600BC7F RID: 48255 RVA: 0x002ADD40 File Offset: 0x002ABF40
[Token(Token = "0x600BC7F")]
[Address(RVA = "0x1B48790", Offset = "0x1B47590", VA = "0x181B48790")]
public static BigInteger CalculateU(IDigest digest, BigInteger N, BigInteger A, BigInteger B)
{
return Srp6Utilities.HashPaddedPair(digest, N, A, B);
}
// Token: 0x0600BC80 RID: 48256 RVA: 0x002ADD58 File Offset: 0x002ABF58
[Token(Token = "0x600BC80")]
[Address(RVA = "0x1B487A0", Offset = "0x1B475A0", VA = "0x181B487A0")]
public static BigInteger CalculateX(IDigest digest, BigInteger N, byte[] salt, byte[] identity, byte[] password)
{
byte[] array = new byte[0];
int length = identity.Length;
int length2 = salt.Length;
int length3 = array.Length;
return new BigInteger(1, array);
}
// Token: 0x0600BC81 RID: 48257 RVA: 0x002ADD94 File Offset: 0x002ABF94
[Token(Token = "0x600BC81")]
[Address(RVA = "0x1B48950", Offset = "0x1B47750", VA = "0x181B48950")]
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: 0x0600BC82 RID: 48258 RVA: 0x002ADDEC File Offset: 0x002ABFEC
[Token(Token = "0x600BC82")]
[Address(RVA = "0x1B48E10", Offset = "0x1B47C10", VA = "0x181B48E10")]
public static BigInteger ValidatePublicValue(BigInteger N, BigInteger val)
{
return val.Mod(N);
}
// Token: 0x0600BC83 RID: 48259 RVA: 0x002ADE14 File Offset: 0x002AC014
[Token(Token = "0x600BC83")]
[Address(RVA = "0x1B48780", Offset = "0x1B47580", VA = "0x181B48780")]
public static BigInteger CalculateM1(IDigest digest, BigInteger N, BigInteger A, BigInteger B, BigInteger S)
{
BigInteger bigInteger;
return bigInteger;
}
// Token: 0x0600BC84 RID: 48260 RVA: 0x002ADE24 File Offset: 0x002AC024
[Token(Token = "0x600BC84")]
[Address(RVA = "0x1B48780", Offset = "0x1B47580", VA = "0x181B48780")]
public static BigInteger CalculateM2(IDigest digest, BigInteger N, BigInteger A, BigInteger M1, BigInteger S)
{
BigInteger bigInteger;
return bigInteger;
}
// Token: 0x0600BC85 RID: 48261 RVA: 0x002ADE34 File Offset: 0x002AC034
[Token(Token = "0x600BC85")]
[Address(RVA = "0x1B48670", Offset = "0x1B47470", VA = "0x181B48670")]
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: 0x0600BC86 RID: 48262 RVA: 0x002ADE7C File Offset: 0x002AC07C
[Token(Token = "0x600BC86")]
[Address(RVA = "0x1B48C60", Offset = "0x1B47A60", VA = "0x181B48C60")]
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: 0x0600BC87 RID: 48263 RVA: 0x002ADEDC File Offset: 0x002AC0DC
[Token(Token = "0x600BC87")]
[Address(RVA = "0x1B48B00", Offset = "0x1B47900", VA = "0x181B48B00")]
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: 0x0600BC88 RID: 48264 RVA: 0x002ADF30 File Offset: 0x002AC130
[Token(Token = "0x600BC88")]
[Address(RVA = "0x1B48A60", Offset = "0x1B47860", VA = "0x181B48A60")]
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: 0x0600BC89 RID: 48265 RVA: 0x002ADF70 File Offset: 0x002AC170
[Token(Token = "0x600BC89")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public Srp6Utilities()
{
}
}
}