a
This commit is contained in:
+909
@@ -0,0 +1,909 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Rfc8032;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Rfc7748
|
||||
{
|
||||
// Token: 0x02001A12 RID: 6674
|
||||
[Token(Token = "0x2001A12")]
|
||||
public abstract class X25519Field
|
||||
{
|
||||
// Token: 0x0600A213 RID: 41491 RVA: 0x0022E508 File Offset: 0x0022C708
|
||||
[Token(Token = "0x600A213")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
private X25519Field()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A214 RID: 41492 RVA: 0x0022E51C File Offset: 0x0022C71C
|
||||
[Token(Token = "0x600A214")]
|
||||
[Address(RVA = "0x1F5D450", Offset = "0x1F5C250", VA = "0x181F5D450")]
|
||||
public static void Add(int[] x, int[] y, int[] z)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = x[num];
|
||||
num++;
|
||||
z[0] = num2;
|
||||
}
|
||||
|
||||
// Token: 0x0600A215 RID: 41493 RVA: 0x0022E548 File Offset: 0x0022C748
|
||||
[Token(Token = "0x600A215")]
|
||||
[Address(RVA = "0x1F5D420", Offset = "0x1F5C220", VA = "0x181F5D420")]
|
||||
public static void AddOne(int[] z)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A216 RID: 41494 RVA: 0x0022E55C File Offset: 0x0022C75C
|
||||
[Token(Token = "0x600A216")]
|
||||
[Address(RVA = "0x1F5D3F0", Offset = "0x1F5C1F0", VA = "0x181F5D3F0")]
|
||||
public static void AddOne(int[] z, int zOff)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A217 RID: 41495 RVA: 0x0022E570 File Offset: 0x0022C770
|
||||
[Token(Token = "0x600A217")]
|
||||
[Address(RVA = "0x1F5D4E0", Offset = "0x1F5C2E0", VA = "0x181F5D4E0")]
|
||||
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: 0x0600A218 RID: 41496 RVA: 0x0022E5B0 File Offset: 0x0022C7B0
|
||||
[Token(Token = "0x600A218")]
|
||||
[Address(RVA = "0x1F5D690", Offset = "0x1F5C490", VA = "0x181F5D690")]
|
||||
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: 0x0600A219 RID: 41497 RVA: 0x0022E6D0 File Offset: 0x0022C8D0
|
||||
[Token(Token = "0x600A219")]
|
||||
[Address(RVA = "0x1F5D5A0", Offset = "0x1F5C3A0", VA = "0x181F5D5A0")]
|
||||
public static void CNegate(int negate, int[] z)
|
||||
{
|
||||
int num = 0;
|
||||
num++;
|
||||
z[0] = negate;
|
||||
}
|
||||
|
||||
// Token: 0x0600A21A RID: 41498 RVA: 0x0022E6F4 File Offset: 0x0022C8F4
|
||||
[Token(Token = "0x600A21A")]
|
||||
[Address(RVA = "0x1F5D9A0", Offset = "0x1F5C7A0", VA = "0x181F5D9A0")]
|
||||
public static void Copy(int[] x, int xOff, int[] z, int zOff)
|
||||
{
|
||||
int num = x[x];
|
||||
z[0] = num;
|
||||
num = zOff - zOff;
|
||||
}
|
||||
|
||||
// Token: 0x0600A21B RID: 41499 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600A21B")]
|
||||
[Address(RVA = "0x1F5DA60", Offset = "0x1F5C860", VA = "0x181F5DA60")]
|
||||
public static int[] Create()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600A21C RID: 41500 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600A21C")]
|
||||
[Address(RVA = "0x1F5DA20", Offset = "0x1F5C820", VA = "0x181F5DA20")]
|
||||
public static int[] CreateTable(int n)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600A21D RID: 41501 RVA: 0x0022E720 File Offset: 0x0022C920
|
||||
[Token(Token = "0x600A21D")]
|
||||
[Address(RVA = "0x1F5D5F0", Offset = "0x1F5C3F0", VA = "0x181F5D5F0")]
|
||||
public static void CSwap(int swap, int[] a, int[] b)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = b[num];
|
||||
num++;
|
||||
b[0] = num2;
|
||||
}
|
||||
|
||||
// Token: 0x0600A21E RID: 41502 RVA: 0x0022E74C File Offset: 0x0022C94C
|
||||
[Token(Token = "0x600A21E")]
|
||||
[Address(RVA = "0x1F5DE20", Offset = "0x1F5CC20", VA = "0x181F5DE20")]
|
||||
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: 0x0600A21F RID: 41503 RVA: 0x0022E774 File Offset: 0x0022C974
|
||||
[Token(Token = "0x600A21F")]
|
||||
[Address(RVA = "0x1F5DAA0", Offset = "0x1F5C8A0", VA = "0x181F5DAA0")]
|
||||
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: 0x0600A220 RID: 41504 RVA: 0x0022E7BC File Offset: 0x0022C9BC
|
||||
[Token(Token = "0x600A220")]
|
||||
[Address(RVA = "0x1824CD0", Offset = "0x1823AD0", VA = "0x181824CD0")]
|
||||
private static uint Decode32(byte[] bs, int off)
|
||||
{
|
||||
int length = bs.Length;
|
||||
int num = off + 1;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A221 RID: 41505 RVA: 0x0022E7DC File Offset: 0x0022C9DC
|
||||
[Token(Token = "0x600A221")]
|
||||
[Address(RVA = "0x1F5E210", Offset = "0x1F5D010", VA = "0x181F5E210")]
|
||||
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: 0x0600A222 RID: 41506 RVA: 0x0022E800 File Offset: 0x0022CA00
|
||||
[Token(Token = "0x600A222")]
|
||||
[Address(RVA = "0x1F5DEE0", Offset = "0x1F5CCE0", VA = "0x181F5DEE0")]
|
||||
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: 0x0600A223 RID: 41507 RVA: 0x0022E88C File Offset: 0x0022CA8C
|
||||
[Token(Token = "0x600A223")]
|
||||
[Address(RVA = "0x1825890", Offset = "0x1824690", VA = "0x181825890")]
|
||||
private static void Encode32(uint n, byte[] bs, int off)
|
||||
{
|
||||
int num = off + 1;
|
||||
}
|
||||
|
||||
// Token: 0x0600A224 RID: 41508 RVA: 0x0022E8A4 File Offset: 0x0022CAA4
|
||||
[Token(Token = "0x600A224")]
|
||||
[Address(RVA = "0x1F5E2B0", Offset = "0x1F5D0B0", VA = "0x181F5E2B0")]
|
||||
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: 0x0600A225 RID: 41509 RVA: 0x0022E8DC File Offset: 0x0022CADC
|
||||
[Token(Token = "0x600A225")]
|
||||
[Address(RVA = "0x1F5E3B0", Offset = "0x1F5D1B0", VA = "0x181F5E3B0")]
|
||||
public static bool IsZeroVar(int[] x)
|
||||
{
|
||||
int num = 0;
|
||||
num++;
|
||||
return num == 0;
|
||||
}
|
||||
|
||||
// Token: 0x0600A226 RID: 41510 RVA: 0x0022E8FC File Offset: 0x0022CAFC
|
||||
[Token(Token = "0x600A226")]
|
||||
[Address(RVA = "0x1F5E400", Offset = "0x1F5D200", VA = "0x181F5E400")]
|
||||
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: 0x0600A227 RID: 41511 RVA: 0x0022EA48 File Offset: 0x0022CC48
|
||||
[Token(Token = "0x600A227")]
|
||||
[Address(RVA = "0x1F5E780", Offset = "0x1F5D580", VA = "0x181F5E780")]
|
||||
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: 0x0600A228 RID: 41512 RVA: 0x0022F060 File Offset: 0x0022D260
|
||||
[Token(Token = "0x600A228")]
|
||||
[Address(RVA = "0x1F5F130", Offset = "0x1F5DF30", VA = "0x181F5F130")]
|
||||
public static void Negate(int[] x, int[] z)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = x[num];
|
||||
num++;
|
||||
z[0] = num2;
|
||||
}
|
||||
|
||||
// Token: 0x0600A229 RID: 41513 RVA: 0x0022F08C File Offset: 0x0022D28C
|
||||
[Token(Token = "0x600A229")]
|
||||
[Address(RVA = "0x1F5F1A0", Offset = "0x1F5DFA0", VA = "0x181F5F1A0")]
|
||||
public static void Normalize(int[] z)
|
||||
{
|
||||
int num = z[4];
|
||||
X25519Field.Reduce(z, num);
|
||||
X25519Field.Reduce(z, num);
|
||||
}
|
||||
|
||||
// Token: 0x0600A22A RID: 41514 RVA: 0x0022F0B8 File Offset: 0x0022D2B8
|
||||
[Token(Token = "0x600A22A")]
|
||||
[Address(RVA = "0x1F5F240", Offset = "0x1F5E040", VA = "0x181F5F240")]
|
||||
public static void One(int[] z)
|
||||
{
|
||||
int num = 0;
|
||||
z[0] = (int)((uint)1);
|
||||
z[0] = num;
|
||||
}
|
||||
|
||||
// Token: 0x0600A22B RID: 41515 RVA: 0x0022F0E0 File Offset: 0x0022D2E0
|
||||
[Token(Token = "0x600A22B")]
|
||||
[Address(RVA = "0x1F5F2A0", Offset = "0x1F5E0A0", VA = "0x181F5F2A0")]
|
||||
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: 0x0600A22C RID: 41516 RVA: 0x0022F1B8 File Offset: 0x0022D3B8
|
||||
[Token(Token = "0x600A22C")]
|
||||
[Address(RVA = "0x1F5F520", Offset = "0x1F5E320", VA = "0x181F5F520")]
|
||||
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: 0x0600A22D RID: 41517 RVA: 0x0022F238 File Offset: 0x0022D438
|
||||
[Token(Token = "0x600A22D")]
|
||||
[Address(RVA = "0x1F5F7E0", Offset = "0x1F5E5E0", VA = "0x181F5F7E0")]
|
||||
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: 0x0600A22E RID: 41518 RVA: 0x0022F5E8 File Offset: 0x0022D7E8
|
||||
[Token(Token = "0x600A22E")]
|
||||
[Address(RVA = "0x1F5F720", Offset = "0x1F5E520", VA = "0x181F5F720")]
|
||||
public static void Sqr(int[] x, int n, int[] z)
|
||||
{
|
||||
X25519Field.Sqr(x, z);
|
||||
if (n > 0)
|
||||
{
|
||||
X25519Field.Sqr(z, z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A22F RID: 41519 RVA: 0x0022F608 File Offset: 0x0022D808
|
||||
[Token(Token = "0x600A22F")]
|
||||
[Address(RVA = "0x1F5FE30", Offset = "0x1F5EC30", VA = "0x181F5FE30")]
|
||||
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: 0x0600A230 RID: 41520 RVA: 0x0022F6F4 File Offset: 0x0022D8F4
|
||||
[Token(Token = "0x600A230")]
|
||||
[Address(RVA = "0x1F60240", Offset = "0x1F5F040", VA = "0x181F60240")]
|
||||
public static void Sub(int[] x, int[] y, int[] z)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = x[num];
|
||||
num++;
|
||||
z[0] = num2;
|
||||
}
|
||||
|
||||
// Token: 0x0600A231 RID: 41521 RVA: 0x0022F720 File Offset: 0x0022D920
|
||||
[Token(Token = "0x600A231")]
|
||||
[Address(RVA = "0x1F60210", Offset = "0x1F5F010", VA = "0x181F60210")]
|
||||
public static void SubOne(int[] z)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A232 RID: 41522 RVA: 0x0022F734 File Offset: 0x0022D934
|
||||
[Token(Token = "0x600A232")]
|
||||
[Address(RVA = "0x1F602D0", Offset = "0x1F5F0D0", VA = "0x181F602D0")]
|
||||
public static void Zero(int[] z)
|
||||
{
|
||||
int num = 0;
|
||||
num++;
|
||||
z[0] = num;
|
||||
}
|
||||
|
||||
// Token: 0x0600A233 RID: 41523 RVA: 0x0022F758 File Offset: 0x0022D958
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A233")]
|
||||
[Address(RVA = "0x1F60320", Offset = "0x1F5F120", VA = "0x181F60320")]
|
||||
static X25519Field()
|
||||
{
|
||||
RuntimeHelpers.InitializeArray(new int[10], fieldof(<PrivateImplementationDetails>.146E4D4A36742E37DEE528D23474B9675695E406).FieldHandle);
|
||||
}
|
||||
|
||||
// Token: 0x04006B08 RID: 27400
|
||||
[Token(Token = "0x4006B08")]
|
||||
public const int Size = 10;
|
||||
|
||||
// Token: 0x04006B09 RID: 27401
|
||||
[Token(Token = "0x4006B09")]
|
||||
private const int M24 = 16777215;
|
||||
|
||||
// Token: 0x04006B0A RID: 27402
|
||||
[Token(Token = "0x4006B0A")]
|
||||
private const int M25 = 33554431;
|
||||
|
||||
// Token: 0x04006B0B RID: 27403
|
||||
[Token(Token = "0x4006B0B")]
|
||||
private const int M26 = 67108863;
|
||||
|
||||
// Token: 0x04006B0C RID: 27404
|
||||
[Token(Token = "0x4006B0C")]
|
||||
private static readonly int[] RootNegOne;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user