public class org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement 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.sec.SecP192R1FieldElement
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
protected int[] x;
descriptor: [I
flags: (0x0004) ACC_PROTECTED
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.bouncycastle.math.ec.custom.sec.SecP192R1Curve.q:Ljava/math/BigInteger;
putstatic org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement.Q:Ljava/math/BigInteger;
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.sec.SecP192R1FieldElement.Q:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
iflt 3
2: StackMap locals: org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement java.math.BigInteger
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "x value invalid for SecP192R1FieldElement"
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.sec.SecP192R1Field.fromBigInteger:(Ljava/math/BigInteger;)[I
putfield org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement.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/sec/SecP192R1FieldElement;
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.Nat192.create:()[I
putfield org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement.x:[I
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP192R1FieldElement;
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.sec.SecP192R1FieldElement.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/sec/SecP192R1FieldElement;
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.sec.SecP192R1FieldElement.x:[I
invokestatic org.bouncycastle.math.raw.Nat192.isZero:([I)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP192R1FieldElement;
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.sec.SecP192R1FieldElement.x:[I
invokestatic org.bouncycastle.math.raw.Nat192.isOne:([I)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP192R1FieldElement;
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.sec.SecP192R1FieldElement.x:[I
iconst_0
invokestatic org.bouncycastle.math.raw.Nat192.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/sec/SecP192R1FieldElement;
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.sec.SecP192R1FieldElement.x:[I
invokestatic org.bouncycastle.math.raw.Nat192.toBigInteger:([I)Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP192R1FieldElement;
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 "SecP192R1Field"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP192R1FieldElement;
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.sec.SecP192R1FieldElement.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/sec/SecP192R1FieldElement;
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.Nat192.create:()[I
astore 2
start local 2 1: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement.x:[I
aload 1
checkcast org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement
getfield org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement.x:[I
aload 2
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.add:([I[I[I)V
2: new org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement
dup
aload 2
invokespecial org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement.<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/sec/SecP192R1FieldElement;
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.Nat192.create:()[I
astore 1
start local 1 1: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement.x:[I
aload 1
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.addOne:([I[I)V
2: new org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement
dup
aload 1
invokespecial org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement.<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/sec/SecP192R1FieldElement;
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.Nat192.create:()[I
astore 2
start local 2 1: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement.x:[I
aload 1
checkcast org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement
getfield org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement.x:[I
aload 2
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.subtract:([I[I[I)V
2: new org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement
dup
aload 2
invokespecial org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement.<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/sec/SecP192R1FieldElement;
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.Nat192.create:()[I
astore 2
start local 2 1: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement.x:[I
aload 1
checkcast org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement
getfield org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement.x:[I
aload 2
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.multiply:([I[I[I)V
2: new org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement
dup
aload 2
invokespecial org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement.<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/sec/SecP192R1FieldElement;
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.Nat192.create:()[I
astore 2
start local 2 1: getstatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.P:[I
aload 1
checkcast org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement
getfield org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement.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.sec.SecP192R1FieldElement.x:[I
aload 2
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.multiply:([I[I[I)V
3: new org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement
dup
aload 2
invokespecial org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement.<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/sec/SecP192R1FieldElement;
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.Nat192.create:()[I
astore 1
start local 1 1: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement.x:[I
aload 1
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.negate:([I[I)V
2: new org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement
dup
aload 1
invokespecial org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement.<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/sec/SecP192R1FieldElement;
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.Nat192.create:()[I
astore 1
start local 1 1: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement.x:[I
aload 1
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.square:([I[I)V
2: new org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement
dup
aload 1
invokespecial org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement.<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/sec/SecP192R1FieldElement;
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.Nat192.create:()[I
astore 1
start local 1 1: getstatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.P:[I
aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement.x:[I
aload 1
invokestatic org.bouncycastle.math.raw.Mod.invert:([I[I[I)V
2: new org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement
dup
aload 1
invokespecial org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement.<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/sec/SecP192R1FieldElement;
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=4, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement.x:[I
astore 1
start local 1 1: aload 1
invokestatic org.bouncycastle.math.raw.Nat192.isZero:([I)Z
ifne 2
aload 1
invokestatic org.bouncycastle.math.raw.Nat192.isOne:([I)Z
ifeq 3
2: StackMap locals: int[]
StackMap stack:
aload 0
areturn
3: StackMap locals:
StackMap stack:
invokestatic org.bouncycastle.math.raw.Nat192.create:()[I
astore 2
start local 2 4: invokestatic org.bouncycastle.math.raw.Nat192.create:()[I
astore 3
start local 3 5: aload 1
aload 2
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.square:([I[I)V
6: aload 2
aload 1
aload 2
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.multiply:([I[I[I)V
7: aload 2
iconst_2
aload 3
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.squareN:([II[I)V
8: aload 3
aload 2
aload 3
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.multiply:([I[I[I)V
9: aload 3
iconst_4
aload 2
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.squareN:([II[I)V
10: aload 2
aload 3
aload 2
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.multiply:([I[I[I)V
11: aload 2
bipush 8
aload 3
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.squareN:([II[I)V
12: aload 3
aload 2
aload 3
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.multiply:([I[I[I)V
13: aload 3
bipush 16
aload 2
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.squareN:([II[I)V
14: aload 2
aload 3
aload 2
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.multiply:([I[I[I)V
15: aload 2
bipush 32
aload 3
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.squareN:([II[I)V
16: aload 3
aload 2
aload 3
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.multiply:([I[I[I)V
17: aload 3
bipush 64
aload 2
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.squareN:([II[I)V
18: aload 2
aload 3
aload 2
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.multiply:([I[I[I)V
19: aload 2
bipush 62
aload 2
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.squareN:([II[I)V
20: aload 2
aload 3
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.square:([I[I)V
21: aload 1
aload 3
invokestatic org.bouncycastle.math.raw.Nat192.eq:([I[I)Z
ifeq 22
new org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement
dup
aload 2
invokespecial org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement.<init>:([I)V
goto 23
StackMap locals: int[] int[]
StackMap stack:
22: aconst_null
StackMap locals:
StackMap stack: org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement
23: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP192R1FieldElement;
1 24 1 x1 [I
4 24 2 t1 [I
5 24 3 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.sec.SecP192R1FieldElement
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement
astore 2
start local 2 5: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement.x:[I
aload 2
getfield org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement.x:[I
invokestatic org.bouncycastle.math.raw.Nat192.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/sec/SecP192R1FieldElement;
0 6 1 other Ljava/lang/Object;
5 6 2 o Lorg/bouncycastle/math/ec/custom/sec/SecP192R1FieldElement;
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.sec.SecP192R1FieldElement.Q:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.hashCode:()I
aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP192R1FieldElement.x:[I
iconst_0
bipush 6
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/sec/SecP192R1FieldElement;
}
SourceFile: "SecP192R1FieldElement.java"
InnerClasses:
public abstract AbstractFp = org.bouncycastle.math.ec.ECFieldElement$AbstractFp of org.bouncycastle.math.ec.ECFieldElement