public class org.bouncycastle.math.ec.custom.djb.Curve25519Point extends org.bouncycastle.math.ec.ECPoint$AbstractFp
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.math.ec.custom.djb.Curve25519Point
super_class: org.bouncycastle.math.ec.ECPoint$AbstractFp
{
public void <init>(org.bouncycastle.math.ec.ECCurve, org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
iconst_0
invokespecial org.bouncycastle.math.ec.custom.djb.Curve25519Point.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519Point;
0 2 1 curve Lorg/bouncycastle/math/ec/ECCurve;
0 2 2 x Lorg/bouncycastle/math/ec/ECFieldElement;
0 2 3 y Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
curve
x
y
public void <init>(org.bouncycastle.math.ec.ECCurve, org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement, boolean);
descriptor: (Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
invokespecial org.bouncycastle.math.ec.ECPoint$AbstractFp.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)V
1: aload 2
ifnonnull 2
iconst_1
goto 3
StackMap locals: org.bouncycastle.math.ec.custom.djb.Curve25519Point org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement int
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: aload 3
ifnonnull 4
iconst_1
goto 5
StackMap locals:
StackMap stack: int
4: iconst_0
StackMap locals: org.bouncycastle.math.ec.custom.djb.Curve25519Point org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement int
StackMap stack: int int
5: if_icmpeq 7
6: new java.lang.IllegalArgumentException
dup
ldc "Exactly one of the field elements is null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 0
iload 4
putfield org.bouncycastle.math.ec.custom.djb.Curve25519Point.withCompression:Z
8: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519Point;
0 9 1 curve Lorg/bouncycastle/math/ec/ECCurve;
0 9 2 x Lorg/bouncycastle/math/ec/ECFieldElement;
0 9 3 y Lorg/bouncycastle/math/ec/ECFieldElement;
0 9 4 withCompression Z
MethodParameters:
Name Flags
curve
x
y
withCompression
void <init>(org.bouncycastle.math.ec.ECCurve, org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement[], boolean);
descriptor: (Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;[Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
flags: (0x0000)
Code:
stack=5, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
aload 3
aload 4
invokespecial org.bouncycastle.math.ec.ECPoint$AbstractFp.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;[Lorg/bouncycastle/math/ec/ECFieldElement;)V
1: aload 0
iload 5
putfield org.bouncycastle.math.ec.custom.djb.Curve25519Point.withCompression:Z
2: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519Point;
0 3 1 curve Lorg/bouncycastle/math/ec/ECCurve;
0 3 2 x Lorg/bouncycastle/math/ec/ECFieldElement;
0 3 3 y Lorg/bouncycastle/math/ec/ECFieldElement;
0 3 4 zs [Lorg/bouncycastle/math/ec/ECFieldElement;
0 3 5 withCompression Z
MethodParameters:
Name Flags
curve
x
y
zs
withCompression
protected org.bouncycastle.math.ec.ECPoint detach();
descriptor: ()Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=1, args_size=1
start local 0 0: new org.bouncycastle.math.ec.custom.djb.Curve25519Point
dup
aconst_null
aload 0
invokevirtual org.bouncycastle.math.ec.custom.djb.Curve25519Point.getAffineXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
invokevirtual org.bouncycastle.math.ec.custom.djb.Curve25519Point.getAffineYCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokespecial org.bouncycastle.math.ec.custom.djb.Curve25519Point.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519Point;
public org.bouncycastle.math.ec.ECFieldElement getZCoord(int);
descriptor: (I)Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iconst_1
if_icmpne 2
1: aload 0
invokevirtual org.bouncycastle.math.ec.custom.djb.Curve25519Point.getJacobianModifiedW:()Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
areturn
2: StackMap locals:
StackMap stack:
aload 0
iload 1
invokespecial org.bouncycastle.math.ec.ECPoint$AbstractFp.getZCoord:(I)Lorg/bouncycastle/math/ec/ECFieldElement;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519Point;
0 3 1 index I
MethodParameters:
Name Flags
index
public org.bouncycastle.math.ec.ECPoint add(org.bouncycastle.math.ec.ECPoint);
descriptor: (Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=31, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.bouncycastle.math.ec.custom.djb.Curve25519Point.isInfinity:()Z
ifeq 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint.isInfinity:()Z
ifeq 4
3: aload 0
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
if_acmpne 6
5: aload 0
invokevirtual org.bouncycastle.math.ec.custom.djb.Curve25519Point.twice:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.custom.djb.Curve25519Point.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
astore 2
start local 2 7: aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519Point.x:Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
astore 3
start local 3 8: aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519Point.y:Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
astore 4
start local 4 9: aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519Point.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
iconst_0
aaload
checkcast org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
astore 5
start local 5 10: aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint.getXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
astore 6
start local 6 11: aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint.getYCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
astore 7
start local 7 12: aload 1
iconst_0
invokevirtual org.bouncycastle.math.ec.ECPoint.getZCoord:(I)Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
astore 8
start local 8 13: invokestatic org.bouncycastle.math.raw.Nat256.createExt:()[I
astore 10
start local 10 14: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 11
start local 11 15: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 12
start local 12 16: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 13
start local 13 17: aload 5
invokevirtual org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.isOne:()Z
istore 14
start local 14 18: iload 14
ifeq 22
19: aload 6
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
astore 15
start local 15 20: aload 7
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
astore 16
start local 16 21: goto 28
end local 16 end local 15 22: StackMap locals: org.bouncycastle.math.ec.custom.djb.Curve25519Point org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement top int[] int[] int[] int[] int
StackMap stack:
aload 12
astore 16
start local 16 23: aload 5
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 16
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.square:([I[I)V
24: aload 11
astore 15
start local 15 25: aload 16
aload 6
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 15
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
26: aload 16
aload 5
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 16
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
27: aload 16
aload 7
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 16
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
28: StackMap locals: int[] int[]
StackMap stack:
aload 8
invokevirtual org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.isOne:()Z
istore 17
start local 17 29: iload 17
ifeq 33
30: aload 3
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
astore 18
start local 18 31: aload 4
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
astore 19
start local 19 32: goto 39
end local 19 end local 18 33: StackMap locals: int
StackMap stack:
aload 13
astore 19
start local 19 34: aload 8
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 19
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.square:([I[I)V
35: aload 10
astore 18
start local 18 36: aload 19
aload 3
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 18
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
37: aload 19
aload 8
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 19
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
38: aload 19
aload 4
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 19
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
39: StackMap locals: int[] int[]
StackMap stack:
invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 20
start local 20 40: aload 18
aload 15
aload 20
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.subtract:([I[I[I)V
41: aload 11
astore 21
start local 21 42: aload 19
aload 16
aload 21
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.subtract:([I[I[I)V
43: aload 20
invokestatic org.bouncycastle.math.raw.Nat256.isZero:([I)Z
ifeq 47
44: aload 21
invokestatic org.bouncycastle.math.raw.Nat256.isZero:([I)Z
ifeq 46
45: aload 0
invokevirtual org.bouncycastle.math.ec.custom.djb.Curve25519Point.twice:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
46: StackMap locals: int[] int[]
StackMap stack:
aload 2
invokevirtual org.bouncycastle.math.ec.ECCurve.getInfinity:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
47: StackMap locals:
StackMap stack:
invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 22
start local 22 48: aload 20
aload 22
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.square:([I[I)V
49: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 23
start local 23 50: aload 22
aload 20
aload 23
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
51: aload 12
astore 24
start local 24 52: aload 22
aload 18
aload 24
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
53: aload 23
aload 23
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.negate:([I[I)V
54: aload 19
aload 23
aload 10
invokestatic org.bouncycastle.math.raw.Nat256.mul:([I[I[I)V
55: aload 24
aload 24
aload 23
invokestatic org.bouncycastle.math.raw.Nat256.addBothTo:([I[I[I)I
istore 9
start local 9 56: iload 9
aload 23
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.reduce27:(I[I)V
57: new org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
dup
aload 13
invokespecial org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.<init>:([I)V
astore 25
start local 25 58: aload 21
aload 25
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.square:([I[I)V
59: aload 25
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 23
aload 25
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.subtract:([I[I[I)V
60: new org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
dup
aload 23
invokespecial org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.<init>:([I)V
astore 26
start local 26 61: aload 24
aload 25
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 26
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.subtract:([I[I[I)V
62: aload 26
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 21
aload 10
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiplyAddToExt:([I[I[I)V
63: aload 10
aload 26
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.reduce:([I[I)V
64: new org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
dup
aload 20
invokespecial org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.<init>:([I)V
astore 27
start local 27 65: iload 14
ifne 67
66: aload 27
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 5
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 27
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
67: StackMap locals: org.bouncycastle.math.ec.custom.djb.Curve25519Point org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement int int[] int[] int[] int[] int int[] int[] int int[] int[] int[] int[] int[] int[] int[] org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
StackMap stack:
iload 17
ifne 69
68: aload 27
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 8
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 27
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
69: StackMap locals:
StackMap stack:
iload 14
ifeq 70
iload 17
ifeq 70
aload 22
goto 71
StackMap locals:
StackMap stack:
70: aconst_null
StackMap locals:
StackMap stack: int[]
71: astore 28
start local 28 72: aload 0
aload 27
aload 28
invokevirtual org.bouncycastle.math.ec.custom.djb.Curve25519Point.calculateJacobianModifiedW:(Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;[I)Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
astore 29
start local 29 73: iconst_2
anewarray org.bouncycastle.math.ec.ECFieldElement
dup
iconst_0
aload 27
aastore
dup
iconst_1
aload 29
aastore
astore 30
start local 30 74: new org.bouncycastle.math.ec.custom.djb.Curve25519Point
dup
aload 2
aload 25
aload 26
aload 30
aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519Point.withCompression:Z
invokespecial org.bouncycastle.math.ec.custom.djb.Curve25519Point.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;[Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
areturn
end local 30 end local 29 end local 28 end local 27 end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 75 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519Point;
0 75 1 b Lorg/bouncycastle/math/ec/ECPoint;
7 75 2 curve Lorg/bouncycastle/math/ec/ECCurve;
8 75 3 X1 Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
9 75 4 Y1 Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
10 75 5 Z1 Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
11 75 6 X2 Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
12 75 7 Y2 Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
13 75 8 Z2 Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
56 75 9 c I
14 75 10 tt1 [I
15 75 11 t2 [I
16 75 12 t3 [I
17 75 13 t4 [I
18 75 14 Z1IsOne Z
20 22 15 U2 [I
25 75 15 U2 [I
21 22 16 S2 [I
23 75 16 S2 [I
29 75 17 Z2IsOne Z
31 33 18 U1 [I
36 75 18 U1 [I
32 33 19 S1 [I
34 75 19 S1 [I
40 75 20 H [I
42 75 21 R [I
48 75 22 HSquared [I
50 75 23 G [I
52 75 24 V [I
58 75 25 X3 Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
61 75 26 Y3 Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
65 75 27 Z3 Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
72 75 28 Z3Squared [I
73 75 29 W3 Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
74 75 30 zs [Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
b
public org.bouncycastle.math.ec.ECPoint twice();
descriptor: ()Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.math.ec.custom.djb.Curve25519Point.isInfinity:()Z
ifeq 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.custom.djb.Curve25519Point.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
astore 1
start local 1 3: aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519Point.y:Lorg/bouncycastle/math/ec/ECFieldElement;
astore 2
start local 2 4: aload 2
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
ifeq 6
5: aload 1
invokevirtual org.bouncycastle.math.ec.ECCurve.getInfinity:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
6: StackMap locals: org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
aload 0
iconst_1
invokevirtual org.bouncycastle.math.ec.custom.djb.Curve25519Point.twiceJacobianModified:(Z)Lorg/bouncycastle/math/ec/custom/djb/Curve25519Point;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519Point;
3 7 1 curve Lorg/bouncycastle/math/ec/ECCurve;
4 7 2 Y1 Lorg/bouncycastle/math/ec/ECFieldElement;
public org.bouncycastle.math.ec.ECPoint twicePlus(org.bouncycastle.math.ec.ECPoint);
descriptor: (Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: aload 0
invokevirtual org.bouncycastle.math.ec.custom.djb.Curve25519Point.threeTimes:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.custom.djb.Curve25519Point.isInfinity:()Z
ifeq 4
3: aload 1
areturn
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint.isInfinity:()Z
ifeq 6
5: aload 0
invokevirtual org.bouncycastle.math.ec.custom.djb.Curve25519Point.twice:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519Point.y:Lorg/bouncycastle/math/ec/ECFieldElement;
astore 2
start local 2 7: aload 2
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
ifeq 9
8: aload 1
areturn
9: StackMap locals: org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
aload 0
iconst_0
invokevirtual org.bouncycastle.math.ec.custom.djb.Curve25519Point.twiceJacobianModified:(Z)Lorg/bouncycastle/math/ec/custom/djb/Curve25519Point;
aload 1
invokevirtual org.bouncycastle.math.ec.custom.djb.Curve25519Point.add:(Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519Point;
0 10 1 b Lorg/bouncycastle/math/ec/ECPoint;
7 10 2 Y1 Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
b
public org.bouncycastle.math.ec.ECPoint threeTimes();
descriptor: ()Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.math.ec.custom.djb.Curve25519Point.isInfinity:()Z
ifeq 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519Point.y:Lorg/bouncycastle/math/ec/ECFieldElement;
astore 1
start local 1 3: aload 1
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
ifeq 5
4: aload 0
areturn
5: StackMap locals: org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
aload 0
iconst_0
invokevirtual org.bouncycastle.math.ec.custom.djb.Curve25519Point.twiceJacobianModified:(Z)Lorg/bouncycastle/math/ec/custom/djb/Curve25519Point;
aload 0
invokevirtual org.bouncycastle.math.ec.custom.djb.Curve25519Point.add:(Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519Point;
3 6 1 Y1 Lorg/bouncycastle/math/ec/ECFieldElement;
public org.bouncycastle.math.ec.ECPoint negate();
descriptor: ()Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.math.ec.custom.djb.Curve25519Point.isInfinity:()Z
ifeq 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
new org.bouncycastle.math.ec.custom.djb.Curve25519Point
dup
aload 0
invokevirtual org.bouncycastle.math.ec.custom.djb.Curve25519Point.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519Point.x:Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519Point.y:Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.negate:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519Point.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519Point.withCompression:Z
invokespecial org.bouncycastle.math.ec.custom.djb.Curve25519Point.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;[Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519Point;
protected org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement calculateJacobianModifiedW(org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement, int[]);
descriptor: (Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;[I)Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.bouncycastle.math.ec.custom.djb.Curve25519Point.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
invokevirtual org.bouncycastle.math.ec.ECCurve.getA:()Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
astore 3
start local 3 1: aload 1
invokevirtual org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.isOne:()Z
ifeq 3
2: aload 3
areturn
3: StackMap locals: org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
StackMap stack:
new org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
dup
invokespecial org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.<init>:()V
astore 4
start local 4 4: aload 2
ifnonnull 7
5: aload 4
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
astore 2
6: aload 1
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 2
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.square:([I[I)V
7: StackMap locals: org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
StackMap stack:
aload 2
aload 4
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.square:([I[I)V
8: aload 4
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 3
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 4
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
9: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519Point;
0 10 1 Z Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
0 10 2 ZSquared [I
1 10 3 a4 Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
4 10 4 W Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
MethodParameters:
Name Flags
Z
ZSquared
protected org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement getJacobianModifiedW();
descriptor: ()Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519Point.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
iconst_1
aaload
checkcast org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519Point.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
iconst_1
aload 0
aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519Point.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
iconst_0
aaload
checkcast org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
aconst_null
invokevirtual org.bouncycastle.math.ec.custom.djb.Curve25519Point.calculateJacobianModifiedW:(Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;[I)Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
dup
astore 1
aastore
3: StackMap locals: org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519Point;
1 4 1 W Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
protected org.bouncycastle.math.ec.custom.djb.Curve25519Point twiceJacobianModified(boolean);
descriptor: (Z)Lorg/bouncycastle/math/ec/custom/djb/Curve25519Point;
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=16, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519Point.x:Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
astore 2
start local 2 1: aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519Point.y:Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
astore 3
start local 3 2: aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519Point.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
iconst_0
aaload
checkcast org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
astore 4
start local 4 3: aload 0
invokevirtual org.bouncycastle.math.ec.custom.djb.Curve25519Point.getJacobianModifiedW:()Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
astore 5
start local 5 4: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 7
start local 7 5: aload 2
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 7
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.square:([I[I)V
6: aload 7
aload 7
aload 7
invokestatic org.bouncycastle.math.raw.Nat256.addBothTo:([I[I[I)I
istore 6
start local 6 7: iload 6
aload 5
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 7
invokestatic org.bouncycastle.math.raw.Nat256.addTo:([I[I)I
iadd
istore 6
8: iload 6
aload 7
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.reduce27:(I[I)V
9: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 8
start local 8 10: aload 3
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 8
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.twice:([I[I)V
11: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 9
start local 9 12: aload 8
aload 3
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 9
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
13: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 10
start local 10 14: aload 9
aload 2
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 10
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
15: aload 10
aload 10
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.twice:([I[I)V
16: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 11
start local 11 17: aload 9
aload 11
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.square:([I[I)V
18: aload 11
aload 11
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.twice:([I[I)V
19: new org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
dup
aload 9
invokespecial org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.<init>:([I)V
astore 12
start local 12 20: aload 7
aload 12
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.square:([I[I)V
21: aload 12
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 10
aload 12
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.subtract:([I[I[I)V
22: aload 12
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 10
aload 12
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.subtract:([I[I[I)V
23: new org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
dup
aload 10
invokespecial org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.<init>:([I)V
astore 13
start local 13 24: aload 10
aload 12
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 13
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.subtract:([I[I[I)V
25: aload 13
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 7
aload 13
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
26: aload 13
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 11
aload 13
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.subtract:([I[I[I)V
27: new org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
dup
aload 8
invokespecial org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.<init>:([I)V
astore 14
start local 14 28: aload 4
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
invokestatic org.bouncycastle.math.raw.Nat256.isOne:([I)Z
ifne 30
29: aload 14
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 4
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 14
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
30: StackMap locals: org.bouncycastle.math.ec.custom.djb.Curve25519Point int org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement int int[] int[] int[] int[] int[] org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
StackMap stack:
aconst_null
astore 15
start local 15 31: iload 1
ifeq 35
32: new org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
dup
aload 11
invokespecial org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.<init>:([I)V
astore 15
33: aload 15
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 5
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 15
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
34: aload 15
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 15
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.twice:([I[I)V
35: StackMap locals: org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
StackMap stack:
new org.bouncycastle.math.ec.custom.djb.Curve25519Point
dup
aload 0
invokevirtual org.bouncycastle.math.ec.custom.djb.Curve25519Point.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
aload 12
aload 13
iconst_2
anewarray org.bouncycastle.math.ec.ECFieldElement
dup
iconst_0
aload 14
aastore
dup
iconst_1
aload 15
aastore
aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519Point.withCompression:Z
invokespecial org.bouncycastle.math.ec.custom.djb.Curve25519Point.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;[Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
areturn
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519Point;
0 36 1 calculateW Z
1 36 2 X1 Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
2 36 3 Y1 Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
3 36 4 Z1 Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
4 36 5 W1 Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
7 36 6 c I
5 36 7 M [I
10 36 8 _2Y1 [I
12 36 9 _2Y1Squared [I
14 36 10 S [I
17 36 11 _8T [I
20 36 12 X3 Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
24 36 13 Y3 Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
28 36 14 Z3 Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
31 36 15 W3 Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
MethodParameters:
Name Flags
calculateW
}
SourceFile: "Curve25519Point.java"
InnerClasses:
public abstract AbstractFp = org.bouncycastle.math.ec.ECPoint$AbstractFp of org.bouncycastle.math.ec.ECPoint