Files
27Aug2021-Cpp2IL-Dump/Assembly-CSharp/BestHTTP/SecureProtocol/Org/BouncyCastle/Crypto/Engines/TwofishEngine.cs
T
niko c12fbe3fc6 m
2026-04-12 16:51:38 +02:00

671 lines
22 KiB
C#

using System;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
{
// Token: 0x02001D97 RID: 7575
[Token(Token = "0x2001D97")]
public sealed class TwofishEngine : IBlockCipher
{
// Token: 0x0600BD03 RID: 48387 RVA: 0x002A1A20 File Offset: 0x0029FC20
[Token(Token = "0x600BD03")]
[Address(RVA = "0x2593F40", Offset = "0x2592F40", VA = "0x182593F40")]
public TwofishEngine()
{
int[] array = new int[256];
this.gMDS0 = array;
int[] array2 = new int[256];
this.gMDS1 = array2;
int[] array3 = new int[256];
this.gMDS2 = array3;
int[] array4 = new int[256];
this.gMDS3 = array4;
base..ctor();
int[] array5 = new int[2];
int[] array6 = new int[2];
int[] array7 = new int[2];
byte[,] p = TwofishEngine.P;
throw new IndexOutOfRangeException();
}
// Token: 0x0600BD04 RID: 48388 RVA: 0x002A1B5C File Offset: 0x0029FD5C
[Token(Token = "0x600BD04")]
[Address(RVA = "0x2592D20", Offset = "0x2591D20", VA = "0x182592D20", Slot = "5")]
public void Init(bool forEncryption, ICipherParameters parameters)
{
/*
An exception occurred when decompiling this method (0600BD04)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.TwofishEngine::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_47:
stloc:ArgumentException(var_7_58, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("invalid parameter passed to Twofish init - "), ldloc:string(var_6))))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
*/;
}
// Token: 0x17001D98 RID: 7576
// (get) Token: 0x0600BD05 RID: 48389 RVA: 0x002A1BC4 File Offset: 0x0029FDC4
[Token(Token = "0x17001D98")]
public string AlgorithmName
{
[Token(Token = "0x600BD05")]
[Address(RVA = "0x2594460", Offset = "0x2593460", VA = "0x182594460", Slot = "4")]
get
{
return "Twofish";
}
}
// Token: 0x17001D99 RID: 7577
// (get) Token: 0x0600BD06 RID: 48390 RVA: 0x002A1BD8 File Offset: 0x0029FDD8
[Token(Token = "0x17001D99")]
public bool IsPartialBlockOkay
{
[Token(Token = "0x600BD06")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "7")]
get
{
}
}
// Token: 0x0600BD07 RID: 48391 RVA: 0x002A1BE8 File Offset: 0x0029FDE8
[Token(Token = "0x600BD07")]
[Address(RVA = "0x2592FD0", Offset = "0x2591FD0", VA = "0x182592FD0", Slot = "8")]
public int ProcessBlock(byte[] input, int inOff, byte[] output, int outOff)
{
/*
An exception occurred when decompiling this method (0600BD07)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.TwofishEngine::ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_27:
stloc:InvalidOperationException(var_1_31, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Twofish not initialised")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
*/;
}
// Token: 0x0600BD08 RID: 48392 RVA: 0x002A1C28 File Offset: 0x0029FE28
[Token(Token = "0x600BD08")]
[Address(RVA = "0x25931F0", Offset = "0x25921F0", VA = "0x1825931F0", Slot = "9")]
public void Reset()
{
byte[] array = this.workingKey;
if (array != 0)
{
this.SetKey(array);
return;
}
}
// Token: 0x0600BD09 RID: 48393 RVA: 0x002A1C48 File Offset: 0x0029FE48
[Token(Token = "0x600BD09")]
[Address(RVA = "0x8BB9C0", Offset = "0x8BA9C0", VA = "0x1808BB9C0", Slot = "6")]
public int GetBlockSize()
{
return 16;
}
// Token: 0x0600BD0A RID: 48394 RVA: 0x002A1C58 File Offset: 0x0029FE58
[Token(Token = "0x600BD0A")]
[Address(RVA = "0x2593210", Offset = "0x2592210", VA = "0x182593210")]
private void SetKey(byte[] key)
{
int[] array = new int[4];
int[] array2 = new int[4];
int[] array3 = new int[4];
int[] array4 = new int[40];
int num = this.k64Cnt;
this.gSubKeys = array4;
int num2 = 0;
if (num > 0)
{
int num3 = this.BytesTo32Bits(key, num2);
int length = key.Length;
num2 += 7;
int num4 = this.k64Cnt;
while (num2 != array2.Length)
{
}
while (num2 != array2.Length)
{
}
num4 -= num2;
num2++;
byte b;
array3[0] = (int)b;
num2 += 8;
}
int num5 = this.F32(num2, array);
int num6 = this.F32(16843009, array2);
int[] array5 = this.gSubKeys;
num5 += num6;
array5[0] = num5;
num5 += num6;
int[] array6 = this.gSubKeys;
num2++;
num2 += 33686018;
num2 += 2;
array6[0] = num5;
int length2 = array3.Length;
int num7 = array3[0];
int num8 = array3[0];
int num9 = array3[1];
int num10 = array3[1];
int[] array7 = new int[1024];
this.gSBox = array7;
int num11 = this.k64Cnt;
if (length2 != 3)
{
if (length2 != 3)
{
if (length2 == 3)
{
int[] array8 = this.gMDS0;
int[] array9 = this.gSBox;
byte[,] p = TwofishEngine.P;
throw new IndexOutOfRangeException();
}
if (num11 == 1)
{
byte[,] p2 = TwofishEngine.P;
throw new IndexOutOfRangeException();
}
}
int[] array10 = this.gSBox;
int[] array11 = this.gMDS0;
byte[,] p3 = TwofishEngine.P;
throw new IndexOutOfRangeException();
}
byte[,] p4 = TwofishEngine.P;
throw new IndexOutOfRangeException();
}
// Token: 0x0600BD0B RID: 48395 RVA: 0x002A1FDC File Offset: 0x002A01DC
[Token(Token = "0x600BD0B")]
[Address(RVA = "0x2591AB0", Offset = "0x2590AB0", VA = "0x182591AB0")]
private void EncryptBlock(byte[] src, int srcIndex, byte[] dst, int dstIndex)
{
int num = this.BytesTo32Bits(src, srcIndex);
int length = this.gSubKeys.Length;
int length2 = src.Length;
int num2 = this.Fe32_0(length2);
byte b;
int num3 = this.Fe32_3((int)b);
int[] array = this.gSubKeys;
int length3 = array.Length;
uint num5;
int num4 = array[(int)num5];
num4 += num3;
num4 += num2;
uint num6 = num5 + 1U;
array += num2;
int[] array2 = this.gSBox;
int length4 = array2.Length;
byte b2;
b2 += b2;
int num7 = array2[(int)b2];
int num8 = this.Fe32_3(array);
int[] array3 = this.gSubKeys;
int length5 = array3.Length;
int num9 = array3[this];
num9 += num8;
num9 += num7;
num5 += (uint)3;
uint num10 = num5 + 1U;
num8 += num7;
int num11 = array3[2];
array3[0] = num11;
array3[0] = num11;
int[] array4 = this.gSubKeys;
int num12 = array4[2];
array4[0] = num12;
array3[0] = num12;
array3[0] = num12;
int[] array5 = this.gSubKeys;
int num13 = array5[3];
array5[0] = num13;
array3[0] = num13;
array3[0] = num13;
int[] array6 = this.gSubKeys;
int num14 = array6[3];
array6[0] = num14;
array3[0] = num14;
array3[0] = num14;
}
// Token: 0x0600BD0C RID: 48396 RVA: 0x002A216C File Offset: 0x002A036C
[Token(Token = "0x600BD0C")]
[Address(RVA = "0x2591250", Offset = "0x2590250", VA = "0x182591250")]
private void DecryptBlock(byte[] src, int srcIndex, byte[] dst, int dstIndex)
{
int num = this.BytesTo32Bits(src, srcIndex);
int length = this.gSubKeys.Length;
int length2 = src.Length;
byte b2;
byte b = b2;
int num2 = this.Fe32_0(length2);
byte b3;
int num3 = this.Fe32_3((int)b3);
int[] array = this.gSubKeys;
int length3 = array.Length;
b3 = (byte)((int)b3 + num2);
uint num5;
uint num4 = num5 - 1U;
byte b4 = b;
int num6 = array[(int)num4];
int[] array2 = this.gSBox;
num6 += num3;
num6 += num2;
int length4 = array2.Length;
b4 += b4;
b = b4;
b4 = b;
num3++;
b = b4;
int num7 = array2[(int)b4];
int num8 = this.Fe32_3((int)b);
int[] array3 = this.gSubKeys;
num3 = num8;
int length5 = array3.Length;
num5 += (uint)(-2);
b = (byte)((int)b + num7);
num5 += (uint)(-3);
uint num9 = num5 - 1U;
int num10 = array3[(int)num5];
num10 += num3;
num10 += num7;
int num11 = array3[0];
array3[0] = num11;
array3[0] = num11;
int[] array4 = this.gSubKeys;
int num12 = array4[0];
array4[0] = num12;
array3[0] = num12;
array3[0] = num12;
int[] array5 = this.gSubKeys;
int num13 = array5[1];
array5[0] = num13;
array3[0] = num13;
array3[0] = num13;
int[] array6 = this.gSubKeys;
int num14 = array6[1];
array6[0] = num14;
array3[0] = num14;
array3[0] = num14;
}
// Token: 0x0600BD0D RID: 48397 RVA: 0x002A2328 File Offset: 0x002A0528
[Token(Token = "0x600BD0D")]
[Address(RVA = "0x2592310", Offset = "0x2591310", VA = "0x182592310")]
private int F32(int x, int[] k32)
{
int length = k32.Length;
int num = k32[0];
int num2 = k32[1];
int num3 = this.k64Cnt;
int num4 = 0;
int num5 = k32[1];
if (length != 3)
{
if (length != 3 && length != 3 && num3 != 1)
{
return num4;
}
int[] array = this.gMDS0;
byte[,] p = TwofishEngine.P;
int[] array2 = this.gMDS1;
int[] array3 = this.gMDS2;
int[] array4 = this.gMDS3;
}
byte[,] p2 = TwofishEngine.P;
num5 = x + k32;
byte[,] p3 = TwofishEngine.P;
byte b;
b += k32;
byte b2;
b2 += k32;
int[] array5 = this.gMDS0;
byte[,] p4 = TwofishEngine.P;
int[] array6 = this.gMDS1;
byte b3 = (byte)((int)b3 + num);
int[] array7 = this.gMDS2;
int[] array8 = this.gMDS3;
byte b5;
byte b4 = b5;
b4 = (byte)((int)b4 + num);
return num4;
}
// Token: 0x0600BD0E RID: 48398 RVA: 0x002A2400 File Offset: 0x002A0600
[Token(Token = "0x600BD0E")]
[Address(RVA = "0x25930D0", Offset = "0x25920D0", VA = "0x1825930D0")]
private int RS_MDS_Encode(int k0, int k1)
{
return k1;
}
// Token: 0x0600BD0F RID: 48399 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600BD0F")]
[Address(RVA = "0x25931A0", Offset = "0x25921A0", VA = "0x1825931A0")]
private int RS_rem(int x)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600BD10 RID: 48400 RVA: 0x002A2410 File Offset: 0x002A0610
[Token(Token = "0x600BD10")]
[Address(RVA = "0x2592EE0", Offset = "0x2591EE0", VA = "0x182592EE0")]
private int LFSR1(int x)
{
return x;
}
// Token: 0x0600BD11 RID: 48401 RVA: 0x002A2420 File Offset: 0x002A0620
[Token(Token = "0x600BD11")]
[Address(RVA = "0x2592F00", Offset = "0x2591F00", VA = "0x182592F00")]
private int LFSR2(int x)
{
return x;
}
// Token: 0x0600BD12 RID: 48402 RVA: 0x002A2430 File Offset: 0x002A0630
[Token(Token = "0x600BD12")]
[Address(RVA = "0x2592F60", Offset = "0x2591F60", VA = "0x182592F60")]
private int Mx_X(int x)
{
return x;
}
// Token: 0x0600BD13 RID: 48403 RVA: 0x002A2440 File Offset: 0x002A0640
[Token(Token = "0x600BD13")]
[Address(RVA = "0x2592F90", Offset = "0x2591F90", VA = "0x182592F90")]
private int Mx_Y(int x)
{
return x;
}
// Token: 0x0600BD14 RID: 48404 RVA: 0x002A2450 File Offset: 0x002A0650
[Token(Token = "0x600BD14")]
[Address(RVA = "0x16A3490", Offset = "0x16A2490", VA = "0x1816A3490")]
private int M_b0(int x)
{
return x;
}
// Token: 0x0600BD15 RID: 48405 RVA: 0x002A2460 File Offset: 0x002A0660
[Token(Token = "0x600BD15")]
[Address(RVA = "0x2592F30", Offset = "0x2591F30", VA = "0x182592F30")]
private int M_b1(int x)
{
return x;
}
// Token: 0x0600BD16 RID: 48406 RVA: 0x002A2470 File Offset: 0x002A0670
[Token(Token = "0x600BD16")]
[Address(RVA = "0x2592F40", Offset = "0x2591F40", VA = "0x182592F40")]
private int M_b2(int x)
{
return x;
}
// Token: 0x0600BD17 RID: 48407 RVA: 0x002A2480 File Offset: 0x002A0680
[Token(Token = "0x600BD17")]
[Address(RVA = "0x2592F50", Offset = "0x2591F50", VA = "0x182592F50")]
private int M_b3(int x)
{
return x;
}
// Token: 0x0600BD18 RID: 48408 RVA: 0x002A2490 File Offset: 0x002A0690
[Token(Token = "0x600BD18")]
[Address(RVA = "0x2592B80", Offset = "0x2591B80", VA = "0x182592B80")]
private int Fe32_0(int x)
{
int[] array = this.gSBox;
int length = array.Length;
return array[x];
}
// Token: 0x0600BD19 RID: 48409 RVA: 0x002A24B8 File Offset: 0x002A06B8
[Token(Token = "0x600BD19")]
[Address(RVA = "0x2592C50", Offset = "0x2591C50", VA = "0x182592C50")]
private int Fe32_3(int x)
{
int[] array = this.gSBox;
int length = array.Length;
return array[this];
}
// Token: 0x0600BD1A RID: 48410 RVA: 0x002A24E0 File Offset: 0x002A06E0
[Token(Token = "0x600BD1A")]
[Address(RVA = "0x25911A0", Offset = "0x25901A0", VA = "0x1825911A0")]
private int BytesTo32Bits(byte[] b, int p)
{
int length = b.Length;
int num = p + 1;
throw new NullReferenceException();
}
// Token: 0x0600BD1B RID: 48411 RVA: 0x002A2500 File Offset: 0x002A0700
[Token(Token = "0x600BD1B")]
[Address(RVA = "0x2591100", Offset = "0x2590100", VA = "0x182591100")]
private void Bits32ToBytes(int inData, byte[] b, int offset)
{
int num = offset + 1;
}
// Token: 0x04007781 RID: 30593
[Token(Token = "0x4007781")]
private static readonly byte[,] P;
// Token: 0x04007782 RID: 30594
[Token(Token = "0x4007782")]
private const int P_00 = 1;
// Token: 0x04007783 RID: 30595
[Token(Token = "0x4007783")]
private const int P_01 = 0;
// Token: 0x04007784 RID: 30596
[Token(Token = "0x4007784")]
private const int P_02 = 0;
// Token: 0x04007785 RID: 30597
[Token(Token = "0x4007785")]
private const int P_03 = 1;
// Token: 0x04007786 RID: 30598
[Token(Token = "0x4007786")]
private const int P_04 = 1;
// Token: 0x04007787 RID: 30599
[Token(Token = "0x4007787")]
private const int P_10 = 0;
// Token: 0x04007788 RID: 30600
[Token(Token = "0x4007788")]
private const int P_11 = 0;
// Token: 0x04007789 RID: 30601
[Token(Token = "0x4007789")]
private const int P_12 = 1;
// Token: 0x0400778A RID: 30602
[Token(Token = "0x400778A")]
private const int P_13 = 1;
// Token: 0x0400778B RID: 30603
[Token(Token = "0x400778B")]
private const int P_14 = 0;
// Token: 0x0400778C RID: 30604
[Token(Token = "0x400778C")]
private const int P_20 = 1;
// Token: 0x0400778D RID: 30605
[Token(Token = "0x400778D")]
private const int P_21 = 1;
// Token: 0x0400778E RID: 30606
[Token(Token = "0x400778E")]
private const int P_22 = 0;
// Token: 0x0400778F RID: 30607
[Token(Token = "0x400778F")]
private const int P_23 = 0;
// Token: 0x04007790 RID: 30608
[Token(Token = "0x4007790")]
private const int P_24 = 0;
// Token: 0x04007791 RID: 30609
[Token(Token = "0x4007791")]
private const int P_30 = 0;
// Token: 0x04007792 RID: 30610
[Token(Token = "0x4007792")]
private const int P_31 = 1;
// Token: 0x04007793 RID: 30611
[Token(Token = "0x4007793")]
private const int P_32 = 1;
// Token: 0x04007794 RID: 30612
[Token(Token = "0x4007794")]
private const int P_33 = 0;
// Token: 0x04007795 RID: 30613
[Token(Token = "0x4007795")]
private const int P_34 = 1;
// Token: 0x04007796 RID: 30614
[Token(Token = "0x4007796")]
private const int GF256_FDBK = 361;
// Token: 0x04007797 RID: 30615
[Token(Token = "0x4007797")]
private const int GF256_FDBK_2 = 180;
// Token: 0x04007798 RID: 30616
[Token(Token = "0x4007798")]
private const int GF256_FDBK_4 = 90;
// Token: 0x04007799 RID: 30617
[Token(Token = "0x4007799")]
private const int RS_GF_FDBK = 333;
// Token: 0x0400779A RID: 30618
[Token(Token = "0x400779A")]
private const int ROUNDS = 16;
// Token: 0x0400779B RID: 30619
[Token(Token = "0x400779B")]
private const int MAX_ROUNDS = 16;
// Token: 0x0400779C RID: 30620
[Token(Token = "0x400779C")]
private const int BLOCK_SIZE = 16;
// Token: 0x0400779D RID: 30621
[Token(Token = "0x400779D")]
private const int MAX_KEY_BITS = 256;
// Token: 0x0400779E RID: 30622
[Token(Token = "0x400779E")]
private const int INPUT_WHITEN = 0;
// Token: 0x0400779F RID: 30623
[Token(Token = "0x400779F")]
private const int OUTPUT_WHITEN = 4;
// Token: 0x040077A0 RID: 30624
[Token(Token = "0x40077A0")]
private const int ROUND_SUBKEYS = 8;
// Token: 0x040077A1 RID: 30625
[Token(Token = "0x40077A1")]
private const int TOTAL_SUBKEYS = 40;
// Token: 0x040077A2 RID: 30626
[Token(Token = "0x40077A2")]
private const int SK_STEP = 33686018;
// Token: 0x040077A3 RID: 30627
[Token(Token = "0x40077A3")]
private const int SK_BUMP = 16843009;
// Token: 0x040077A4 RID: 30628
[Token(Token = "0x40077A4")]
private const int SK_ROTL = 9;
// Token: 0x040077A5 RID: 30629
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40077A5")]
private bool encrypting;
// Token: 0x040077A6 RID: 30630
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40077A6")]
private int[] gMDS0;
// Token: 0x040077A7 RID: 30631
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40077A7")]
private int[] gMDS1;
// Token: 0x040077A8 RID: 30632
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x40077A8")]
private int[] gMDS2;
// Token: 0x040077A9 RID: 30633
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40077A9")]
private int[] gMDS3;
// Token: 0x040077AA RID: 30634
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x40077AA")]
private int[] gSubKeys;
// Token: 0x040077AB RID: 30635
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x40077AB")]
private int[] gSBox;
// Token: 0x040077AC RID: 30636
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x40077AC")]
private int k64Cnt;
// Token: 0x040077AD RID: 30637
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x40077AD")]
private byte[] workingKey;
}
}