444 lines
12 KiB
C#
444 lines
12 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes.Gcm
|
|
{
|
|
// Token: 0x02001666 RID: 5734
|
|
[Token(Token = "0x2001666")]
|
|
[StructLayout(3)]
|
|
internal abstract class GcmUtilities
|
|
{
|
|
// Token: 0x06009913 RID: 39187 RVA: 0x00220560 File Offset: 0x0021E760
|
|
[Token(Token = "0x6009913")]
|
|
[Address(RVA = "0x20EE090", Offset = "0x20ECA90", VA = "0x1820EE090")]
|
|
private static uint[] GenerateLookup()
|
|
{
|
|
uint[] array = new uint[256];
|
|
int num = 0;
|
|
num++;
|
|
array[0] = (uint)256;
|
|
return array;
|
|
}
|
|
|
|
// Token: 0x06009914 RID: 39188 RVA: 0x00220594 File Offset: 0x0021E794
|
|
[Token(Token = "0x6009914")]
|
|
[Address(RVA = "0x20EEAA0", Offset = "0x20ED4A0", VA = "0x1820EEAA0")]
|
|
internal static byte[] OneAsBytes()
|
|
{
|
|
byte[] array = new byte[16];
|
|
array[0] = (byte)((ulong)128L);
|
|
return array;
|
|
}
|
|
|
|
// Token: 0x06009915 RID: 39189 RVA: 0x002205C0 File Offset: 0x0021E7C0
|
|
[Token(Token = "0x6009915")]
|
|
[Address(RVA = "0x20EEB00", Offset = "0x20ED500", VA = "0x1820EEB00")]
|
|
internal static uint[] OneAsUints()
|
|
{
|
|
uint[] array = new uint[4];
|
|
array[0] = (uint)((ulong)2147483648L);
|
|
return array;
|
|
}
|
|
|
|
// Token: 0x06009916 RID: 39190 RVA: 0x002205EC File Offset: 0x0021E7EC
|
|
[Token(Token = "0x6009916")]
|
|
[Address(RVA = "0x20EEB60", Offset = "0x20ED560", VA = "0x1820EEB60")]
|
|
internal static ulong[] OneAsUlongs()
|
|
{
|
|
ulong[] array = new ulong[2];
|
|
array[0] = (ulong)long.MinValue;
|
|
return array;
|
|
}
|
|
|
|
// Token: 0x06009917 RID: 39191 RVA: 0x00220618 File Offset: 0x0021E818
|
|
[Token(Token = "0x6009917")]
|
|
[Address(RVA = "0x20EDF90", Offset = "0x20EC990", VA = "0x1820EDF90")]
|
|
internal static byte[] AsBytes(uint[] x)
|
|
{
|
|
return Pack.UInt32_To_BE(x);
|
|
}
|
|
|
|
// Token: 0x06009918 RID: 39192 RVA: 0x0022062C File Offset: 0x0021E82C
|
|
[Token(Token = "0x6009918")]
|
|
[Address(RVA = "0x20EDFA0", Offset = "0x20EC9A0", VA = "0x1820EDFA0")]
|
|
internal static void AsBytes(uint[] x, byte[] z)
|
|
{
|
|
int num = 0;
|
|
Pack.UInt32_To_BE(x, z, num);
|
|
}
|
|
|
|
// Token: 0x06009919 RID: 39193 RVA: 0x00220644 File Offset: 0x0021E844
|
|
[Token(Token = "0x6009919")]
|
|
[Address(RVA = "0x20EDF20", Offset = "0x20EC920", VA = "0x1820EDF20")]
|
|
internal static byte[] AsBytes(ulong[] x)
|
|
{
|
|
byte[] array = new byte[16];
|
|
int num = 0;
|
|
Pack.UInt64_To_BE(x, array, num);
|
|
return array;
|
|
}
|
|
|
|
// Token: 0x0600991A RID: 39194 RVA: 0x00220664 File Offset: 0x0021E864
|
|
[Token(Token = "0x600991A")]
|
|
[Address(RVA = "0x20EDF80", Offset = "0x20EC980", VA = "0x1820EDF80")]
|
|
internal static void AsBytes(ulong[] x, byte[] z)
|
|
{
|
|
int num = 0;
|
|
Pack.UInt64_To_BE(x, z, num);
|
|
}
|
|
|
|
// Token: 0x0600991B RID: 39195 RVA: 0x0022067C File Offset: 0x0021E87C
|
|
[Token(Token = "0x600991B")]
|
|
[Address(RVA = "0x20EDFC0", Offset = "0x20EC9C0", VA = "0x1820EDFC0")]
|
|
internal static uint[] AsUints(byte[] bs)
|
|
{
|
|
uint[] array = new uint[4];
|
|
int num = 0;
|
|
Pack.BE_To_UInt32(bs, num, array);
|
|
return array;
|
|
}
|
|
|
|
// Token: 0x0600991C RID: 39196 RVA: 0x0022069C File Offset: 0x0021E89C
|
|
[Token(Token = "0x600991C")]
|
|
[Address(RVA = "0x20EDFB0", Offset = "0x20EC9B0", VA = "0x1820EDFB0")]
|
|
internal static void AsUints(byte[] bs, uint[] output)
|
|
{
|
|
int num = 0;
|
|
Pack.BE_To_UInt32(bs, num, output);
|
|
}
|
|
|
|
// Token: 0x0600991D RID: 39197 RVA: 0x002206B4 File Offset: 0x0021E8B4
|
|
[Token(Token = "0x600991D")]
|
|
[Address(RVA = "0x20EE020", Offset = "0x20ECA20", VA = "0x1820EE020")]
|
|
internal static ulong[] AsUlongs(byte[] x)
|
|
{
|
|
ulong[] array = new ulong[2];
|
|
int num = 0;
|
|
Pack.BE_To_UInt64(x, num, array);
|
|
return array;
|
|
}
|
|
|
|
// Token: 0x0600991E RID: 39198 RVA: 0x002206D4 File Offset: 0x0021E8D4
|
|
[Token(Token = "0x600991E")]
|
|
[Address(RVA = "0x20EE080", Offset = "0x20ECA80", VA = "0x1820EE080")]
|
|
public static void AsUlongs(byte[] x, ulong[] z)
|
|
{
|
|
int num = 0;
|
|
Pack.BE_To_UInt64(x, num, z);
|
|
}
|
|
|
|
// Token: 0x0600991F RID: 39199 RVA: 0x002206EC File Offset: 0x0021E8EC
|
|
[Token(Token = "0x600991F")]
|
|
[Address(RVA = "0x20EE850", Offset = "0x20ED250", VA = "0x1820EE850")]
|
|
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: 0x06009920 RID: 39200 RVA: 0x00220730 File Offset: 0x0021E930
|
|
[Token(Token = "0x6009920")]
|
|
[Address(RVA = "0x20EE670", Offset = "0x20ED070", VA = "0x1820EE670")]
|
|
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: 0x06009921 RID: 39201 RVA: 0x00220788 File Offset: 0x0021E988
|
|
[Token(Token = "0x6009921")]
|
|
[Address(RVA = "0x20EE960", Offset = "0x20ED360", VA = "0x1820EE960")]
|
|
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: 0x06009922 RID: 39202 RVA: 0x002207D8 File Offset: 0x0021E9D8
|
|
[Token(Token = "0x6009922")]
|
|
[Address(RVA = "0x20EE3B0", Offset = "0x20ECDB0", VA = "0x1820EE3B0")]
|
|
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: 0x06009923 RID: 39203 RVA: 0x00220828 File Offset: 0x0021EA28
|
|
[Token(Token = "0x6009923")]
|
|
[Address(RVA = "0x20EE4C0", Offset = "0x20ECEC0", VA = "0x1820EE4C0")]
|
|
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: 0x06009924 RID: 39204 RVA: 0x00220878 File Offset: 0x0021EA78
|
|
[Token(Token = "0x6009924")]
|
|
[Address(RVA = "0x20EE260", Offset = "0x20ECC60", VA = "0x1820EE260")]
|
|
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: 0x06009925 RID: 39205 RVA: 0x002208D0 File Offset: 0x0021EAD0
|
|
[Token(Token = "0x6009925")]
|
|
[Address(RVA = "0x20EE1A0", Offset = "0x20ECBA0", VA = "0x1820EE1A0")]
|
|
internal static void MultiplyP8(uint[] x, uint[] y)
|
|
{
|
|
uint num = GcmUtilities.ShiftRightN(x, 8, y);
|
|
}
|
|
|
|
// Token: 0x06009926 RID: 39206 RVA: 0x002208EC File Offset: 0x0021EAEC
|
|
[Token(Token = "0x6009926")]
|
|
[Address(RVA = "0x20EEE30", Offset = "0x20ED830", VA = "0x1820EEE30")]
|
|
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: 0x06009927 RID: 39207 RVA: 0x00220948 File Offset: 0x0021EB48
|
|
[Token(Token = "0x6009927")]
|
|
[Address(RVA = "0x20EEEF0", Offset = "0x20ED8F0", VA = "0x1820EEEF0")]
|
|
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: 0x06009928 RID: 39208 RVA: 0x002209A0 File Offset: 0x0021EBA0
|
|
[Token(Token = "0x6009928")]
|
|
[Address(RVA = "0x20EED40", Offset = "0x20ED740", VA = "0x1820EED40")]
|
|
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: 0x06009929 RID: 39209 RVA: 0x002209FC File Offset: 0x0021EBFC
|
|
[Token(Token = "0x6009929")]
|
|
[Address(RVA = "0x20EEBD0", Offset = "0x20ED5D0", VA = "0x1820EEBD0")]
|
|
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: 0x0600992A RID: 39210 RVA: 0x00220A58 File Offset: 0x0021EC58
|
|
[Token(Token = "0x600992A")]
|
|
[Address(RVA = "0x20EF680", Offset = "0x20EE080", VA = "0x1820EF680")]
|
|
internal static void Xor(byte[] x, byte[] y)
|
|
{
|
|
int num = 0;
|
|
num += 3;
|
|
if (4UL < (ulong)16L)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600992B RID: 39211 RVA: 0x00220A78 File Offset: 0x0021EC78
|
|
[Token(Token = "0x600992B")]
|
|
[Address(RVA = "0x20EF030", Offset = "0x20EDA30", VA = "0x1820EF030")]
|
|
internal static void Xor(byte[] x, byte[] y, int yOff)
|
|
{
|
|
int num = 0;
|
|
num++;
|
|
num++;
|
|
num += 2;
|
|
num++;
|
|
num++;
|
|
}
|
|
|
|
// Token: 0x0600992C RID: 39212 RVA: 0x00220AA4 File Offset: 0x0021ECA4
|
|
[Token(Token = "0x600992C")]
|
|
[Address(RVA = "0x20EF7D0", Offset = "0x20EE1D0", VA = "0x1820EF7D0")]
|
|
internal static void Xor(byte[] x, int xOff, byte[] y, int yOff, byte[] z, int zOff)
|
|
{
|
|
int num = 0;
|
|
num += 4;
|
|
}
|
|
|
|
// Token: 0x0600992D RID: 39213 RVA: 0x00220AC0 File Offset: 0x0021ECC0
|
|
[Token(Token = "0x600992D")]
|
|
[Address(RVA = "0x20EF610", Offset = "0x20EE010", VA = "0x1820EF610")]
|
|
internal static void Xor(byte[] x, byte[] y, int yOff, int yLen)
|
|
{
|
|
int num = yLen - 1;
|
|
}
|
|
|
|
// Token: 0x0600992E RID: 39214 RVA: 0x00220AD8 File Offset: 0x0021ECD8
|
|
[Token(Token = "0x600992E")]
|
|
[Address(RVA = "0x20EFB30", Offset = "0x20EE530", VA = "0x1820EFB30")]
|
|
internal static void Xor(byte[] x, int xOff, byte[] y, int yOff, int len)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600992F RID: 39215 RVA: 0x00220AEC File Offset: 0x0021ECEC
|
|
[Token(Token = "0x600992F")]
|
|
[Address(RVA = "0x20EF440", Offset = "0x20EDE40", VA = "0x1820EF440")]
|
|
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: 0x06009930 RID: 39216 RVA: 0x00220B1C File Offset: 0x0021ED1C
|
|
[Token(Token = "0x6009930")]
|
|
[Address(RVA = "0x20EF350", Offset = "0x20EDD50", VA = "0x1820EF350")]
|
|
internal static void Xor(uint[] x, uint[] y)
|
|
{
|
|
uint num = y[1];
|
|
}
|
|
|
|
// Token: 0x06009931 RID: 39217 RVA: 0x00220B38 File Offset: 0x0021ED38
|
|
[Token(Token = "0x6009931")]
|
|
[Address(RVA = "0x20EF1B0", Offset = "0x20EDBB0", VA = "0x1820EF1B0")]
|
|
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: 0x06009932 RID: 39218 RVA: 0x00220B8C File Offset: 0x0021ED8C
|
|
[Token(Token = "0x6009932")]
|
|
[Address(RVA = "0x20EF9E0", Offset = "0x20EE3E0", VA = "0x1820EF9E0")]
|
|
internal static void Xor(ulong[] x, ulong[] y)
|
|
{
|
|
ulong num = y[1];
|
|
}
|
|
|
|
// Token: 0x06009933 RID: 39219 RVA: 0x00220BA8 File Offset: 0x0021EDA8
|
|
[Token(Token = "0x6009933")]
|
|
[Address(RVA = "0x20EFA70", Offset = "0x20EE470", VA = "0x1820EFA70")]
|
|
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: 0x06009934 RID: 39220 RVA: 0x00220BDC File Offset: 0x0021EDDC
|
|
[Token(Token = "0x6009934")]
|
|
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
|
protected GcmUtilities()
|
|
{
|
|
}
|
|
|
|
// Token: 0x06009935 RID: 39221 RVA: 0x00220BF0 File Offset: 0x0021EDF0
|
|
// Note: this type is marked as 'beforefieldinit'.
|
|
[Token(Token = "0x6009935")]
|
|
[Address(RVA = "0x20EFBC0", Offset = "0x20EE5C0", VA = "0x1820EFBC0")]
|
|
static GcmUtilities()
|
|
{
|
|
uint[] array = new uint[256];
|
|
int num = 0;
|
|
num++;
|
|
array[0] = (uint)256;
|
|
}
|
|
|
|
// Token: 0x04006499 RID: 25753
|
|
[Token(Token = "0x4006499")]
|
|
private const uint E1 = 3774873600U;
|
|
|
|
// Token: 0x0400649A RID: 25754
|
|
[Token(Token = "0x400649A")]
|
|
private const ulong E1L = 16212958658533785600UL;
|
|
|
|
// Token: 0x0400649B RID: 25755
|
|
[Token(Token = "0x400649B")]
|
|
private static readonly uint[] LOOKUP;
|
|
}
|
|
}
|