public class org.bouncycastle.math.ec.custom.sec.SecP192K1Field
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.math.ec.custom.sec.SecP192K1Field
super_class: java.lang.Object
{
static final int[] P;
descriptor: [I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int[] PExt;
descriptor: [I
flags: (0x0018) ACC_STATIC, ACC_FINAL
private static final int[] PExtInv;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int P5;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private static final int PExt11;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private static final int PInv33;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4553
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: bipush 6
newarray 10
dup
iconst_0
sipush -4553
iastore
dup
iconst_1
bipush -2
iastore
dup
iconst_2
iconst_m1
iastore
dup
iconst_3
iconst_m1
iastore
dup
iconst_4
iconst_m1
iastore
dup
iconst_5
iconst_m1
iastore
putstatic org.bouncycastle.math.ec.custom.sec.SecP192K1Field.P:[I
1: bipush 12
newarray 10
dup
iconst_0
ldc 20729809
iastore
dup
iconst_1
sipush 9106
iastore
dup
iconst_2
iconst_1
iastore
dup
bipush 6
2: sipush -9106
iastore
dup
bipush 7
bipush -3
iastore
dup
bipush 8
iconst_m1
iastore
dup
bipush 9
iconst_m1
iastore
dup
bipush 10
iconst_m1
iastore
dup
bipush 11
iconst_m1
iastore
3: putstatic org.bouncycastle.math.ec.custom.sec.SecP192K1Field.PExt:[I
4: bipush 8
newarray 10
dup
iconst_0
ldc -20729809
iastore
dup
iconst_1
sipush -9107
iastore
dup
iconst_2
bipush -2
iastore
dup
iconst_3
iconst_m1
iastore
dup
iconst_4
iconst_m1
iastore
dup
iconst_5
5: iconst_m1
iastore
dup
bipush 6
sipush 9105
iastore
dup
bipush 7
iconst_2
iastore
6: putstatic org.bouncycastle.math.ec.custom.sec.SecP192K1Field.PExtInv:[I
7: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP192K1Field;
public static void add(int[], int[], int[]);
descriptor: ([I[I[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic org.bouncycastle.math.raw.Nat192.add:([I[I[I)I
istore 3
start local 3 1: iload 3
ifne 2
aload 2
iconst_5
iaload
iconst_m1
if_icmpne 3
aload 2
getstatic org.bouncycastle.math.ec.custom.sec.SecP192K1Field.P:[I
invokestatic org.bouncycastle.math.raw.Nat192.gte:([I[I)Z
ifeq 3
2: StackMap locals: int
StackMap stack:
bipush 6
sipush 4553
aload 2
invokestatic org.bouncycastle.math.raw.Nat.add33To:(II[I)I
pop
3: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 x [I
0 4 1 y [I
0 4 2 z [I
1 4 3 c I
MethodParameters:
Name Flags
x
y
z
public static void addExt(int[], int[], int[]);
descriptor: ([I[I[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: bipush 12
aload 0
aload 1
aload 2
invokestatic org.bouncycastle.math.raw.Nat.add:(I[I[I[I)I
istore 3
start local 3 1: iload 3
ifne 2
aload 2
bipush 11
iaload
iconst_m1
if_icmpne 4
bipush 12
aload 2
getstatic org.bouncycastle.math.ec.custom.sec.SecP192K1Field.PExt:[I
invokestatic org.bouncycastle.math.raw.Nat.gte:(I[I[I)Z
ifeq 4
2: StackMap locals: int
StackMap stack:
getstatic org.bouncycastle.math.ec.custom.sec.SecP192K1Field.PExtInv:[I
arraylength
getstatic org.bouncycastle.math.ec.custom.sec.SecP192K1Field.PExtInv:[I
aload 2
invokestatic org.bouncycastle.math.raw.Nat.addTo:(I[I[I)I
ifeq 4
3: bipush 12
aload 2
getstatic org.bouncycastle.math.ec.custom.sec.SecP192K1Field.PExtInv:[I
arraylength
invokestatic org.bouncycastle.math.raw.Nat.incAt:(I[II)I
pop
4: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 xx [I
0 5 1 yy [I
0 5 2 zz [I
1 5 3 c I
MethodParameters:
Name Flags
xx
yy
zz
public static void addOne(int[], int[]);
descriptor: ([I[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: bipush 6
aload 0
aload 1
invokestatic org.bouncycastle.math.raw.Nat.inc:(I[I[I)I
istore 2
start local 2 1: iload 2
ifne 2
aload 1
iconst_5
iaload
iconst_m1
if_icmpne 3
aload 1
getstatic org.bouncycastle.math.ec.custom.sec.SecP192K1Field.P:[I
invokestatic org.bouncycastle.math.raw.Nat192.gte:([I[I)Z
ifeq 3
2: StackMap locals: int
StackMap stack:
bipush 6
sipush 4553
aload 1
invokestatic org.bouncycastle.math.raw.Nat.add33To:(II[I)I
pop
3: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 x [I
0 4 1 z [I
1 4 2 c I
MethodParameters:
Name Flags
x
z
public static int[] fromBigInteger(java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;)[I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokestatic org.bouncycastle.math.raw.Nat192.fromBigInteger:(Ljava/math/BigInteger;)[I
astore 1
start local 1 1: aload 1
iconst_5
iaload
iconst_m1
if_icmpne 3
aload 1
getstatic org.bouncycastle.math.ec.custom.sec.SecP192K1Field.P:[I
invokestatic org.bouncycastle.math.raw.Nat192.gte:([I[I)Z
ifeq 3
2: getstatic org.bouncycastle.math.ec.custom.sec.SecP192K1Field.P:[I
aload 1
invokestatic org.bouncycastle.math.raw.Nat192.subFrom:([I[I)I
pop
3: StackMap locals: int[]
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 x Ljava/math/BigInteger;
1 4 1 z [I
MethodParameters:
Name Flags
x
public static void half(int[], int[]);
descriptor: ([I[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
iaload
iconst_1
iand
ifne 3
1: bipush 6
aload 0
iconst_0
aload 1
invokestatic org.bouncycastle.math.raw.Nat.shiftDownBit:(I[II[I)I
pop
2: goto 5
3: StackMap locals:
StackMap stack:
aload 0
getstatic org.bouncycastle.math.ec.custom.sec.SecP192K1Field.P:[I
aload 1
invokestatic org.bouncycastle.math.raw.Nat192.add:([I[I[I)I
istore 2
start local 2 4: bipush 6
aload 1
iload 2
invokestatic org.bouncycastle.math.raw.Nat.shiftDownBit:(I[II)I
pop
end local 2 5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 x [I
0 6 1 z [I
4 5 2 c I
MethodParameters:
Name Flags
x
z
public static void multiply(int[], int[], int[]);
descriptor: ([I[I[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: invokestatic org.bouncycastle.math.raw.Nat192.createExt:()[I
astore 3
start local 3 1: aload 0
aload 1
aload 3
invokestatic org.bouncycastle.math.raw.Nat192.mul:([I[I[I)V
2: aload 3
aload 2
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192K1Field.reduce:([I[I)V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 x [I
0 4 1 y [I
0 4 2 z [I
1 4 3 tt [I
MethodParameters:
Name Flags
x
y
z
public static void multiplyAddToExt(int[], int[], int[]);
descriptor: ([I[I[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic org.bouncycastle.math.raw.Nat192.mulAddTo:([I[I[I)I
istore 3
start local 3 1: iload 3
ifne 2
aload 2
bipush 11
iaload
iconst_m1
if_icmpne 4
bipush 12
aload 2
getstatic org.bouncycastle.math.ec.custom.sec.SecP192K1Field.PExt:[I
invokestatic org.bouncycastle.math.raw.Nat.gte:(I[I[I)Z
ifeq 4
2: StackMap locals: int
StackMap stack:
getstatic org.bouncycastle.math.ec.custom.sec.SecP192K1Field.PExtInv:[I
arraylength
getstatic org.bouncycastle.math.ec.custom.sec.SecP192K1Field.PExtInv:[I
aload 2
invokestatic org.bouncycastle.math.raw.Nat.addTo:(I[I[I)I
ifeq 4
3: bipush 12
aload 2
getstatic org.bouncycastle.math.ec.custom.sec.SecP192K1Field.PExtInv:[I
arraylength
invokestatic org.bouncycastle.math.raw.Nat.incAt:(I[II)I
pop
4: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 x [I
0 5 1 y [I
0 5 2 zz [I
1 5 3 c I
MethodParameters:
Name Flags
x
y
zz
public static void negate(int[], int[]);
descriptor: ([I[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic org.bouncycastle.math.raw.Nat192.isZero:([I)Z
ifeq 3
1: aload 1
invokestatic org.bouncycastle.math.raw.Nat192.zero:([I)V
2: goto 4
3: StackMap locals:
StackMap stack:
getstatic org.bouncycastle.math.ec.custom.sec.SecP192K1Field.P:[I
aload 0
aload 1
invokestatic org.bouncycastle.math.raw.Nat192.sub:([I[I[I)I
pop
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 x [I
0 5 1 z [I
MethodParameters:
Name Flags
x
z
public static void reduce(int[], int[]);
descriptor: ([I[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: sipush 4553
aload 0
bipush 6
aload 0
iconst_0
aload 1
iconst_0
invokestatic org.bouncycastle.math.raw.Nat192.mul33Add:(I[II[II[II)J
lstore 2
start local 2 1: sipush 4553
lload 2
aload 1
iconst_0
invokestatic org.bouncycastle.math.raw.Nat192.mul33DWordAdd:(IJ[II)I
istore 4
start local 4 2: iload 4
ifne 3
aload 1
iconst_5
iaload
iconst_m1
if_icmpne 4
aload 1
getstatic org.bouncycastle.math.ec.custom.sec.SecP192K1Field.P:[I
invokestatic org.bouncycastle.math.raw.Nat192.gte:([I[I)Z
ifeq 4
3: StackMap locals: long int
StackMap stack:
bipush 6
sipush 4553
aload 1
invokestatic org.bouncycastle.math.raw.Nat.add33To:(II[I)I
pop
4: StackMap locals:
StackMap stack:
return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 xx [I
0 5 1 z [I
1 5 2 cc J
2 5 4 c I
MethodParameters:
Name Flags
xx
z
public static void reduce32(int, int[]);
descriptor: (I[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: iload 0
ifeq 1
sipush 4553
iload 0
aload 1
iconst_0
invokestatic org.bouncycastle.math.raw.Nat192.mul33WordAdd:(II[II)I
ifne 2
1: StackMap locals:
StackMap stack:
aload 1
iconst_5
iaload
iconst_m1
if_icmpne 3
aload 1
getstatic org.bouncycastle.math.ec.custom.sec.SecP192K1Field.P:[I
invokestatic org.bouncycastle.math.raw.Nat192.gte:([I[I)Z
ifeq 3
2: StackMap locals:
StackMap stack:
bipush 6
sipush 4553
aload 1
invokestatic org.bouncycastle.math.raw.Nat.add33To:(II[I)I
pop
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 x I
0 4 1 z [I
MethodParameters:
Name Flags
x
z
public static void square(int[], int[]);
descriptor: ([I[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: invokestatic org.bouncycastle.math.raw.Nat192.createExt:()[I
astore 2
start local 2 1: aload 0
aload 2
invokestatic org.bouncycastle.math.raw.Nat192.square:([I[I)V
2: aload 2
aload 1
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192K1Field.reduce:([I[I)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 x [I
0 4 1 z [I
1 4 2 tt [I
MethodParameters:
Name Flags
x
z
public static void squareN(int[], int, int[]);
descriptor: ([II[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: invokestatic org.bouncycastle.math.raw.Nat192.createExt:()[I
astore 3
start local 3 1: aload 0
aload 3
invokestatic org.bouncycastle.math.raw.Nat192.square:([I[I)V
2: aload 3
aload 2
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192K1Field.reduce:([I[I)V
3: goto 6
4: StackMap locals: int[]
StackMap stack:
aload 2
aload 3
invokestatic org.bouncycastle.math.raw.Nat192.square:([I[I)V
5: aload 3
aload 2
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192K1Field.reduce:([I[I)V
6: StackMap locals:
StackMap stack:
iinc 1 -1
iload 1
ifgt 4
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 x [I
0 8 1 n I
0 8 2 z [I
1 8 3 tt [I
MethodParameters:
Name Flags
x
n
z
public static void subtract(int[], int[], int[]);
descriptor: ([I[I[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic org.bouncycastle.math.raw.Nat192.sub:([I[I[I)I
istore 3
start local 3 1: iload 3
ifeq 3
2: bipush 6
sipush 4553
aload 2
invokestatic org.bouncycastle.math.raw.Nat.sub33From:(II[I)I
pop
3: StackMap locals: int
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 x [I
0 4 1 y [I
0 4 2 z [I
1 4 3 c I
MethodParameters:
Name Flags
x
y
z
public static void subtractExt(int[], int[], int[]);
descriptor: ([I[I[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: bipush 12
aload 0
aload 1
aload 2
invokestatic org.bouncycastle.math.raw.Nat.sub:(I[I[I[I)I
istore 3
start local 3 1: iload 3
ifeq 4
2: getstatic org.bouncycastle.math.ec.custom.sec.SecP192K1Field.PExtInv:[I
arraylength
getstatic org.bouncycastle.math.ec.custom.sec.SecP192K1Field.PExtInv:[I
aload 2
invokestatic org.bouncycastle.math.raw.Nat.subFrom:(I[I[I)I
ifeq 4
3: bipush 12
aload 2
getstatic org.bouncycastle.math.ec.custom.sec.SecP192K1Field.PExtInv:[I
arraylength
invokestatic org.bouncycastle.math.raw.Nat.decAt:(I[II)I
pop
4: StackMap locals: int
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 xx [I
0 5 1 yy [I
0 5 2 zz [I
1 5 3 c I
MethodParameters:
Name Flags
xx
yy
zz
public static void twice(int[], int[]);
descriptor: ([I[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: bipush 6
aload 0
iconst_0
aload 1
invokestatic org.bouncycastle.math.raw.Nat.shiftUpBit:(I[II[I)I
istore 2
start local 2 1: iload 2
ifne 2
aload 1
iconst_5
iaload
iconst_m1
if_icmpne 3
aload 1
getstatic org.bouncycastle.math.ec.custom.sec.SecP192K1Field.P:[I
invokestatic org.bouncycastle.math.raw.Nat192.gte:([I[I)Z
ifeq 3
2: StackMap locals: int
StackMap stack:
bipush 6
sipush 4553
aload 1
invokestatic org.bouncycastle.math.raw.Nat.add33To:(II[I)I
pop
3: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 x [I
0 4 1 z [I
1 4 2 c I
MethodParameters:
Name Flags
x
z
}
SourceFile: "SecP192K1Field.java"