m
This commit is contained in:
+30
@@ -0,0 +1,30 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Endo
|
||||
{
|
||||
// Token: 0x02001B0F RID: 6927
|
||||
[Token(Token = "0x2001B0F")]
|
||||
public interface ECEndomorphism
|
||||
{
|
||||
// Token: 0x17001A1B RID: 6683
|
||||
// (get) Token: 0x0600A68A RID: 42634
|
||||
[Token(Token = "0x17001A1B")]
|
||||
ECPointMap PointMap
|
||||
{
|
||||
[Token(Token = "0x600A68A")]
|
||||
[Address(Slot = "0")]
|
||||
get;
|
||||
}
|
||||
|
||||
// Token: 0x17001A1C RID: 6684
|
||||
// (get) Token: 0x0600A68B RID: 42635
|
||||
[Token(Token = "0x17001A1C")]
|
||||
bool HasEfficientPointMap
|
||||
{
|
||||
[Token(Token = "0x600A68B")]
|
||||
[Address(Slot = "1")]
|
||||
get;
|
||||
}
|
||||
}
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Endo
|
||||
{
|
||||
// Token: 0x02001B10 RID: 6928
|
||||
[Token(Token = "0x2001B10")]
|
||||
public interface GlvEndomorphism : ECEndomorphism
|
||||
{
|
||||
// Token: 0x0600A68C RID: 42636
|
||||
[Token(Token = "0x600A68C")]
|
||||
[Address(Slot = "0")]
|
||||
BigInteger[] DecomposeScalar(BigInteger k);
|
||||
}
|
||||
}
|
||||
+116
@@ -0,0 +1,116 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Endo
|
||||
{
|
||||
// Token: 0x02001B11 RID: 6929
|
||||
[Token(Token = "0x2001B11")]
|
||||
public class GlvTypeBEndomorphism : GlvEndomorphism, ECEndomorphism
|
||||
{
|
||||
// Token: 0x0600A68D RID: 42637 RVA: 0x0023BEC4 File Offset: 0x0023A0C4
|
||||
[Token(Token = "0x600A68D")]
|
||||
[Address(RVA = "0x7E2940", Offset = "0x7E1940", VA = "0x1807E2940")]
|
||||
public GlvTypeBEndomorphism(ECCurve curve, GlvTypeBParameters parameters)
|
||||
{
|
||||
this.m_curve = curve;
|
||||
this.m_parameters = parameters;
|
||||
string text = parameters.ToString();
|
||||
int fieldSize = curve.FieldSize;
|
||||
ScaleXPointMap scaleXPointMap;
|
||||
this.m_pointMap = scaleXPointMap;
|
||||
}
|
||||
|
||||
// Token: 0x0600A68E RID: 42638 RVA: 0x0023BF00 File Offset: 0x0023A100
|
||||
[Token(Token = "0x600A68E")]
|
||||
[Address(RVA = "0x7E2610", Offset = "0x7E1610", VA = "0x1807E2610", Slot = "7")]
|
||||
public virtual BigInteger[] DecomposeScalar(BigInteger k)
|
||||
{
|
||||
BigInteger g = this.m_parameters.G2;
|
||||
BigInteger[] v = this.m_parameters.V2;
|
||||
bool hasEfficientPointMap = this.HasEfficientPointMap;
|
||||
BigInteger g2 = this.m_parameters.G1;
|
||||
bool hasEfficientPointMap2 = this.HasEfficientPointMap;
|
||||
BigInteger lambda = this.m_parameters.Lambda;
|
||||
BigInteger[] v2 = this.m_parameters.V1;
|
||||
BigInteger bigInteger = v2[0];
|
||||
BigInteger bigInteger3;
|
||||
BigInteger bigInteger4;
|
||||
BigInteger bigInteger2 = bigInteger3.Add(bigInteger4);
|
||||
BigInteger bigInteger5 = k.Subtract(bigInteger2);
|
||||
BigInteger bigInteger6 = v2[1];
|
||||
BigInteger bigInteger8;
|
||||
BigInteger bigInteger9;
|
||||
BigInteger bigInteger7 = bigInteger8.Add(bigInteger9).Negate();
|
||||
BigInteger[] array = new BigInteger[2];
|
||||
if (bigInteger5 != 0)
|
||||
{
|
||||
}
|
||||
array[0] = bigInteger5;
|
||||
if (bigInteger7 != 0)
|
||||
{
|
||||
}
|
||||
array[1] = bigInteger7;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x17001A1D RID: 6685
|
||||
// (get) Token: 0x0600A68F RID: 42639 RVA: 0x0023BFC8 File Offset: 0x0023A1C8
|
||||
[Token(Token = "0x17001A1D")]
|
||||
public virtual ECPointMap PointMap
|
||||
{
|
||||
[Token(Token = "0x600A68F")]
|
||||
[Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0", Slot = "8")]
|
||||
get
|
||||
{
|
||||
return this.m_pointMap;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A1E RID: 6686
|
||||
// (get) Token: 0x0600A690 RID: 42640 RVA: 0x0023BFDC File Offset: 0x0023A1DC
|
||||
[Token(Token = "0x17001A1E")]
|
||||
public virtual bool HasEfficientPointMap
|
||||
{
|
||||
[Token(Token = "0x600A690")]
|
||||
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "9")]
|
||||
get
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A691 RID: 42641 RVA: 0x0023BFEC File Offset: 0x0023A1EC
|
||||
[Token(Token = "0x600A691")]
|
||||
[Address(RVA = "0x7E2500", Offset = "0x7E1500", VA = "0x1807E2500", Slot = "10")]
|
||||
protected virtual BigInteger CalculateB(BigInteger k, BigInteger g, int t)
|
||||
{
|
||||
int sign = g.sign;
|
||||
BigInteger bigInteger = g.Abs();
|
||||
BigInteger bigInteger2 = k.Multiply(bigInteger);
|
||||
int num = t - 1;
|
||||
bool flag = bigInteger2.TestBit(num);
|
||||
BigInteger bigInteger3 = bigInteger2.ShiftRight(t);
|
||||
if (flag)
|
||||
{
|
||||
BigInteger one = BigInteger.One;
|
||||
BigInteger bigInteger4 = bigInteger3.Add(one);
|
||||
}
|
||||
return bigInteger3.Negate();
|
||||
}
|
||||
|
||||
// Token: 0x04006CE9 RID: 27881
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006CE9")]
|
||||
protected readonly ECCurve m_curve;
|
||||
|
||||
// Token: 0x04006CEA RID: 27882
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006CEA")]
|
||||
protected readonly GlvTypeBParameters m_parameters;
|
||||
|
||||
// Token: 0x04006CEB RID: 27883
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006CEB")]
|
||||
protected readonly ECPointMap m_pointMap;
|
||||
}
|
||||
}
|
||||
+150
@@ -0,0 +1,150 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Endo
|
||||
{
|
||||
// Token: 0x02001B12 RID: 6930
|
||||
[Token(Token = "0x2001B12")]
|
||||
public class GlvTypeBParameters
|
||||
{
|
||||
// Token: 0x0600A692 RID: 42642 RVA: 0x0023C04C File Offset: 0x0023A24C
|
||||
[Token(Token = "0x600A692")]
|
||||
[Address(RVA = "0x7E2A00", Offset = "0x7E1A00", VA = "0x1807E2A00")]
|
||||
public GlvTypeBParameters(BigInteger beta, BigInteger lambda, BigInteger[] v1, BigInteger[] v2, BigInteger g1, BigInteger g2, int bits)
|
||||
{
|
||||
this.m_v2 = 0;
|
||||
this.m_g1 = 0;
|
||||
this.m_g2 = 0;
|
||||
this.m_beta = beta;
|
||||
this.m_v1 = v1;
|
||||
this.m_bits = 0;
|
||||
this.m_lambda = lambda;
|
||||
}
|
||||
|
||||
// Token: 0x17001A1F RID: 6687
|
||||
// (get) Token: 0x0600A693 RID: 42643 RVA: 0x0023C090 File Offset: 0x0023A290
|
||||
[Token(Token = "0x17001A1F")]
|
||||
public virtual BigInteger Beta
|
||||
{
|
||||
[Token(Token = "0x600A693")]
|
||||
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.m_beta;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A20 RID: 6688
|
||||
// (get) Token: 0x0600A694 RID: 42644 RVA: 0x0023C0A4 File Offset: 0x0023A2A4
|
||||
[Token(Token = "0x17001A20")]
|
||||
public virtual BigInteger Lambda
|
||||
{
|
||||
[Token(Token = "0x600A694")]
|
||||
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.m_lambda;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A21 RID: 6689
|
||||
// (get) Token: 0x0600A695 RID: 42645 RVA: 0x0023C0B8 File Offset: 0x0023A2B8
|
||||
[Token(Token = "0x17001A21")]
|
||||
public virtual BigInteger[] V1
|
||||
{
|
||||
[Token(Token = "0x600A695")]
|
||||
[Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_v1;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A22 RID: 6690
|
||||
// (get) Token: 0x0600A696 RID: 42646 RVA: 0x0023C0CC File Offset: 0x0023A2CC
|
||||
[Token(Token = "0x17001A22")]
|
||||
public virtual BigInteger[] V2
|
||||
{
|
||||
[Token(Token = "0x600A696")]
|
||||
[Address(RVA = "0x4157D0", Offset = "0x4147D0", VA = "0x1804157D0", Slot = "7")]
|
||||
get
|
||||
{
|
||||
return this.m_v2;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A23 RID: 6691
|
||||
// (get) Token: 0x0600A697 RID: 42647 RVA: 0x0023C0E0 File Offset: 0x0023A2E0
|
||||
[Token(Token = "0x17001A23")]
|
||||
public virtual BigInteger G1
|
||||
{
|
||||
[Token(Token = "0x600A697")]
|
||||
[Address(RVA = "0x4157E0", Offset = "0x4147E0", VA = "0x1804157E0", Slot = "8")]
|
||||
get
|
||||
{
|
||||
return this.m_g1;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A24 RID: 6692
|
||||
// (get) Token: 0x0600A698 RID: 42648 RVA: 0x0023C0F4 File Offset: 0x0023A2F4
|
||||
[Token(Token = "0x17001A24")]
|
||||
public virtual BigInteger G2
|
||||
{
|
||||
[Token(Token = "0x600A698")]
|
||||
[Address(RVA = "0x41CEF0", Offset = "0x41BEF0", VA = "0x18041CEF0", Slot = "9")]
|
||||
get
|
||||
{
|
||||
return this.m_g2;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A25 RID: 6693
|
||||
// (get) Token: 0x0600A699 RID: 42649 RVA: 0x0023C108 File Offset: 0x0023A308
|
||||
[Token(Token = "0x17001A25")]
|
||||
public virtual int Bits
|
||||
{
|
||||
[Token(Token = "0x600A699")]
|
||||
[Address(RVA = "0x678D20", Offset = "0x677D20", VA = "0x180678D20", Slot = "10")]
|
||||
get
|
||||
{
|
||||
return this.m_bits;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04006CEC RID: 27884
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006CEC")]
|
||||
protected readonly BigInteger m_beta;
|
||||
|
||||
// Token: 0x04006CED RID: 27885
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006CED")]
|
||||
protected readonly BigInteger m_lambda;
|
||||
|
||||
// Token: 0x04006CEE RID: 27886
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006CEE")]
|
||||
protected readonly BigInteger[] m_v1;
|
||||
|
||||
// Token: 0x04006CEF RID: 27887
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006CEF")]
|
||||
protected readonly BigInteger[] m_v2;
|
||||
|
||||
// Token: 0x04006CF0 RID: 27888
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006CF0")]
|
||||
protected readonly BigInteger m_g1;
|
||||
|
||||
// Token: 0x04006CF1 RID: 27889
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006CF1")]
|
||||
protected readonly BigInteger m_g2;
|
||||
|
||||
// Token: 0x04006CF2 RID: 27890
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006CF2")]
|
||||
protected readonly int m_bits;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user