scripts
This commit is contained in:
+911
@@ -0,0 +1,911 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Rfc8032;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Rfc7748
|
||||
{
|
||||
// Token: 0x02001435 RID: 5173
|
||||
[Token(Token = "0x2001435")]
|
||||
[StructLayout(3)]
|
||||
public abstract class X25519Field
|
||||
{
|
||||
// Token: 0x06008639 RID: 34361 RVA: 0x001D6F24 File Offset: 0x001D5124
|
||||
[Token(Token = "0x6008639")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
private X25519Field()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600863A RID: 34362 RVA: 0x001D6F38 File Offset: 0x001D5138
|
||||
[Token(Token = "0x600863A")]
|
||||
[Address(RVA = "0x2097E80", Offset = "0x2096880", VA = "0x182097E80")]
|
||||
public static void Add(int[] x, int[] y, int[] z)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = x[num];
|
||||
num++;
|
||||
z[0] = num2;
|
||||
}
|
||||
|
||||
// Token: 0x0600863B RID: 34363 RVA: 0x001D6F64 File Offset: 0x001D5164
|
||||
[Token(Token = "0x600863B")]
|
||||
[Address(RVA = "0x2097E50", Offset = "0x2096850", VA = "0x182097E50")]
|
||||
public static void AddOne(int[] z)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600863C RID: 34364 RVA: 0x001D6F78 File Offset: 0x001D5178
|
||||
[Token(Token = "0x600863C")]
|
||||
[Address(RVA = "0x2097E20", Offset = "0x2096820", VA = "0x182097E20")]
|
||||
public static void AddOne(int[] z, int zOff)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600863D RID: 34365 RVA: 0x001D6F8C File Offset: 0x001D518C
|
||||
[Token(Token = "0x600863D")]
|
||||
[Address(RVA = "0x2097F10", Offset = "0x2096910", VA = "0x182097F10")]
|
||||
public static void Apm(int[] x, int[] y, int[] zp, int[] zm)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = x[num];
|
||||
int num3 = y[num];
|
||||
zp[0] = x;
|
||||
num2 -= num3;
|
||||
num++;
|
||||
zm[0] = num2;
|
||||
}
|
||||
|
||||
// Token: 0x0600863E RID: 34366 RVA: 0x001D6FCC File Offset: 0x001D51CC
|
||||
[Token(Token = "0x600863E")]
|
||||
[Address(RVA = "0x20980C0", Offset = "0x2096AC0", VA = "0x1820980C0")]
|
||||
public static void Carry(int[] z)
|
||||
{
|
||||
int num = z.Length;
|
||||
int num2 = z[0];
|
||||
int num3 = z[0];
|
||||
int num4 = z[1];
|
||||
int num5 = z[1];
|
||||
int num6 = z[2];
|
||||
int num7 = z[2];
|
||||
int num8 = z[3];
|
||||
int num9 = z[3];
|
||||
int num10 = z[4];
|
||||
int num11 = z[4];
|
||||
num = num4;
|
||||
num5 += num;
|
||||
num = num6;
|
||||
num7 += num;
|
||||
num = num9;
|
||||
num10 += num;
|
||||
num = num11;
|
||||
long num12 = (long)(num * (int)((uint)38));
|
||||
num2 = (int)((long)num2 + num12);
|
||||
num3 += num2;
|
||||
z[0] = num2;
|
||||
num2 = num7;
|
||||
num8 += num2;
|
||||
num2 = num3;
|
||||
z[0] = num2;
|
||||
num4 += num3;
|
||||
z[1] = num4;
|
||||
num2 = num5;
|
||||
z[1] = num2;
|
||||
num6 += num5;
|
||||
z[2] = num6;
|
||||
z[2] = num7;
|
||||
num2 = num8;
|
||||
z[3] = num2;
|
||||
num9 += num8;
|
||||
z[3] = num9;
|
||||
num2 = num10;
|
||||
z[4] = num2;
|
||||
num11 += num10;
|
||||
z[4] = num11;
|
||||
}
|
||||
|
||||
// Token: 0x0600863F RID: 34367 RVA: 0x001D70EC File Offset: 0x001D52EC
|
||||
[Token(Token = "0x600863F")]
|
||||
[Address(RVA = "0x2097FD0", Offset = "0x20969D0", VA = "0x182097FD0")]
|
||||
public static void CNegate(int negate, int[] z)
|
||||
{
|
||||
int num = 0;
|
||||
num++;
|
||||
z[0] = negate;
|
||||
}
|
||||
|
||||
// Token: 0x06008640 RID: 34368 RVA: 0x001D7110 File Offset: 0x001D5310
|
||||
[Token(Token = "0x6008640")]
|
||||
[Address(RVA = "0x20983D0", Offset = "0x2096DD0", VA = "0x1820983D0")]
|
||||
public static void Copy(int[] x, int xOff, int[] z, int zOff)
|
||||
{
|
||||
int num = x[x];
|
||||
z[0] = num;
|
||||
num = zOff - zOff;
|
||||
}
|
||||
|
||||
// Token: 0x06008641 RID: 34369 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6008641")]
|
||||
[Address(RVA = "0x2098490", Offset = "0x2096E90", VA = "0x182098490")]
|
||||
public static int[] Create()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06008642 RID: 34370 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6008642")]
|
||||
[Address(RVA = "0x2098450", Offset = "0x2096E50", VA = "0x182098450")]
|
||||
public static int[] CreateTable(int n)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06008643 RID: 34371 RVA: 0x001D713C File Offset: 0x001D533C
|
||||
[Token(Token = "0x6008643")]
|
||||
[Address(RVA = "0x2098020", Offset = "0x2096A20", VA = "0x182098020")]
|
||||
public static void CSwap(int swap, int[] a, int[] b)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = b[num];
|
||||
num++;
|
||||
b[0] = num2;
|
||||
}
|
||||
|
||||
// Token: 0x06008644 RID: 34372 RVA: 0x001D7168 File Offset: 0x001D5368
|
||||
[Token(Token = "0x6008644")]
|
||||
[Address(RVA = "0x2098850", Offset = "0x2097250", VA = "0x182098850")]
|
||||
public static void Decode(byte[] x, int xOff, int[] z)
|
||||
{
|
||||
int num = 0;
|
||||
X25519Field.Decode128(x, xOff, z, num);
|
||||
X25519Field.Decode128(x, xOff, z, 5);
|
||||
}
|
||||
|
||||
// Token: 0x06008645 RID: 34373 RVA: 0x001D7190 File Offset: 0x001D5390
|
||||
[Token(Token = "0x6008645")]
|
||||
[Address(RVA = "0x20984D0", Offset = "0x2096ED0", VA = "0x1820984D0")]
|
||||
private static void Decode128(byte[] bs, int off, int[] z, int zOff)
|
||||
{
|
||||
int length = bs.Length;
|
||||
int num = zOff + 1;
|
||||
byte b;
|
||||
z[0] = (int)b;
|
||||
byte b2;
|
||||
b = b2;
|
||||
byte b3;
|
||||
b = b3;
|
||||
z[0] = (int)b2;
|
||||
byte b4;
|
||||
b = b4;
|
||||
z[0] = (int)b3;
|
||||
z[0] = (int)b4;
|
||||
}
|
||||
|
||||
// Token: 0x06008646 RID: 34374 RVA: 0x001D71D8 File Offset: 0x001D53D8
|
||||
[Token(Token = "0x6008646")]
|
||||
[Address(RVA = "0x74C4E0", Offset = "0x74AEE0", VA = "0x18074C4E0")]
|
||||
private static uint Decode32(byte[] bs, int off)
|
||||
{
|
||||
int length = bs.Length;
|
||||
int num = off + 1;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008647 RID: 34375 RVA: 0x001D71F8 File Offset: 0x001D53F8
|
||||
[Token(Token = "0x6008647")]
|
||||
[Address(RVA = "0x2098C40", Offset = "0x2097640", VA = "0x182098C40")]
|
||||
public static void Encode(int[] x, byte[] z, int zOff)
|
||||
{
|
||||
int num = 0;
|
||||
X25519Field.Encode128(x, num, z, zOff);
|
||||
X25519Field.Encode128(x, 5, z, zOff);
|
||||
}
|
||||
|
||||
// Token: 0x06008648 RID: 34376 RVA: 0x001D721C File Offset: 0x001D541C
|
||||
[Token(Token = "0x6008648")]
|
||||
[Address(RVA = "0x2098910", Offset = "0x2097310", VA = "0x182098910")]
|
||||
private static void Encode128(int[] x, int xOff, byte[] bs, int off)
|
||||
{
|
||||
int num = x.Length;
|
||||
int num2 = xOff + 1;
|
||||
int num3 = x[num2];
|
||||
int num4 = x[num2];
|
||||
int num5 = x[num2];
|
||||
Ed25519.Encode32((uint)num3, bs, off);
|
||||
bs[0] = (byte)off;
|
||||
bs[0] = (byte)off;
|
||||
num = num4;
|
||||
bs[0] = (byte)num;
|
||||
num = num4;
|
||||
bs[0] = (byte)num;
|
||||
num = num5;
|
||||
bs[0] = (byte)num;
|
||||
num = num5;
|
||||
num3 = off + 15;
|
||||
bs[0] = (byte)num;
|
||||
}
|
||||
|
||||
// Token: 0x06008649 RID: 34377 RVA: 0x001D72A8 File Offset: 0x001D54A8
|
||||
[Token(Token = "0x6008649")]
|
||||
[Address(RVA = "0x1DFD250", Offset = "0x1DFBC50", VA = "0x181DFD250")]
|
||||
private static void Encode32(uint n, byte[] bs, int off)
|
||||
{
|
||||
int num = off + 1;
|
||||
}
|
||||
|
||||
// Token: 0x0600864A RID: 34378 RVA: 0x001D72C0 File Offset: 0x001D54C0
|
||||
[Token(Token = "0x600864A")]
|
||||
[Address(RVA = "0x2098CE0", Offset = "0x20976E0", VA = "0x182098CE0")]
|
||||
public static void Inv(int[] x, int[] z)
|
||||
{
|
||||
int[] array = new int[10];
|
||||
int[] array2 = new int[10];
|
||||
X25519Field.PowPm5d8(x, array, array2);
|
||||
X25519Field.Sqr(array2, 3, array2);
|
||||
X25519Field.Mul(array2, array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600864B RID: 34379 RVA: 0x001D72F8 File Offset: 0x001D54F8
|
||||
[Token(Token = "0x600864B")]
|
||||
[Address(RVA = "0x2098DE0", Offset = "0x20977E0", VA = "0x182098DE0")]
|
||||
public static bool IsZeroVar(int[] x)
|
||||
{
|
||||
int num = 0;
|
||||
num++;
|
||||
return num == 0;
|
||||
}
|
||||
|
||||
// Token: 0x0600864C RID: 34380 RVA: 0x001D7318 File Offset: 0x001D5518
|
||||
[Token(Token = "0x600864C")]
|
||||
[Address(RVA = "0x2098E30", Offset = "0x2097830", VA = "0x182098E30")]
|
||||
public static void Mul(int[] x, int y, int[] z)
|
||||
{
|
||||
int num = x.Length;
|
||||
int num2 = x[0];
|
||||
int num3 = x[2];
|
||||
int num4 = x[4];
|
||||
int num5 = x[1];
|
||||
int num6 = x[2];
|
||||
int num7 = x[3];
|
||||
int num8 = x[0];
|
||||
int num9 = num4 * y;
|
||||
int num10 = num8 * y;
|
||||
int num11 = num5 * y;
|
||||
int num12 = num6 * y;
|
||||
int num13 = num7 * y;
|
||||
num = num9;
|
||||
long num14 = (long)((ulong)num * (ulong)38L);
|
||||
num10 = (int)((long)num10 + num14);
|
||||
num = num10;
|
||||
z[0] = num;
|
||||
num = num12;
|
||||
int num15 = num3 * y;
|
||||
num15 += num;
|
||||
int num16 = num2 * y;
|
||||
num = num15;
|
||||
num16 += num10;
|
||||
z[2] = num;
|
||||
num = num16;
|
||||
z[0] = num;
|
||||
num = num11;
|
||||
int num17 = num3 * y;
|
||||
num17 += num;
|
||||
int num18 = num10 * y;
|
||||
num = num17;
|
||||
num18 += num15;
|
||||
z[1] = num;
|
||||
num = num18;
|
||||
z[3] = num;
|
||||
num = num13;
|
||||
int num19 = num15 * y;
|
||||
num19 += num;
|
||||
num = num19;
|
||||
z[4] = num;
|
||||
num16 += num11;
|
||||
z[1] = num16;
|
||||
num17 += num12;
|
||||
z[2] = num17;
|
||||
num18 += num13;
|
||||
z[3] = num18;
|
||||
num19 += num9;
|
||||
z[4] = num19;
|
||||
}
|
||||
|
||||
// Token: 0x0600864D RID: 34381 RVA: 0x001D7464 File Offset: 0x001D5664
|
||||
[Token(Token = "0x600864D")]
|
||||
[Address(RVA = "0x20991B0", Offset = "0x2097BB0", VA = "0x1820991B0")]
|
||||
public static void Mul(int[] x, int[] y, int[] z)
|
||||
{
|
||||
int length = x.Length;
|
||||
int num = x[0];
|
||||
int num2 = y.Length;
|
||||
int num3 = y[0];
|
||||
int num4 = x[0];
|
||||
int num5 = y[0];
|
||||
int num6 = x[1];
|
||||
int num7 = y[1];
|
||||
int num8 = x[1];
|
||||
int num9 = y[1];
|
||||
int num10 = x[2];
|
||||
int num11 = x[2];
|
||||
int num12 = y[2];
|
||||
int num13 = x[3];
|
||||
int num14 = y[3];
|
||||
int num15 = x[3];
|
||||
int num16 = y[3];
|
||||
int num17 = x[4];
|
||||
int num18 = y[4];
|
||||
int num19 = x[4];
|
||||
int num20 = y[2];
|
||||
num17 = num10;
|
||||
num2 = num8;
|
||||
num7 = num5;
|
||||
num5 = num9;
|
||||
int num21 = y[0];
|
||||
int num22 = num * num20;
|
||||
num20 = num21;
|
||||
int num23 = num20 * num17;
|
||||
num22 += num23;
|
||||
num23 = num4;
|
||||
int num24 = num23 * num5;
|
||||
num22 += num24;
|
||||
num24 = num7;
|
||||
int num25 = num24 * num2;
|
||||
int num26 = y[4];
|
||||
num22 += num25;
|
||||
num25 = num6;
|
||||
int num27 = num25 * num7;
|
||||
int num28 = y[3];
|
||||
num22 = num11;
|
||||
int num29 = num12 * num19;
|
||||
int num30 = num22 * num26;
|
||||
num30 += num29;
|
||||
num29 = num13;
|
||||
num30 += num29;
|
||||
num30 += num28;
|
||||
num28 = num15;
|
||||
int num31 = num28 * num16;
|
||||
num30 = num26;
|
||||
num31 = num19;
|
||||
int num32 = num30 * num13;
|
||||
num32 += num31;
|
||||
int num33 = num18 * num15;
|
||||
num32 += num33;
|
||||
int num34 = num17 * num16;
|
||||
num32 += num34;
|
||||
long num35 = (long)((ulong)num32 * (ulong)76L);
|
||||
num32 = num;
|
||||
int num36 = num32 * num21;
|
||||
num36 = (int)((long)num36 - num35);
|
||||
int num37 = num19 * num16;
|
||||
num36 = num26;
|
||||
int num38 = num36 * num15;
|
||||
num38 += num37;
|
||||
long num39 = (long)((ulong)num18 * (ulong)38L);
|
||||
num18 = num21;
|
||||
int num40 = num18 * num4;
|
||||
num40 = (int)((long)num40 - num39);
|
||||
num40 = num;
|
||||
int num41 = num40 * num7;
|
||||
num41 = num26;
|
||||
int num42 = num26 * num19;
|
||||
num19 += num41;
|
||||
long num43 = (long)((ulong)num19 * (ulong)38L);
|
||||
num19 = num4;
|
||||
int num44 = num19 * num7;
|
||||
num44 = (int)((long)num44 - num43);
|
||||
int num45 = num * num7;
|
||||
int num46 = num * num5;
|
||||
num44 += num45;
|
||||
num45 = num21;
|
||||
int num47 = num45 * num6;
|
||||
num44 += num47;
|
||||
num44 = num4;
|
||||
int num48 = num44 * num7;
|
||||
long num49 = (long)((ulong)num42 * (ulong)38L);
|
||||
num48 = (int)((long)num48 - num49);
|
||||
int num50 = num7 * num6;
|
||||
num48 += num50;
|
||||
int num51 = num21 * num8;
|
||||
num19 = num8;
|
||||
num46 = num10;
|
||||
num48 += num51;
|
||||
int num52 = num10 * num7;
|
||||
num42 = num12;
|
||||
int num53 = num20 * num4;
|
||||
num53 += num52;
|
||||
num52 = num5;
|
||||
int num54 = num52 * num6;
|
||||
num53 += num54;
|
||||
num54 = num19;
|
||||
int num55 = num54 * num7;
|
||||
num53 += num55;
|
||||
num55 = num11;
|
||||
int num56 = num55 * num12;
|
||||
num53 += num53;
|
||||
num12 = num20;
|
||||
num53 -= num56;
|
||||
num56 = num46;
|
||||
int num57 = num56 * num7;
|
||||
int num58 = num12 * num6;
|
||||
num58 += num57;
|
||||
num57 = num42;
|
||||
int num59 = num57 * num13;
|
||||
num58 += num58;
|
||||
num58 -= num59;
|
||||
num59 = num11;
|
||||
int num60 = num59 * num28;
|
||||
num58 -= num60;
|
||||
num60 = num5;
|
||||
int num61 = num60 * num19;
|
||||
num58 += num61;
|
||||
num61 = num13;
|
||||
int num62 = num61 * num28;
|
||||
num58 = num46;
|
||||
int num63 = num58 * num5;
|
||||
num63 -= num62;
|
||||
num62 = num11;
|
||||
int num64 = num62 * num16;
|
||||
num63 -= num64;
|
||||
num64 = num42;
|
||||
int num65 = num64 * num15;
|
||||
num63 -= num65;
|
||||
num65 = num20;
|
||||
int num66 = num65 * num19;
|
||||
int num67 = num28 * num15;
|
||||
int num68 = num20 * num46;
|
||||
int num69 = num13 * num16;
|
||||
num63 += num66;
|
||||
num67 += num67;
|
||||
num46 = num7;
|
||||
num68 += num68;
|
||||
num69 += num69;
|
||||
num68 -= num69;
|
||||
num68 -= num67;
|
||||
num68 -= num11;
|
||||
num68 -= num42;
|
||||
num6 += num15;
|
||||
num15 = num9;
|
||||
num69 = num6;
|
||||
num11 = num46;
|
||||
num6 = num5;
|
||||
int num70 = num6 * num69;
|
||||
num46 = num4;
|
||||
num4 = num8;
|
||||
num9 = num46;
|
||||
int num71 = num9 * num11;
|
||||
num71 += num70;
|
||||
num5 = num3;
|
||||
num3 = num10;
|
||||
num70 = num;
|
||||
int num72 = num70 * num15;
|
||||
num72 = num5;
|
||||
int num73 = num72 * num4;
|
||||
num71 = num;
|
||||
num8 += num73;
|
||||
num73 = num5;
|
||||
int num74 = num73 * num3;
|
||||
num8 += num68;
|
||||
num68 = num19;
|
||||
int num75 = num71 * num68;
|
||||
num75 += num74;
|
||||
num74 = num46;
|
||||
int num76 = num74 * num15;
|
||||
num75 += num76;
|
||||
num76 = num6;
|
||||
int num77 = num76 * num4;
|
||||
num75 += num77;
|
||||
num77 = num69;
|
||||
int num78 = num77 * num11;
|
||||
num78 = num8;
|
||||
num10 += num78;
|
||||
num75 = num68;
|
||||
num78 = num3;
|
||||
int num79 = num78 * num6;
|
||||
int num80 = num75 * num46;
|
||||
num80 += num79;
|
||||
num79 = num15;
|
||||
int num81 = num79 * num69;
|
||||
num80 += num81;
|
||||
num81 = num4;
|
||||
int num82 = num81 * num11;
|
||||
num80 += num82;
|
||||
long num83 = (long)((ulong)num80 * (ulong)38L);
|
||||
num80 = num68;
|
||||
int num84 = num3 * num11;
|
||||
int num85 = num80 * num69;
|
||||
num85 += num84;
|
||||
num85 -= num58;
|
||||
long num86 = (long)((ulong)num85 * (ulong)38L);
|
||||
num86 += (long)num40;
|
||||
num83 += num86;
|
||||
num85 = num3;
|
||||
int num87 = num68 * num4;
|
||||
int num88 = num85 * num15;
|
||||
num88 += num87;
|
||||
num88 -= num63;
|
||||
long num89 = (long)((ulong)num88 * (ulong)38L);
|
||||
num89 += (long)num44;
|
||||
num83 += num89;
|
||||
int num90 = num68 * num3;
|
||||
num90 += num90;
|
||||
long num91 = (long)((ulong)num90 * (ulong)38L);
|
||||
num83 += num91;
|
||||
num27 = (int)((long)num27 + num83);
|
||||
long num92;
|
||||
num92 += (long)num27;
|
||||
int num93 = num * num5;
|
||||
num93 = (int)((long)num93 + num92);
|
||||
int num94 = num5 * num46;
|
||||
num93 = num;
|
||||
num90 = num5;
|
||||
int num95 = num93 * num5;
|
||||
num94 += num95;
|
||||
num94 += num93;
|
||||
num94 -= num40;
|
||||
num94 += num58;
|
||||
int num96 = num46 * num90;
|
||||
int num97 = num * num46;
|
||||
int num98 = num5 * num6;
|
||||
num96 += num97;
|
||||
num96 += num98;
|
||||
num96 += num94;
|
||||
num96 -= num44;
|
||||
num96 += num63;
|
||||
num8 += num96;
|
||||
num8 += num10;
|
||||
}
|
||||
|
||||
// Token: 0x0600864E RID: 34382 RVA: 0x001D7A7C File Offset: 0x001D5C7C
|
||||
[Token(Token = "0x600864E")]
|
||||
[Address(RVA = "0x2099B60", Offset = "0x2098560", VA = "0x182099B60")]
|
||||
public static void Negate(int[] x, int[] z)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = x[num];
|
||||
num++;
|
||||
z[0] = num2;
|
||||
}
|
||||
|
||||
// Token: 0x0600864F RID: 34383 RVA: 0x001D7AA8 File Offset: 0x001D5CA8
|
||||
[Token(Token = "0x600864F")]
|
||||
[Address(RVA = "0x2099BD0", Offset = "0x20985D0", VA = "0x182099BD0")]
|
||||
public static void Normalize(int[] z)
|
||||
{
|
||||
int num = z[4];
|
||||
X25519Field.Reduce(z, num);
|
||||
X25519Field.Reduce(z, num);
|
||||
}
|
||||
|
||||
// Token: 0x06008650 RID: 34384 RVA: 0x001D7AD4 File Offset: 0x001D5CD4
|
||||
[Token(Token = "0x6008650")]
|
||||
[Address(RVA = "0x2099C70", Offset = "0x2098670", VA = "0x182099C70")]
|
||||
public static void One(int[] z)
|
||||
{
|
||||
int num = 0;
|
||||
z[0] = (int)((uint)1);
|
||||
z[0] = num;
|
||||
}
|
||||
|
||||
// Token: 0x06008651 RID: 34385 RVA: 0x001D7AFC File Offset: 0x001D5CFC
|
||||
[Token(Token = "0x6008651")]
|
||||
[Address(RVA = "0x2099CD0", Offset = "0x20986D0", VA = "0x182099CD0")]
|
||||
private static void PowPm5d8(int[] x, int[] rx2, int[] rz)
|
||||
{
|
||||
X25519Field.Sqr(x, rx2);
|
||||
X25519Field.Mul(x, rx2, rx2);
|
||||
int[] array = new int[10];
|
||||
X25519Field.Sqr(rx2, array);
|
||||
X25519Field.Mul(x, array, array);
|
||||
X25519Field.Sqr(array, 2, array);
|
||||
X25519Field.Mul(rx2, array, array);
|
||||
int[] array2 = new int[10];
|
||||
X25519Field.Sqr(array, 5, array2);
|
||||
X25519Field.Mul(array, array2, array2);
|
||||
int[] array3 = new int[10];
|
||||
X25519Field.Sqr(array2, 5, array3);
|
||||
X25519Field.Mul(array, array3, array3);
|
||||
X25519Field.Sqr(array3, 10, array);
|
||||
X25519Field.Mul(array2, array, array);
|
||||
X25519Field.Sqr(array, 25, array2);
|
||||
X25519Field.Mul(array, array2, array2);
|
||||
X25519Field.Sqr(array2, 25, array3);
|
||||
X25519Field.Mul(array, array3, array3);
|
||||
X25519Field.Sqr(array3, 50, array);
|
||||
X25519Field.Mul(array2, array, array);
|
||||
X25519Field.Sqr(array, 125, array2);
|
||||
X25519Field.Mul(array, array2, array2);
|
||||
X25519Field.Sqr(array2, 2, array);
|
||||
X25519Field.Mul(array, x, rz);
|
||||
}
|
||||
|
||||
// Token: 0x06008652 RID: 34386 RVA: 0x001D7BD4 File Offset: 0x001D5DD4
|
||||
[Token(Token = "0x6008652")]
|
||||
[Address(RVA = "0x2099F50", Offset = "0x2098950", VA = "0x182099F50")]
|
||||
private static void Reduce(int[] z, int c)
|
||||
{
|
||||
int length = z.Length;
|
||||
int num = z[4];
|
||||
num += c;
|
||||
long num2 = (long)(num * (int)((uint)19));
|
||||
z[0] = (int)num2;
|
||||
z[0] = (int)num2;
|
||||
z[1] = (int)num2;
|
||||
z[1] = (int)num2;
|
||||
z[2] = (int)num2;
|
||||
z[2] = (int)num2;
|
||||
z[3] = (int)num2;
|
||||
z[3] = (int)num2;
|
||||
z[4] = (int)num2;
|
||||
num = (int)((long)num + num2);
|
||||
z[4] = num;
|
||||
}
|
||||
|
||||
// Token: 0x06008653 RID: 34387 RVA: 0x001D7C54 File Offset: 0x001D5E54
|
||||
[Token(Token = "0x6008653")]
|
||||
[Address(RVA = "0x209A210", Offset = "0x2098C10", VA = "0x18209A210")]
|
||||
public static void Sqr(int[] x, int[] z)
|
||||
{
|
||||
int num = x.Length;
|
||||
int num2 = x[0];
|
||||
int num3 = x[0];
|
||||
int num4 = x[1];
|
||||
int num5 = x[1];
|
||||
int num6 = x[2];
|
||||
int num7 = x[2];
|
||||
int num8 = x[3];
|
||||
int num9 = x[3];
|
||||
int num10 = x[4];
|
||||
int num11 = x[4];
|
||||
num7 = num3;
|
||||
num5 = num4;
|
||||
int num12 = num5 * num;
|
||||
num = num2;
|
||||
int num13 = num * num;
|
||||
num12 += num13;
|
||||
num13 = num3;
|
||||
int num14 = num13 * num;
|
||||
num12 += num14;
|
||||
num9 = num8;
|
||||
num4 = num14;
|
||||
num3 = num14;
|
||||
num14 = num7;
|
||||
int num15 = num9 * num14;
|
||||
int num16 = num14 * num3;
|
||||
num15 += num16;
|
||||
num16 = num9;
|
||||
int num17 = num16 * num4;
|
||||
num15 += num17;
|
||||
num17 = num9;
|
||||
num17 += num17;
|
||||
num10 = num17;
|
||||
num17 = num4;
|
||||
int num18 = num17 * num14;
|
||||
num15 = num10;
|
||||
int num19 = num15 * num3;
|
||||
num19 += num18;
|
||||
long num20 = (long)((ulong)num19 * (ulong)38L);
|
||||
num19 = num2;
|
||||
int num21 = num19 * num2;
|
||||
num21 = (int)((long)num21 - num20);
|
||||
num7 += num7;
|
||||
num6 = num7;
|
||||
num21 = num10;
|
||||
int num22 = num21 * num10;
|
||||
int num23 = num10 * num3;
|
||||
int num24 = num7 * num7;
|
||||
num7 = num3;
|
||||
int num25 = num7 * num14;
|
||||
num22 += num25;
|
||||
long num26 = (long)((ulong)num22 * (ulong)38L);
|
||||
num22 = num6;
|
||||
int num27 = num22 * num2;
|
||||
num27 = (int)((long)num27 - num26);
|
||||
int num28 = num * num2;
|
||||
long num29 = (long)((ulong)num23 * (ulong)38L);
|
||||
int num30 = num2 * num;
|
||||
num28 = (int)((long)num28 - num29);
|
||||
num28 += num24;
|
||||
int num31 = num11 * num3;
|
||||
long num32 = (long)((ulong)num31 * (ulong)38L);
|
||||
num31 = num;
|
||||
int num33 = num31 * num6;
|
||||
num33 = (int)((long)num33 - num32);
|
||||
num33 += num30;
|
||||
num33 = num7;
|
||||
int num34 = num33 * num7;
|
||||
int num35 = num * num;
|
||||
int num36 = num * num;
|
||||
int num37 = num6 * num;
|
||||
int num38 = num9 * num9;
|
||||
num35 -= num34;
|
||||
num35 += num37;
|
||||
num34 = num10;
|
||||
int num39 = num34 * num7;
|
||||
int num40 = num10 * num14;
|
||||
num36 -= num39;
|
||||
num39 = num5;
|
||||
num35 = num5;
|
||||
int num41 = num39 * num5;
|
||||
int num42 = num35 * num;
|
||||
num36 += num41;
|
||||
num41 = num7;
|
||||
int num43 = num41 * num14;
|
||||
int num44 = num7 * num4;
|
||||
num42 -= num38;
|
||||
num42 -= num43;
|
||||
int num45 = num6 * num;
|
||||
num45 -= num44;
|
||||
num45 -= num40;
|
||||
num44 = num4;
|
||||
num40 = num2;
|
||||
num3 = num45;
|
||||
num6 += num11;
|
||||
num24 = num42;
|
||||
num37 = num45;
|
||||
num2 = num24;
|
||||
int num46 = num44 * num3;
|
||||
int num47 = num2 * num3;
|
||||
num45 = num40;
|
||||
int num48 = num45 * num37;
|
||||
num42 = num24;
|
||||
num47 += num48;
|
||||
num4 = num48;
|
||||
num48 = num40;
|
||||
int num49 = num48 * num4;
|
||||
int num50 = num42 * num4;
|
||||
num46 += num49;
|
||||
num49 = num3;
|
||||
int num51 = num49 * num37;
|
||||
num46 += num51;
|
||||
num51 = num47;
|
||||
num46 += num51;
|
||||
num51 = num3;
|
||||
int num52 = num51 * num37;
|
||||
num50 += num52;
|
||||
num52 = num46;
|
||||
num50 += num52;
|
||||
long num53 = (long)((ulong)num50 * (ulong)38L);
|
||||
num50 = num5;
|
||||
int num54 = num50 * num5;
|
||||
int num55 = num3 * num4;
|
||||
num54 += num55;
|
||||
num54 -= num36;
|
||||
long num56 = (long)((ulong)num54 * (ulong)38L);
|
||||
num53 += num56;
|
||||
int num57 = num5 * num4;
|
||||
num57 -= num42;
|
||||
long num58 = (long)((ulong)num57 * (ulong)38L);
|
||||
num53 += num58;
|
||||
long num59 = (long)((ulong)(num6 * num4) * (ulong)38L);
|
||||
num53 += num59;
|
||||
num12 = (int)((long)num12 + num53);
|
||||
long num60;
|
||||
num60 += (long)num12;
|
||||
num54 = num40;
|
||||
int num61 = num54 * num40;
|
||||
num61 = (int)((long)num61 + num60);
|
||||
int num62 = num24 * num40;
|
||||
num62 += num61;
|
||||
num62 += num36;
|
||||
int num63 = num3 * num40;
|
||||
int num64 = num3 * num3;
|
||||
num63 += num64;
|
||||
num63 += num62;
|
||||
num63 += num42;
|
||||
num47 += num63;
|
||||
num47 += num46;
|
||||
}
|
||||
|
||||
// Token: 0x06008654 RID: 34388 RVA: 0x001D8004 File Offset: 0x001D6204
|
||||
[Token(Token = "0x6008654")]
|
||||
[Address(RVA = "0x209A150", Offset = "0x2098B50", VA = "0x18209A150")]
|
||||
public static void Sqr(int[] x, int n, int[] z)
|
||||
{
|
||||
X25519Field.Sqr(x, z);
|
||||
if (n > 0)
|
||||
{
|
||||
X25519Field.Sqr(z, z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008655 RID: 34389 RVA: 0x001D8024 File Offset: 0x001D6224
|
||||
[Token(Token = "0x6008655")]
|
||||
[Address(RVA = "0x209A860", Offset = "0x2099260", VA = "0x18209A860")]
|
||||
public static bool SqrtRatioVar(int[] u, int[] v, int[] z)
|
||||
{
|
||||
int[] array = new int[10];
|
||||
int[] array2 = new int[10];
|
||||
X25519Field.Mul(u, v, array);
|
||||
X25519Field.Sqr(v, array2);
|
||||
X25519Field.Mul(array, array2, array);
|
||||
X25519Field.Sqr(array2, array2);
|
||||
X25519Field.Mul(array2, array, array2);
|
||||
int[] array3 = new int[10];
|
||||
int[] array4 = new int[10];
|
||||
X25519Field.PowPm5d8(array2, array3, array4);
|
||||
X25519Field.Mul(array4, array, array4);
|
||||
int[] array5 = new int[10];
|
||||
X25519Field.Sqr(array4, array5);
|
||||
X25519Field.Mul(array5, v, array5);
|
||||
X25519Field.Sub(array5, u, array3);
|
||||
X25519Field.Normalize(array3);
|
||||
int num = 0;
|
||||
num++;
|
||||
if (num != 0)
|
||||
{
|
||||
int num2 = array5[num];
|
||||
num++;
|
||||
array3[0] = num2;
|
||||
X25519Field.Normalize(array3);
|
||||
int length = array3.Length;
|
||||
num++;
|
||||
if (num != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
if ("{il2cpp array field local15->}" != (ulong)2L)
|
||||
{
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008656 RID: 34390 RVA: 0x001D8110 File Offset: 0x001D6310
|
||||
[Token(Token = "0x6008656")]
|
||||
[Address(RVA = "0x209AC70", Offset = "0x2099670", VA = "0x18209AC70")]
|
||||
public static void Sub(int[] x, int[] y, int[] z)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = x[num];
|
||||
num++;
|
||||
z[0] = num2;
|
||||
}
|
||||
|
||||
// Token: 0x06008657 RID: 34391 RVA: 0x001D813C File Offset: 0x001D633C
|
||||
[Token(Token = "0x6008657")]
|
||||
[Address(RVA = "0x209AC40", Offset = "0x2099640", VA = "0x18209AC40")]
|
||||
public static void SubOne(int[] z)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06008658 RID: 34392 RVA: 0x001D8150 File Offset: 0x001D6350
|
||||
[Token(Token = "0x6008658")]
|
||||
[Address(RVA = "0x209AD00", Offset = "0x2099700", VA = "0x18209AD00")]
|
||||
public static void Zero(int[] z)
|
||||
{
|
||||
int num = 0;
|
||||
num++;
|
||||
z[0] = num;
|
||||
}
|
||||
|
||||
// Token: 0x06008659 RID: 34393 RVA: 0x001D8174 File Offset: 0x001D6374
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6008659")]
|
||||
[Address(RVA = "0x209AD50", Offset = "0x2099750", VA = "0x18209AD50")]
|
||||
static X25519Field()
|
||||
{
|
||||
RuntimeHelpers.InitializeArray(new int[10], fieldof(<PrivateImplementationDetails>.146E4D4A36742E37DEE528D23474B9675695E406).FieldHandle);
|
||||
}
|
||||
|
||||
// Token: 0x04005CC5 RID: 23749
|
||||
[Token(Token = "0x4005CC5")]
|
||||
public const int Size = 10;
|
||||
|
||||
// Token: 0x04005CC6 RID: 23750
|
||||
[Token(Token = "0x4005CC6")]
|
||||
private const int M24 = 16777215;
|
||||
|
||||
// Token: 0x04005CC7 RID: 23751
|
||||
[Token(Token = "0x4005CC7")]
|
||||
private const int M25 = 33554431;
|
||||
|
||||
// Token: 0x04005CC8 RID: 23752
|
||||
[Token(Token = "0x4005CC8")]
|
||||
private const int M26 = 67108863;
|
||||
|
||||
// Token: 0x04005CC9 RID: 23753
|
||||
[Token(Token = "0x4005CC9")]
|
||||
private static readonly int[] RootNegOne;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user