public class org.bouncycastle.math.ec.ECFieldElement$F2m extends org.bouncycastle.math.ec.ECFieldElement$AbstractF2m
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.math.ec.ECFieldElement$F2m
super_class: org.bouncycastle.math.ec.ECFieldElement$AbstractF2m
{
public static final int GNB;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int TPB;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int PPB;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private int representation;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int m;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int[] ks;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
org.bouncycastle.math.ec.LongArray x;
descriptor: Lorg/bouncycastle/math/ec/LongArray;
flags: (0x0000)
public void <init>(int, int, int, int, java.math.BigInteger);
descriptor: (IIIILjava/math/BigInteger;)V
flags: (0x0001) ACC_PUBLIC
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
invokespecial org.bouncycastle.math.ec.ECFieldElement$AbstractF2m.<init>:()V
1: aload 5
ifnull 2
aload 5
invokevirtual java.math.BigInteger.signum:()I
iflt 2
aload 5
invokevirtual java.math.BigInteger.bitLength:()I
iload 1
if_icmple 3
2: StackMap locals: org.bouncycastle.math.ec.ECFieldElement$F2m int int int int java.math.BigInteger
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "x value invalid in F2m field element"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
iload 3
ifne 7
iload 4
ifne 7
4: aload 0
iconst_2
putfield org.bouncycastle.math.ec.ECFieldElement$F2m.representation:I
5: aload 0
iconst_1
newarray 10
dup
iconst_0
iload 2
iastore
putfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
6: goto 17
7: StackMap locals:
StackMap stack:
iload 3
iload 4
if_icmplt 11
8: new java.lang.IllegalArgumentException
dup
9: ldc "k2 must be smaller than k3"
10: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
iload 3
ifgt 15
12: new java.lang.IllegalArgumentException
dup
13: ldc "k2 must be larger than 0"
14: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
aload 0
iconst_3
putfield org.bouncycastle.math.ec.ECFieldElement$F2m.representation:I
16: aload 0
iconst_3
newarray 10
dup
iconst_0
iload 2
iastore
dup
iconst_1
iload 3
iastore
dup
iconst_2
iload 4
iastore
putfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
17: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
18: aload 0
new org.bouncycastle.math.ec.LongArray
dup
aload 5
invokespecial org.bouncycastle.math.ec.LongArray.<init>:(Ljava/math/BigInteger;)V
putfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/LongArray;
19: 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 20 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
0 20 1 m I
0 20 2 k1 I
0 20 3 k2 I
0 20 4 k3 I
0 20 5 x Ljava/math/BigInteger;
MethodParameters:
Name Flags
m
k1
k2
k3
x
void <init>(int, int[], org.bouncycastle.math.ec.LongArray);
descriptor: (I[ILorg/bouncycastle/math/ec/LongArray;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial org.bouncycastle.math.ec.ECFieldElement$AbstractF2m.<init>:()V
1: aload 0
iload 1
putfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
2: aload 0
aload 2
arraylength
iconst_1
if_icmpne 3
iconst_2
goto 4
StackMap locals: org.bouncycastle.math.ec.ECFieldElement$F2m int int[] org.bouncycastle.math.ec.LongArray
StackMap stack: org.bouncycastle.math.ec.ECFieldElement$F2m
3: iconst_3
StackMap locals: org.bouncycastle.math.ec.ECFieldElement$F2m int int[] org.bouncycastle.math.ec.LongArray
StackMap stack: org.bouncycastle.math.ec.ECFieldElement$F2m int
4: putfield org.bouncycastle.math.ec.ECFieldElement$F2m.representation:I
5: aload 0
aload 2
putfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
6: aload 0
aload 3
putfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/LongArray;
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
0 8 1 m I
0 8 2 ks [I
0 8 3 x Lorg/bouncycastle/math/ec/LongArray;
MethodParameters:
Name Flags
m
ks
x
public int bitLength();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/LongArray;
invokevirtual org.bouncycastle.math.ec.LongArray.degree:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
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.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/LongArray;
invokevirtual org.bouncycastle.math.ec.LongArray.isOne:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
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.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/LongArray;
invokevirtual org.bouncycastle.math.ec.LongArray.isZero:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
public boolean testBitZero();
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.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/LongArray;
invokevirtual org.bouncycastle.math.ec.LongArray.testBitZero:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
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.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/LongArray;
invokevirtual org.bouncycastle.math.ec.LongArray.toBigInteger:()Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
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 "F2m"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
public int getFieldSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
public static void checkFieldElements(org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
instanceof org.bouncycastle.math.ec.ECFieldElement$F2m
ifeq 1
aload 1
instanceof org.bouncycastle.math.ec.ECFieldElement$F2m
ifne 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Field elements are not both instances of ECFieldElement.F2m"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
checkcast org.bouncycastle.math.ec.ECFieldElement$F2m
astore 2
start local 2 3: aload 1
checkcast org.bouncycastle.math.ec.ECFieldElement$F2m
astore 3
start local 3 4: aload 2
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.representation:I
aload 3
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.representation:I
if_icmpeq 6
5: new java.lang.IllegalArgumentException
dup
ldc "One of the F2m field elements has incorrect representation"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: org.bouncycastle.math.ec.ECFieldElement$F2m org.bouncycastle.math.ec.ECFieldElement$F2m
StackMap stack:
aload 2
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
aload 3
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
if_icmpne 7
aload 2
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
aload 3
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
invokestatic org.bouncycastle.util.Arrays.areEqual:([I[I)Z
ifne 8
7: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Field elements are not elements of the same field F2m"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 a Lorg/bouncycastle/math/ec/ECFieldElement;
0 9 1 b Lorg/bouncycastle/math/ec/ECFieldElement;
3 9 2 aF2m Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
4 9 3 bF2m Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
MethodParameters:
Name Flags
a
b
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=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/LongArray;
invokevirtual org.bouncycastle.math.ec.LongArray.clone:()Ljava/lang/Object;
checkcast org.bouncycastle.math.ec.LongArray
astore 2
start local 2 1: aload 1
checkcast org.bouncycastle.math.ec.ECFieldElement$F2m
astore 3
start local 3 2: aload 2
aload 3
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/LongArray;
iconst_0
invokevirtual org.bouncycastle.math.ec.LongArray.addShiftedByWords:(Lorg/bouncycastle/math/ec/LongArray;I)V
3: new org.bouncycastle.math.ec.ECFieldElement$F2m
dup
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
aload 2
invokespecial org.bouncycastle.math.ec.ECFieldElement$F2m.<init>:(I[ILorg/bouncycastle/math/ec/LongArray;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
0 4 1 b Lorg/bouncycastle/math/ec/ECFieldElement;
1 4 2 iarrClone Lorg/bouncycastle/math/ec/LongArray;
2 4 3 bF2m Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
MethodParameters:
Name Flags
b final
public org.bouncycastle.math.ec.ECFieldElement addOne();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: new org.bouncycastle.math.ec.ECFieldElement$F2m
dup
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/LongArray;
invokevirtual org.bouncycastle.math.ec.LongArray.addOne:()Lorg/bouncycastle/math/ec/LongArray;
invokespecial org.bouncycastle.math.ec.ECFieldElement$F2m.<init>:(I[ILorg/bouncycastle/math/ec/LongArray;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
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=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.bouncycastle.math.ec.ECFieldElement$F2m.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
0 1 1 b Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
b final
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=8, locals=2, args_size=2
start local 0 start local 1 0: new org.bouncycastle.math.ec.ECFieldElement$F2m
dup
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/LongArray;
aload 1
checkcast org.bouncycastle.math.ec.ECFieldElement$F2m
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/LongArray;
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
invokevirtual org.bouncycastle.math.ec.LongArray.modMultiply:(Lorg/bouncycastle/math/ec/LongArray;I[I)Lorg/bouncycastle/math/ec/LongArray;
invokespecial org.bouncycastle.math.ec.ECFieldElement$F2m.<init>:(I[ILorg/bouncycastle/math/ec/LongArray;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
0 1 1 b Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
b final
public org.bouncycastle.math.ec.ECFieldElement multiplyMinusProduct(org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, 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
invokevirtual org.bouncycastle.math.ec.ECFieldElement$F2m.multiplyPlusProduct:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
0 1 1 b Lorg/bouncycastle/math/ec/ECFieldElement;
0 1 2 x Lorg/bouncycastle/math/ec/ECFieldElement;
0 1 3 y Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
b
x
y
public org.bouncycastle.math.ec.ECFieldElement multiplyPlusProduct(org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/LongArray;
astore 4
start local 4 1: aload 1
checkcast org.bouncycastle.math.ec.ECFieldElement$F2m
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/LongArray;
astore 5
start local 5 2: aload 2
checkcast org.bouncycastle.math.ec.ECFieldElement$F2m
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/LongArray;
astore 6
start local 6 3: aload 3
checkcast org.bouncycastle.math.ec.ECFieldElement$F2m
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/LongArray;
astore 7
start local 7 4: aload 4
aload 5
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
invokevirtual org.bouncycastle.math.ec.LongArray.multiply:(Lorg/bouncycastle/math/ec/LongArray;I[I)Lorg/bouncycastle/math/ec/LongArray;
astore 8
start local 8 5: aload 6
aload 7
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
invokevirtual org.bouncycastle.math.ec.LongArray.multiply:(Lorg/bouncycastle/math/ec/LongArray;I[I)Lorg/bouncycastle/math/ec/LongArray;
astore 9
start local 9 6: aload 8
aload 4
if_acmpeq 7
aload 8
aload 5
if_acmpne 8
7: StackMap locals: org.bouncycastle.math.ec.ECFieldElement$F2m org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.LongArray org.bouncycastle.math.ec.LongArray org.bouncycastle.math.ec.LongArray org.bouncycastle.math.ec.LongArray org.bouncycastle.math.ec.LongArray org.bouncycastle.math.ec.LongArray
StackMap stack:
aload 8
invokevirtual org.bouncycastle.math.ec.LongArray.clone:()Ljava/lang/Object;
checkcast org.bouncycastle.math.ec.LongArray
astore 8
8: StackMap locals:
StackMap stack:
aload 8
aload 9
iconst_0
invokevirtual org.bouncycastle.math.ec.LongArray.addShiftedByWords:(Lorg/bouncycastle/math/ec/LongArray;I)V
9: aload 8
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
invokevirtual org.bouncycastle.math.ec.LongArray.reduce:(I[I)V
10: new org.bouncycastle.math.ec.ECFieldElement$F2m
dup
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
aload 8
invokespecial org.bouncycastle.math.ec.ECFieldElement$F2m.<init>:(I[ILorg/bouncycastle/math/ec/LongArray;)V
areturn
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 11 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
0 11 1 b Lorg/bouncycastle/math/ec/ECFieldElement;
0 11 2 x Lorg/bouncycastle/math/ec/ECFieldElement;
0 11 3 y Lorg/bouncycastle/math/ec/ECFieldElement;
1 11 4 ax Lorg/bouncycastle/math/ec/LongArray;
2 11 5 bx Lorg/bouncycastle/math/ec/LongArray;
3 11 6 xx Lorg/bouncycastle/math/ec/LongArray;
4 11 7 yx Lorg/bouncycastle/math/ec/LongArray;
5 11 8 ab Lorg/bouncycastle/math/ec/LongArray;
6 11 9 xy Lorg/bouncycastle/math/ec/LongArray;
MethodParameters:
Name Flags
b
x
y
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=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.bouncycastle.math.ec.ECFieldElement.invert:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 2
start local 2 1: aload 0
aload 2
invokevirtual org.bouncycastle.math.ec.ECFieldElement$F2m.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
0 2 1 b Lorg/bouncycastle/math/ec/ECFieldElement;
1 2 2 bInv Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
b final
public org.bouncycastle.math.ec.ECFieldElement negate();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
public org.bouncycastle.math.ec.ECFieldElement square();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=1, args_size=1
start local 0 0: new org.bouncycastle.math.ec.ECFieldElement$F2m
dup
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/LongArray;
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
invokevirtual org.bouncycastle.math.ec.LongArray.modSquare:(I[I)Lorg/bouncycastle/math/ec/LongArray;
invokespecial org.bouncycastle.math.ec.ECFieldElement$F2m.<init>:(I[ILorg/bouncycastle/math/ec/LongArray;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
public org.bouncycastle.math.ec.ECFieldElement squareMinusProduct(org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.bouncycastle.math.ec.ECFieldElement$F2m.squarePlusProduct:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
0 1 1 x Lorg/bouncycastle/math/ec/ECFieldElement;
0 1 2 y Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
x
y
public org.bouncycastle.math.ec.ECFieldElement squarePlusProduct(org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/LongArray;
astore 3
start local 3 1: aload 1
checkcast org.bouncycastle.math.ec.ECFieldElement$F2m
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/LongArray;
astore 4
start local 4 2: aload 2
checkcast org.bouncycastle.math.ec.ECFieldElement$F2m
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/LongArray;
astore 5
start local 5 3: aload 3
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
invokevirtual org.bouncycastle.math.ec.LongArray.square:(I[I)Lorg/bouncycastle/math/ec/LongArray;
astore 6
start local 6 4: aload 4
aload 5
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
invokevirtual org.bouncycastle.math.ec.LongArray.multiply:(Lorg/bouncycastle/math/ec/LongArray;I[I)Lorg/bouncycastle/math/ec/LongArray;
astore 7
start local 7 5: aload 6
aload 3
if_acmpne 7
6: aload 6
invokevirtual org.bouncycastle.math.ec.LongArray.clone:()Ljava/lang/Object;
checkcast org.bouncycastle.math.ec.LongArray
astore 6
7: StackMap locals: org.bouncycastle.math.ec.ECFieldElement$F2m org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.LongArray org.bouncycastle.math.ec.LongArray org.bouncycastle.math.ec.LongArray org.bouncycastle.math.ec.LongArray org.bouncycastle.math.ec.LongArray
StackMap stack:
aload 6
aload 7
iconst_0
invokevirtual org.bouncycastle.math.ec.LongArray.addShiftedByWords:(Lorg/bouncycastle/math/ec/LongArray;I)V
8: aload 6
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
invokevirtual org.bouncycastle.math.ec.LongArray.reduce:(I[I)V
9: new org.bouncycastle.math.ec.ECFieldElement$F2m
dup
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
aload 6
invokespecial org.bouncycastle.math.ec.ECFieldElement$F2m.<init>:(I[ILorg/bouncycastle/math/ec/LongArray;)V
areturn
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 10 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
0 10 1 x Lorg/bouncycastle/math/ec/ECFieldElement;
0 10 2 y Lorg/bouncycastle/math/ec/ECFieldElement;
1 10 3 ax Lorg/bouncycastle/math/ec/LongArray;
2 10 4 xx Lorg/bouncycastle/math/ec/LongArray;
3 10 5 yx Lorg/bouncycastle/math/ec/LongArray;
4 10 6 aa Lorg/bouncycastle/math/ec/LongArray;
5 10 7 xy Lorg/bouncycastle/math/ec/LongArray;
MethodParameters:
Name Flags
x
y
public org.bouncycastle.math.ec.ECFieldElement squarePow(int);
descriptor: (I)Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iconst_1
if_icmpge 1
aload 0
goto 2
StackMap locals:
StackMap stack:
1: new org.bouncycastle.math.ec.ECFieldElement$F2m
dup
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/LongArray;
iload 1
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
invokevirtual org.bouncycastle.math.ec.LongArray.modSquareN:(II[I)Lorg/bouncycastle/math/ec/LongArray;
invokespecial org.bouncycastle.math.ec.ECFieldElement$F2m.<init>:(I[ILorg/bouncycastle/math/ec/LongArray;)V
StackMap locals:
StackMap stack: org.bouncycastle.math.ec.ECFieldElement$F2m
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
0 3 1 pow I
MethodParameters:
Name Flags
pow
public org.bouncycastle.math.ec.ECFieldElement invert();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=1, args_size=1
start local 0 0: new org.bouncycastle.math.ec.ECFieldElement$F2m
dup
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/LongArray;
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
invokevirtual org.bouncycastle.math.ec.LongArray.modInverse:(I[I)Lorg/bouncycastle/math/ec/LongArray;
invokespecial org.bouncycastle.math.ec.ECFieldElement$F2m.<init>:(I[ILorg/bouncycastle/math/ec/LongArray;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
public org.bouncycastle.math.ec.ECFieldElement sqrt();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/LongArray;
invokevirtual org.bouncycastle.math.ec.LongArray.isZero:()Z
ifne 1
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/LongArray;
invokevirtual org.bouncycastle.math.ec.LongArray.isOne:()Z
ifeq 2
StackMap locals:
StackMap stack:
1: aload 0
goto 3
StackMap locals:
StackMap stack:
2: aload 0
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
iconst_1
isub
invokevirtual org.bouncycastle.math.ec.ECFieldElement$F2m.squarePow:(I)Lorg/bouncycastle/math/ec/ECFieldElement;
StackMap locals:
StackMap stack: org.bouncycastle.math.ec.ECFieldElement
3: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
public int getRepresentation();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.representation:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
public int getM();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
public int getK1();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
iconst_0
iaload
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
public int getK2();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
arraylength
iconst_2
if_icmplt 1
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
iconst_1
iaload
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
public int getK3();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
arraylength
iconst_3
if_icmplt 1
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
iconst_2
iaload
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
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.ECFieldElement$F2m
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast org.bouncycastle.math.ec.ECFieldElement$F2m
astore 2
start local 2 5: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
aload 2
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
if_icmpne 10
6: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.representation:I
aload 2
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.representation:I
if_icmpne 10
7: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
aload 2
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
invokestatic org.bouncycastle.util.Arrays.areEqual:([I[I)Z
ifeq 10
8: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/LongArray;
aload 2
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/LongArray;
invokevirtual org.bouncycastle.math.ec.LongArray.equals:(Ljava/lang/Object;)Z
ifeq 10
9: iconst_1
ireturn
StackMap locals: org.bouncycastle.math.ec.ECFieldElement$F2m
StackMap stack:
10: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
0 11 1 anObject Ljava/lang/Object;
5 11 2 b Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
MethodParameters:
Name Flags
anObject
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/LongArray;
invokevirtual org.bouncycastle.math.ec.LongArray.hashCode:()I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
ixor
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.ks:[I
invokestatic org.bouncycastle.util.Arrays.hashCode:([I)I
ixor
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
}
SourceFile: "ECFieldElement.java"
NestHost: org.bouncycastle.math.ec.ECFieldElement
InnerClasses:
public abstract AbstractF2m = org.bouncycastle.math.ec.ECFieldElement$AbstractF2m of org.bouncycastle.math.ec.ECFieldElement
public F2m = org.bouncycastle.math.ec.ECFieldElement$F2m of org.bouncycastle.math.ec.ECFieldElement