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: 0x02001DF3 RID: 7667 [Token(Token = "0x2001DF3")] public class Srp6Utilities { // Token: 0x0600C04C RID: 49228 RVA: 0x002B65E0 File Offset: 0x002B47E0 [Token(Token = "0x600C04C")] [Address(RVA = "0x25AFF40", Offset = "0x25AEF40", VA = "0x1825AFF40")] public static BigInteger CalculateK(IDigest digest, BigInteger N, BigInteger g) { return Srp6Utilities.HashPaddedPair(digest, N, N, g); } // Token: 0x0600C04D RID: 49229 RVA: 0x002B65F8 File Offset: 0x002B47F8 [Token(Token = "0x600C04D")] [Address(RVA = "0x25B0080", Offset = "0x25AF080", VA = "0x1825B0080")] public static BigInteger CalculateU(IDigest digest, BigInteger N, BigInteger A, BigInteger B) { return Srp6Utilities.HashPaddedPair(digest, N, A, B); } // Token: 0x0600C04E RID: 49230 RVA: 0x002B6610 File Offset: 0x002B4810 [Token(Token = "0x600C04E")] [Address(RVA = "0x25B0090", Offset = "0x25AF090", VA = "0x1825B0090")] 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: 0x0600C04F RID: 49231 RVA: 0x002B664C File Offset: 0x002B484C [Token(Token = "0x600C04F")] [Address(RVA = "0x25B0240", Offset = "0x25AF240", VA = "0x1825B0240")] 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: 0x0600C050 RID: 49232 RVA: 0x002B66A4 File Offset: 0x002B48A4 [Token(Token = "0x600C050")] [Address(RVA = "0x25B0700", Offset = "0x25AF700", VA = "0x1825B0700")] public static BigInteger ValidatePublicValue(BigInteger N, BigInteger val) { return val.Mod(N); } // Token: 0x0600C051 RID: 49233 RVA: 0x002B66CC File Offset: 0x002B48CC [Token(Token = "0x600C051")] [Address(RVA = "0x25B0070", Offset = "0x25AF070", VA = "0x1825B0070")] public static BigInteger CalculateM1(IDigest digest, BigInteger N, BigInteger A, BigInteger B, BigInteger S) { BigInteger bigInteger; return bigInteger; } // Token: 0x0600C052 RID: 49234 RVA: 0x002B66DC File Offset: 0x002B48DC [Token(Token = "0x600C052")] [Address(RVA = "0x25B0070", Offset = "0x25AF070", VA = "0x1825B0070")] public static BigInteger CalculateM2(IDigest digest, BigInteger N, BigInteger A, BigInteger M1, BigInteger S) { BigInteger bigInteger; return bigInteger; } // Token: 0x0600C053 RID: 49235 RVA: 0x002B66EC File Offset: 0x002B48EC [Token(Token = "0x600C053")] [Address(RVA = "0x25AFF60", Offset = "0x25AEF60", VA = "0x1825AFF60")] 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: 0x0600C054 RID: 49236 RVA: 0x002B6734 File Offset: 0x002B4934 [Token(Token = "0x600C054")] [Address(RVA = "0x25B0550", Offset = "0x25AF550", VA = "0x1825B0550")] 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: 0x0600C055 RID: 49237 RVA: 0x002B6794 File Offset: 0x002B4994 [Token(Token = "0x600C055")] [Address(RVA = "0x25B03F0", Offset = "0x25AF3F0", VA = "0x1825B03F0")] 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: 0x0600C056 RID: 49238 RVA: 0x002B67E8 File Offset: 0x002B49E8 [Token(Token = "0x600C056")] [Address(RVA = "0x25B0350", Offset = "0x25AF350", VA = "0x1825B0350")] 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: 0x0600C057 RID: 49239 RVA: 0x002B6828 File Offset: 0x002B4A28 [Token(Token = "0x600C057")] [Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")] public Srp6Utilities() { } } }