public class org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement extends org.bouncycastle.math.ec.ECFieldElement$AbstractFp
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
super_class: org.bouncycastle.math.ec.ECFieldElement$AbstractFp
{
public static final java.math.BigInteger Q;
descriptor: Ljava/math/BigInteger;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final int[] PRECOMP_POW2;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
protected int[] x;
descriptor: [I
flags: (0x0004) ACC_PROTECTED
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: getstatic org.bouncycastle.math.ec.custom.djb.Curve25519.q:Ljava/math/BigInteger;
putstatic org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.Q:Ljava/math/BigInteger;
1: bipush 8
newarray 10
dup
iconst_0
ldc 1242472624
iastore
dup
iconst_1
ldc -991028441
iastore
dup
iconst_2
ldc -1389370248
iastore
dup
iconst_3
ldc 792926214
iastore
dup
iconst_4
2: ldc 1039914919
iastore
dup
iconst_5
ldc 726466713
iastore
dup
bipush 6
ldc 1338105611
iastore
dup
bipush 7
ldc 730014848
iastore
3: putstatic org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.PRECOMP_POW2:[I
4: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.bouncycastle.math.ec.ECFieldElement$AbstractFp.<init>:()V
1: aload 1
ifnull 2
aload 1
invokevirtual java.math.BigInteger.signum:()I
iflt 2
aload 1
getstatic org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.Q:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
iflt 3
2: StackMap locals: org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement java.math.BigInteger
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "x value invalid for Curve25519FieldElement"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.fromBigInteger:(Ljava/math/BigInteger;)[I
putfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
0 5 1 x Ljava/math/BigInteger;
MethodParameters:
Name Flags
x
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.bouncycastle.math.ec.ECFieldElement$AbstractFp.<init>:()V
1: aload 0
invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
putfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
protected void <init>(int[]);
descriptor: ([I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.bouncycastle.math.ec.ECFieldElement$AbstractFp.<init>:()V
1: aload 0
aload 1
putfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
0 3 1 x [I
MethodParameters:
Name Flags
x
public boolean isZero();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
invokestatic org.bouncycastle.math.raw.Nat256.isZero:([I)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
public boolean isOne();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
invokestatic org.bouncycastle.math.raw.Nat256.isOne:([I)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
public boolean testBitZero();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
iconst_0
invokestatic org.bouncycastle.math.raw.Nat256.getBit:([II)I
iconst_1
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
public java.math.BigInteger toBigInteger();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
invokestatic org.bouncycastle.math.raw.Nat256.toBigInteger:([I)Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
public java.lang.String getFieldName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "Curve25519Field"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
public int getFieldSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.Q:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.bitLength:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
public org.bouncycastle.math.ec.ECFieldElement add(org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 2
start local 2 1: aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 1
checkcast org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 2
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.add:([I[I[I)V
2: new org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
dup
aload 2
invokespecial org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.<init>:([I)V
areturn
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/Curve25519FieldElement;
0 3 1 b Lorg/bouncycastle/math/ec/ECFieldElement;
1 3 2 z [I
MethodParameters:
Name Flags
b
public org.bouncycastle.math.ec.ECFieldElement addOne();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 1
start local 1 1: aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 1
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.addOne:([I[I)V
2: new org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
dup
aload 1
invokespecial org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.<init>:([I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
1 3 1 z [I
public org.bouncycastle.math.ec.ECFieldElement subtract(org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 2
start local 2 1: aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 1
checkcast org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 2
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.subtract:([I[I[I)V
2: new org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
dup
aload 2
invokespecial org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.<init>:([I)V
areturn
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/Curve25519FieldElement;
0 3 1 b Lorg/bouncycastle/math/ec/ECFieldElement;
1 3 2 z [I
MethodParameters:
Name Flags
b
public org.bouncycastle.math.ec.ECFieldElement multiply(org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 2
start local 2 1: aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 1
checkcast org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 2
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
2: new org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
dup
aload 2
invokespecial org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.<init>:([I)V
areturn
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/Curve25519FieldElement;
0 3 1 b Lorg/bouncycastle/math/ec/ECFieldElement;
1 3 2 z [I
MethodParameters:
Name Flags
b
public org.bouncycastle.math.ec.ECFieldElement divide(org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 2
start local 2 1: getstatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.P:[I
aload 1
checkcast org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 2
invokestatic org.bouncycastle.math.raw.Mod.invert:([I[I[I)V
2: aload 2
aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 2
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
3: new org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
dup
aload 2
invokespecial org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.<init>:([I)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
0 4 1 b Lorg/bouncycastle/math/ec/ECFieldElement;
1 4 2 z [I
MethodParameters:
Name Flags
b
public org.bouncycastle.math.ec.ECFieldElement negate();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 1
start local 1 1: aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 1
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.negate:([I[I)V
2: new org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
dup
aload 1
invokespecial org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.<init>:([I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
1 3 1 z [I
public org.bouncycastle.math.ec.ECFieldElement square();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 1
start local 1 1: aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 1
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.square:([I[I)V
2: new org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
dup
aload 1
invokespecial org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.<init>:([I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
1 3 1 z [I
public org.bouncycastle.math.ec.ECFieldElement invert();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 1
start local 1 1: getstatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.P:[I
aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 1
invokestatic org.bouncycastle.math.raw.Mod.invert:([I[I[I)V
2: new org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
dup
aload 1
invokespecial org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.<init>:([I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
1 3 1 z [I
public org.bouncycastle.math.ec.ECFieldElement sqrt();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=15, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
astore 1
start local 1 1: aload 1
invokestatic org.bouncycastle.math.raw.Nat256.isZero:([I)Z
ifne 2
aload 1
invokestatic org.bouncycastle.math.raw.Nat256.isOne:([I)Z
ifeq 3
2: StackMap locals: int[]
StackMap stack:
aload 0
areturn
3: StackMap locals:
StackMap stack:
invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 2
start local 2 4: aload 1
aload 2
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.square:([I[I)V
5: aload 2
aload 1
aload 2
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
6: aload 2
astore 3
start local 3 7: aload 2
aload 3
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.square:([I[I)V
8: aload 3
aload 1
aload 3
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
9: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 4
start local 4 10: aload 3
aload 4
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.square:([I[I)V
11: aload 4
aload 1
aload 4
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
12: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 5
start local 5 13: aload 4
iconst_3
aload 5
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.squareN:([II[I)V
14: aload 5
aload 3
aload 5
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
15: aload 3
astore 6
start local 6 16: aload 5
iconst_4
aload 6
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.squareN:([II[I)V
17: aload 6
aload 4
aload 6
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
18: aload 5
astore 7
start local 7 19: aload 6
iconst_4
aload 7
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.squareN:([II[I)V
20: aload 7
aload 4
aload 7
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
21: aload 4
astore 8
start local 8 22: aload 7
bipush 15
aload 8
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.squareN:([II[I)V
23: aload 8
aload 7
aload 8
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
24: aload 7
astore 9
start local 9 25: aload 8
bipush 30
aload 9
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.squareN:([II[I)V
26: aload 9
aload 8
aload 9
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
27: aload 8
astore 10
start local 10 28: aload 9
bipush 60
aload 10
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.squareN:([II[I)V
29: aload 10
aload 9
aload 10
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
30: aload 9
astore 11
start local 11 31: aload 10
bipush 11
aload 11
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.squareN:([II[I)V
32: aload 11
aload 6
aload 11
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
33: aload 6
astore 12
start local 12 34: aload 11
bipush 120
aload 12
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.squareN:([II[I)V
35: aload 12
aload 10
aload 12
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
36: aload 12
astore 13
start local 13 37: aload 13
aload 13
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.square:([I[I)V
38: aload 10
astore 14
start local 14 39: aload 13
aload 14
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.square:([I[I)V
40: aload 1
aload 14
invokestatic org.bouncycastle.math.raw.Nat256.eq:([I[I)Z
ifeq 42
41: new org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
dup
aload 13
invokespecial org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.<init>:([I)V
areturn
42: StackMap locals: org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement int[] int[] int[] int[] int[] int[] int[] int[] int[] int[] int[] int[] int[] int[]
StackMap stack:
aload 13
getstatic org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.PRECOMP_POW2:[I
aload 13
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.multiply:([I[I[I)V
43: aload 13
aload 14
invokestatic org.bouncycastle.math.ec.custom.djb.Curve25519Field.square:([I[I)V
44: aload 1
aload 14
invokestatic org.bouncycastle.math.raw.Nat256.eq:([I[I)Z
ifeq 46
45: new org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
dup
aload 13
invokespecial org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.<init>:([I)V
areturn
46: StackMap locals:
StackMap stack:
aconst_null
areturn
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 47 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
1 47 1 x1 [I
4 47 2 x2 [I
7 47 3 x3 [I
10 47 4 x4 [I
13 47 5 x7 [I
16 47 6 x11 [I
19 47 7 x15 [I
22 47 8 x30 [I
25 47 9 x60 [I
28 47 10 x120 [I
31 47 11 x131 [I
34 47 12 x251 [I
37 47 13 t1 [I
39 47 14 t2 [I
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement
astore 2
start local 2 5: aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
aload 2
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
invokestatic org.bouncycastle.math.raw.Nat256.eq:([I[I)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
0 6 1 other Ljava/lang/Object;
5 6 2 o Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
MethodParameters:
Name Flags
other
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.Q:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.hashCode:()I
aload 0
getfield org.bouncycastle.math.ec.custom.djb.Curve25519FieldElement.x:[I
iconst_0
bipush 8
invokestatic org.bouncycastle.util.Arrays.hashCode:([III)I
ixor
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/djb/Curve25519FieldElement;
}
SourceFile: "Curve25519FieldElement.java"
InnerClasses:
public abstract AbstractFp = org.bouncycastle.math.ec.ECFieldElement$AbstractFp of org.bouncycastle.math.ec.ECFieldElement