using System; using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes.Gcm { // Token: 0x02001C43 RID: 7235 [Token(Token = "0x2001C43")] internal abstract class GcmUtilities { // Token: 0x0600B4ED RID: 46317 RVA: 0x00277B78 File Offset: 0x00275D78 [Token(Token = "0x600B4ED")] [Address(RVA = "0x1C250F0", Offset = "0x1C23EF0", VA = "0x181C250F0")] private static uint[] GenerateLookup() { uint[] array = new uint[256]; int num = 0; num++; array[0] = (uint)256; return array; } // Token: 0x0600B4EE RID: 46318 RVA: 0x00277BAC File Offset: 0x00275DAC [Token(Token = "0x600B4EE")] [Address(RVA = "0x1C25B00", Offset = "0x1C24900", VA = "0x181C25B00")] internal static byte[] OneAsBytes() { byte[] array = new byte[16]; array[0] = (byte)((ulong)128L); return array; } // Token: 0x0600B4EF RID: 46319 RVA: 0x00277BD8 File Offset: 0x00275DD8 [Token(Token = "0x600B4EF")] [Address(RVA = "0x1C25B60", Offset = "0x1C24960", VA = "0x181C25B60")] internal static uint[] OneAsUints() { uint[] array = new uint[4]; array[0] = (uint)((ulong)2147483648L); return array; } // Token: 0x0600B4F0 RID: 46320 RVA: 0x00277C04 File Offset: 0x00275E04 [Token(Token = "0x600B4F0")] [Address(RVA = "0x1C25BC0", Offset = "0x1C249C0", VA = "0x181C25BC0")] internal static ulong[] OneAsUlongs() { ulong[] array = new ulong[2]; array[0] = (ulong)long.MinValue; return array; } // Token: 0x0600B4F1 RID: 46321 RVA: 0x00277C30 File Offset: 0x00275E30 [Token(Token = "0x600B4F1")] [Address(RVA = "0x1C24FF0", Offset = "0x1C23DF0", VA = "0x181C24FF0")] internal static byte[] AsBytes(uint[] x) { return Pack.UInt32_To_BE(x); } // Token: 0x0600B4F2 RID: 46322 RVA: 0x00277C44 File Offset: 0x00275E44 [Token(Token = "0x600B4F2")] [Address(RVA = "0x1C25000", Offset = "0x1C23E00", VA = "0x181C25000")] internal static void AsBytes(uint[] x, byte[] z) { int num = 0; Pack.UInt32_To_BE(x, z, num); } // Token: 0x0600B4F3 RID: 46323 RVA: 0x00277C5C File Offset: 0x00275E5C [Token(Token = "0x600B4F3")] [Address(RVA = "0x1C24F80", Offset = "0x1C23D80", VA = "0x181C24F80")] internal static byte[] AsBytes(ulong[] x) { byte[] array = new byte[16]; int num = 0; Pack.UInt64_To_BE(x, array, num); return array; } // Token: 0x0600B4F4 RID: 46324 RVA: 0x00277C7C File Offset: 0x00275E7C [Token(Token = "0x600B4F4")] [Address(RVA = "0x1C24FE0", Offset = "0x1C23DE0", VA = "0x181C24FE0")] internal static void AsBytes(ulong[] x, byte[] z) { int num = 0; Pack.UInt64_To_BE(x, z, num); } // Token: 0x0600B4F5 RID: 46325 RVA: 0x00277C94 File Offset: 0x00275E94 [Token(Token = "0x600B4F5")] [Address(RVA = "0x1C25020", Offset = "0x1C23E20", VA = "0x181C25020")] internal static uint[] AsUints(byte[] bs) { uint[] array = new uint[4]; int num = 0; Pack.BE_To_UInt32(bs, num, array); return array; } // Token: 0x0600B4F6 RID: 46326 RVA: 0x00277CB4 File Offset: 0x00275EB4 [Token(Token = "0x600B4F6")] [Address(RVA = "0x1C25010", Offset = "0x1C23E10", VA = "0x181C25010")] internal static void AsUints(byte[] bs, uint[] output) { int num = 0; Pack.BE_To_UInt32(bs, num, output); } // Token: 0x0600B4F7 RID: 46327 RVA: 0x00277CCC File Offset: 0x00275ECC [Token(Token = "0x600B4F7")] [Address(RVA = "0x1C25080", Offset = "0x1C23E80", VA = "0x181C25080")] internal static ulong[] AsUlongs(byte[] x) { ulong[] array = new ulong[2]; int num = 0; Pack.BE_To_UInt64(x, num, array); return array; } // Token: 0x0600B4F8 RID: 46328 RVA: 0x00277CEC File Offset: 0x00275EEC [Token(Token = "0x600B4F8")] [Address(RVA = "0x1C250E0", Offset = "0x1C23EE0", VA = "0x181C250E0")] public static void AsUlongs(byte[] x, ulong[] z) { int num = 0; Pack.BE_To_UInt64(x, num, z); } // Token: 0x0600B4F9 RID: 46329 RVA: 0x00277D04 File Offset: 0x00275F04 [Token(Token = "0x600B4F9")] [Address(RVA = "0x1C258B0", Offset = "0x1C246B0", VA = "0x181C258B0")] internal static void Multiply(byte[] x, byte[] y) { uint[] array = new uint[4]; int num = 0; Pack.BE_To_UInt32(x, num, array); uint[] array2 = new uint[4]; int num2 = 0; Pack.BE_To_UInt32(y, num2, array2); GcmUtilities.Multiply(array, array2); int num3 = 0; Pack.UInt32_To_BE(array, x, num3); } // Token: 0x0600B4FA RID: 46330 RVA: 0x00277D48 File Offset: 0x00275F48 [Token(Token = "0x600B4FA")] [Address(RVA = "0x1C256D0", Offset = "0x1C244D0", VA = "0x181C256D0")] internal static void Multiply(uint[] x, uint[] y) { int length = x.Length; int num = 0; uint num2 = y[num]; num2 += num2; while (num != y.Length) { } num++; x[0] = (uint)num; x[0] = (uint)num; x[1] = (uint)num; x[1] = (uint)num; } // Token: 0x0600B4FB RID: 46331 RVA: 0x00277DA0 File Offset: 0x00275FA0 [Token(Token = "0x600B4FB")] [Address(RVA = "0x1C259C0", Offset = "0x1C247C0", VA = "0x181C259C0")] internal static void Multiply(ulong[] x, ulong[] y) { int length = x.Length; ulong num = x[1]; int num2 = 0; ulong num3 = y[num2]; num3 += num3; while (num2 != y.Length) { } num2++; x[0] = (ulong)num2; x[1] = (ulong)num2; } // Token: 0x0600B4FC RID: 46332 RVA: 0x00277DF0 File Offset: 0x00275FF0 [Token(Token = "0x600B4FC")] [Address(RVA = "0x1C25410", Offset = "0x1C24210", VA = "0x181C25410")] internal static void MultiplyP(uint[] x) { uint num = x[0]; x[0] = num; uint num2 = x[0]; num = num2; x[0] = num; uint num3 = x[1]; x[1] = num2; x[1] = num3; } // Token: 0x0600B4FD RID: 46333 RVA: 0x00277E40 File Offset: 0x00276040 [Token(Token = "0x600B4FD")] [Address(RVA = "0x1C25520", Offset = "0x1C24320", VA = "0x181C25520")] internal static void MultiplyP(uint[] x, uint[] z) { uint num = x[0]; z[0] = num; uint num2 = x[0]; num = num2; z[0] = num; uint num3 = x[1]; z[1] = num2; z[1] = num3; } // Token: 0x0600B4FE RID: 46334 RVA: 0x00277E90 File Offset: 0x00276090 [Token(Token = "0x600B4FE")] [Address(RVA = "0x1C252C0", Offset = "0x1C240C0", VA = "0x181C252C0")] internal static void MultiplyP8(uint[] x) { uint num = x[0]; x[0] = num; uint num2 = x[0]; num = num2; x[0] = num; uint num3 = x[1]; x[1] = num2; num = x[1]; x[1] = num3; } // Token: 0x0600B4FF RID: 46335 RVA: 0x00277EE8 File Offset: 0x002760E8 [Token(Token = "0x600B4FF")] [Address(RVA = "0x1C25200", Offset = "0x1C24000", VA = "0x181C25200")] internal static void MultiplyP8(uint[] x, uint[] y) { uint num = GcmUtilities.ShiftRightN(x, 8, y); } // Token: 0x0600B500 RID: 46336 RVA: 0x00277F04 File Offset: 0x00276104 [Token(Token = "0x600B500")] [Address(RVA = "0x1C25E90", Offset = "0x1C24C90", VA = "0x181C25E90")] internal static uint ShiftRight(uint[] x) { uint num = x[0]; x[0] = num; uint num2 = x[0]; num = num2; x[0] = num; uint num3 = x[1]; x[1] = num2; uint num4 = x[1]; x[1] = num3; return num4; } // Token: 0x0600B501 RID: 46337 RVA: 0x00277F60 File Offset: 0x00276160 [Token(Token = "0x600B501")] [Address(RVA = "0x1C25F50", Offset = "0x1C24D50", VA = "0x181C25F50")] internal static uint ShiftRight(uint[] x, uint[] z) { uint num = x[0]; z[0] = num; uint num2 = x[0]; num = num2; z[0] = num; uint num3 = x[1]; z[1] = num2; uint num4 = x[1]; z[1] = num3; return num4; } // Token: 0x0600B502 RID: 46338 RVA: 0x00277FB8 File Offset: 0x002761B8 [Token(Token = "0x600B502")] [Address(RVA = "0x1C25DA0", Offset = "0x1C24BA0", VA = "0x181C25DA0")] internal static uint ShiftRightN(uint[] x, int n) { uint num = x[0]; x[0] = num; uint num2 = x[0]; num = num2; x[0] = num; uint num3 = x[1]; x[1] = num2; uint num4 = x[1]; x[1] = num3; return num4; } // Token: 0x0600B503 RID: 46339 RVA: 0x00278014 File Offset: 0x00276214 [Token(Token = "0x600B503")] [Address(RVA = "0x1C25C30", Offset = "0x1C24A30", VA = "0x181C25C30")] internal static uint ShiftRightN(uint[] x, int n, uint[] z) { uint num = x[0]; z[0] = num; uint num2 = x[0]; num = num2; z[0] = num; uint num3 = x[1]; z[1] = num2; uint num4 = x[1]; z[1] = num3; return num4; } // Token: 0x0600B504 RID: 46340 RVA: 0x00278070 File Offset: 0x00276270 [Token(Token = "0x600B504")] [Address(RVA = "0x1C266E0", Offset = "0x1C254E0", VA = "0x181C266E0")] internal static void Xor(byte[] x, byte[] y) { int num = 0; num += 3; if (4UL < (ulong)16L) { } } // Token: 0x0600B505 RID: 46341 RVA: 0x00278090 File Offset: 0x00276290 [Token(Token = "0x600B505")] [Address(RVA = "0x1C26090", Offset = "0x1C24E90", VA = "0x181C26090")] internal static void Xor(byte[] x, byte[] y, int yOff) { int num = 0; num++; num++; num += 2; num++; num++; } // Token: 0x0600B506 RID: 46342 RVA: 0x002780BC File Offset: 0x002762BC [Token(Token = "0x600B506")] [Address(RVA = "0x1C26830", Offset = "0x1C25630", VA = "0x181C26830")] internal static void Xor(byte[] x, int xOff, byte[] y, int yOff, byte[] z, int zOff) { int num = 0; num += 4; } // Token: 0x0600B507 RID: 46343 RVA: 0x002780D8 File Offset: 0x002762D8 [Token(Token = "0x600B507")] [Address(RVA = "0x1C26670", Offset = "0x1C25470", VA = "0x181C26670")] internal static void Xor(byte[] x, byte[] y, int yOff, int yLen) { int num = yLen - 1; } // Token: 0x0600B508 RID: 46344 RVA: 0x002780F0 File Offset: 0x002762F0 [Token(Token = "0x600B508")] [Address(RVA = "0x1C26B90", Offset = "0x1C25990", VA = "0x181C26B90")] internal static void Xor(byte[] x, int xOff, byte[] y, int yOff, int len) { } // Token: 0x0600B509 RID: 46345 RVA: 0x00278104 File Offset: 0x00276304 [Token(Token = "0x600B509")] [Address(RVA = "0x1C264A0", Offset = "0x1C252A0", VA = "0x181C264A0")] internal static void Xor(byte[] x, byte[] y, byte[] z) { int num = 0; byte b = x[num]; z[0] = b; num += 3; if (4UL < (ulong)16L) { } } // Token: 0x0600B50A RID: 46346 RVA: 0x00278134 File Offset: 0x00276334 [Token(Token = "0x600B50A")] [Address(RVA = "0x1C263B0", Offset = "0x1C251B0", VA = "0x181C263B0")] internal static void Xor(uint[] x, uint[] y) { uint num = y[1]; } // Token: 0x0600B50B RID: 46347 RVA: 0x00278150 File Offset: 0x00276350 [Token(Token = "0x600B50B")] [Address(RVA = "0x1C26210", Offset = "0x1C25010", VA = "0x181C26210")] internal static void Xor(uint[] x, uint[] y, uint[] z) { uint num = y[0]; z[0] = num; uint num2 = y[0]; z[0] = num2; uint num3 = y[1]; z[1] = num3; uint num4 = y[1]; z[1] = num4; } // Token: 0x0600B50C RID: 46348 RVA: 0x002781A4 File Offset: 0x002763A4 [Token(Token = "0x600B50C")] [Address(RVA = "0x1C26A40", Offset = "0x1C25840", VA = "0x181C26A40")] internal static void Xor(ulong[] x, ulong[] y) { ulong num = y[1]; } // Token: 0x0600B50D RID: 46349 RVA: 0x002781C0 File Offset: 0x002763C0 [Token(Token = "0x600B50D")] [Address(RVA = "0x1C26AD0", Offset = "0x1C258D0", VA = "0x181C26AD0")] internal static void Xor(ulong[] x, ulong[] y, ulong[] z) { ulong num = y[0]; z[0] = num; ulong num2 = y[1]; z[1] = num2; } // Token: 0x0600B50E RID: 46350 RVA: 0x002781F4 File Offset: 0x002763F4 [Token(Token = "0x600B50E")] [Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")] protected GcmUtilities() { } // Token: 0x0600B50F RID: 46351 RVA: 0x00278208 File Offset: 0x00276408 // Note: this type is marked as 'beforefieldinit'. [Token(Token = "0x600B50F")] [Address(RVA = "0x1C26C20", Offset = "0x1C25A20", VA = "0x181C26C20")] static GcmUtilities() { uint[] array = new uint[256]; int num = 0; num++; array[0] = (uint)256; } // Token: 0x040072DC RID: 29404 [Token(Token = "0x40072DC")] private const uint E1 = 3774873600U; // Token: 0x040072DD RID: 29405 [Token(Token = "0x40072DD")] private const ulong E1L = 16212958658533785600UL; // Token: 0x040072DE RID: 29406 [Token(Token = "0x40072DE")] private static readonly uint[] LOOKUP; } }