public class org.bouncycastle.math.ec.custom.sec.SecT233Field
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.math.ec.custom.sec.SecT233Field
super_class: java.lang.Object
{
private static final long M41;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2199023255551
private static final long M59;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 576460752303423487
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.bouncycastle.math.ec.custom.sec.SecT233Field this
0: .line 8
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.bouncycastle.math.ec.custom.sec.SecT233Field this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/sec/SecT233Field;
public static void add(long[], long[], long[]);
descriptor: ([J[J[J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 // long[] x
start local 1 // long[] y
start local 2 // long[] z
0: .line 15
aload 2 /* z */
iconst_0
aload 0 /* x */
iconst_0
laload
aload 1 /* y */
iconst_0
laload
lxor
lastore
1: .line 16
aload 2 /* z */
iconst_1
aload 0 /* x */
iconst_1
laload
aload 1 /* y */
iconst_1
laload
lxor
lastore
2: .line 17
aload 2 /* z */
iconst_2
aload 0 /* x */
iconst_2
laload
aload 1 /* y */
iconst_2
laload
lxor
lastore
3: .line 18
aload 2 /* z */
iconst_3
aload 0 /* x */
iconst_3
laload
aload 1 /* y */
iconst_3
laload
lxor
lastore
4: .line 19
return
end local 2 // long[] z
end local 1 // long[] y
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 5 0 x [J
0 5 1 y [J
0 5 2 z [J
MethodParameters:
Name Flags
x
y
z
public static void addExt(long[], long[], long[]);
descriptor: ([J[J[J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 // long[] xx
start local 1 // long[] yy
start local 2 // long[] zz
0: .line 23
aload 2 /* zz */
iconst_0
aload 0 /* xx */
iconst_0
laload
aload 1 /* yy */
iconst_0
laload
lxor
lastore
1: .line 24
aload 2 /* zz */
iconst_1
aload 0 /* xx */
iconst_1
laload
aload 1 /* yy */
iconst_1
laload
lxor
lastore
2: .line 25
aload 2 /* zz */
iconst_2
aload 0 /* xx */
iconst_2
laload
aload 1 /* yy */
iconst_2
laload
lxor
lastore
3: .line 26
aload 2 /* zz */
iconst_3
aload 0 /* xx */
iconst_3
laload
aload 1 /* yy */
iconst_3
laload
lxor
lastore
4: .line 27
aload 2 /* zz */
iconst_4
aload 0 /* xx */
iconst_4
laload
aload 1 /* yy */
iconst_4
laload
lxor
lastore
5: .line 28
aload 2 /* zz */
iconst_5
aload 0 /* xx */
iconst_5
laload
aload 1 /* yy */
iconst_5
laload
lxor
lastore
6: .line 29
aload 2 /* zz */
bipush 6
aload 0 /* xx */
bipush 6
laload
aload 1 /* yy */
bipush 6
laload
lxor
lastore
7: .line 30
aload 2 /* zz */
bipush 7
aload 0 /* xx */
bipush 7
laload
aload 1 /* yy */
bipush 7
laload
lxor
lastore
8: .line 31
return
end local 2 // long[] zz
end local 1 // long[] yy
end local 0 // long[] xx
LocalVariableTable:
Start End Slot Name Signature
0 9 0 xx [J
0 9 1 yy [J
0 9 2 zz [J
MethodParameters:
Name Flags
xx
yy
zz
public static void addOne(long[], long[]);
descriptor: ([J[J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 // long[] x
start local 1 // long[] z
0: .line 35
aload 1 /* z */
iconst_0
aload 0 /* x */
iconst_0
laload
lconst_1
lxor
lastore
1: .line 36
aload 1 /* z */
iconst_1
aload 0 /* x */
iconst_1
laload
lastore
2: .line 37
aload 1 /* z */
iconst_2
aload 0 /* x */
iconst_2
laload
lastore
3: .line 38
aload 1 /* z */
iconst_3
aload 0 /* x */
iconst_3
laload
lastore
4: .line 39
return
end local 1 // long[] z
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 5 0 x [J
0 5 1 z [J
MethodParameters:
Name Flags
x
z
public static long[] fromBigInteger(java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;)[J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 // java.math.BigInteger x
0: .line 43
aload 0 /* x */
invokestatic org.bouncycastle.math.raw.Nat256.fromBigInteger64:(Ljava/math/BigInteger;)[J
astore 1 /* z */
start local 1 // long[] z
1: .line 44
aload 1 /* z */
iconst_0
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.reduce23:([JI)V
2: .line 45
aload 1 /* z */
areturn
end local 1 // long[] z
end local 0 // java.math.BigInteger x
LocalVariableTable:
Start End Slot Name Signature
0 3 0 x Ljava/math/BigInteger;
1 3 1 z [J
MethodParameters:
Name Flags
x
public static void invert(long[], long[]);
descriptor: ([J[J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 // long[] x
start local 1 // long[] z
0: .line 50
aload 0 /* x */
invokestatic org.bouncycastle.math.raw.Nat256.isZero64:([J)Z
ifeq 2
1: .line 52
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
2: .line 57
StackMap locals:
StackMap stack:
invokestatic org.bouncycastle.math.raw.Nat256.create64:()[J
astore 2 /* t0 */
start local 2 // long[] t0
3: .line 58
invokestatic org.bouncycastle.math.raw.Nat256.create64:()[J
astore 3 /* t1 */
start local 3 // long[] t1
4: .line 60
aload 0 /* x */
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.square:([J[J)V
5: .line 61
aload 2 /* t0 */
aload 0 /* x */
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.multiply:([J[J[J)V
6: .line 62
aload 2 /* t0 */
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.square:([J[J)V
7: .line 63
aload 2 /* t0 */
aload 0 /* x */
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.multiply:([J[J[J)V
8: .line 64
aload 2 /* t0 */
iconst_3
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.squareN:([JI[J)V
9: .line 65
aload 3 /* t1 */
aload 2 /* t0 */
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.multiply:([J[J[J)V
10: .line 66
aload 3 /* t1 */
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.square:([J[J)V
11: .line 67
aload 3 /* t1 */
aload 0 /* x */
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.multiply:([J[J[J)V
12: .line 68
aload 3 /* t1 */
bipush 7
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.squareN:([JI[J)V
13: .line 69
aload 2 /* t0 */
aload 3 /* t1 */
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.multiply:([J[J[J)V
14: .line 70
aload 2 /* t0 */
bipush 14
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.squareN:([JI[J)V
15: .line 71
aload 3 /* t1 */
aload 2 /* t0 */
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.multiply:([J[J[J)V
16: .line 72
aload 3 /* t1 */
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.square:([J[J)V
17: .line 73
aload 3 /* t1 */
aload 0 /* x */
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.multiply:([J[J[J)V
18: .line 74
aload 3 /* t1 */
bipush 29
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.squareN:([JI[J)V
19: .line 75
aload 2 /* t0 */
aload 3 /* t1 */
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.multiply:([J[J[J)V
20: .line 76
aload 2 /* t0 */
bipush 58
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.squareN:([JI[J)V
21: .line 77
aload 3 /* t1 */
aload 2 /* t0 */
aload 3 /* t1 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.multiply:([J[J[J)V
22: .line 78
aload 3 /* t1 */
bipush 116
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.squareN:([JI[J)V
23: .line 79
aload 2 /* t0 */
aload 3 /* t1 */
aload 2 /* t0 */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.multiply:([J[J[J)V
24: .line 80
aload 2 /* t0 */
aload 1 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.square:([J[J)V
25: .line 81
return
end local 3 // long[] t1
end local 2 // long[] t0
end local 1 // long[] z
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 26 0 x [J
0 26 1 z [J
3 26 2 t0 [J
4 26 3 t1 [J
MethodParameters:
Name Flags
x
z
public static void multiply(long[], long[], long[]);
descriptor: ([J[J[J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 // long[] x
start local 1 // long[] y
start local 2 // long[] z
0: .line 85
invokestatic org.bouncycastle.math.raw.Nat256.createExt64:()[J
astore 3 /* tt */
start local 3 // long[] tt
1: .line 86
aload 0 /* x */
aload 1 /* y */
aload 3 /* tt */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.implMultiply:([J[J[J)V
2: .line 87
aload 3 /* tt */
aload 2 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.reduce:([J[J)V
3: .line 88
return
end local 3 // long[] tt
end local 2 // long[] z
end local 1 // long[] y
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 4 0 x [J
0 4 1 y [J
0 4 2 z [J
1 4 3 tt [J
MethodParameters:
Name Flags
x
y
z
public static void multiplyAddToExt(long[], long[], long[]);
descriptor: ([J[J[J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 // long[] x
start local 1 // long[] y
start local 2 // long[] zz
0: .line 92
invokestatic org.bouncycastle.math.raw.Nat256.createExt64:()[J
astore 3 /* tt */
start local 3 // long[] tt
1: .line 93
aload 0 /* x */
aload 1 /* y */
aload 3 /* tt */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.implMultiply:([J[J[J)V
2: .line 94
aload 2 /* zz */
aload 3 /* tt */
aload 2 /* zz */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.addExt:([J[J[J)V
3: .line 95
return
end local 3 // long[] tt
end local 2 // long[] zz
end local 1 // long[] y
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 4 0 x [J
0 4 1 y [J
0 4 2 zz [J
1 4 3 tt [J
MethodParameters:
Name Flags
x
y
zz
public static void reduce(long[], long[]);
descriptor: ([J[J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=20, args_size=2
start local 0 // long[] xx
start local 1 // long[] z
0: .line 99
aload 0 /* xx */
iconst_0
laload
lstore 2 /* x0 */
start local 2 // long x0
1: aload 0 /* xx */
iconst_1
laload
lstore 4 /* x1 */
start local 4 // long x1
2: aload 0 /* xx */
iconst_2
laload
lstore 6 /* x2 */
start local 6 // long x2
3: aload 0 /* xx */
iconst_3
laload
lstore 8 /* x3 */
start local 8 // long x3
4: .line 100
aload 0 /* xx */
iconst_4
laload
lstore 10 /* x4 */
start local 10 // long x4
5: aload 0 /* xx */
iconst_5
laload
lstore 12 /* x5 */
start local 12 // long x5
6: aload 0 /* xx */
bipush 6
laload
lstore 14 /* x6 */
start local 14 // long x6
7: aload 0 /* xx */
bipush 7
laload
lstore 16 /* x7 */
start local 16 // long x7
8: .line 102
lload 8 /* x3 */
lload 16 /* x7 */
bipush 23
lshl
lxor
lstore 8 /* x3 */
9: .line 103
lload 10 /* x4 */
lload 16 /* x7 */
bipush 41
lushr
lload 16 /* x7 */
bipush 33
lshl
lxor
lxor
lstore 10 /* x4 */
10: .line 104
lload 12 /* x5 */
lload 16 /* x7 */
bipush 31
lushr
lxor
lstore 12 /* x5 */
11: .line 106
lload 6 /* x2 */
lload 14 /* x6 */
bipush 23
lshl
lxor
lstore 6 /* x2 */
12: .line 107
lload 8 /* x3 */
lload 14 /* x6 */
bipush 41
lushr
lload 14 /* x6 */
bipush 33
lshl
lxor
lxor
lstore 8 /* x3 */
13: .line 108
lload 10 /* x4 */
lload 14 /* x6 */
bipush 31
lushr
lxor
lstore 10 /* x4 */
14: .line 110
lload 4 /* x1 */
lload 12 /* x5 */
bipush 23
lshl
lxor
lstore 4 /* x1 */
15: .line 111
lload 6 /* x2 */
lload 12 /* x5 */
bipush 41
lushr
lload 12 /* x5 */
bipush 33
lshl
lxor
lxor
lstore 6 /* x2 */
16: .line 112
lload 8 /* x3 */
lload 12 /* x5 */
bipush 31
lushr
lxor
lstore 8 /* x3 */
17: .line 114
lload 2 /* x0 */
lload 10 /* x4 */
bipush 23
lshl
lxor
lstore 2 /* x0 */
18: .line 115
lload 4 /* x1 */
lload 10 /* x4 */
bipush 41
lushr
lload 10 /* x4 */
bipush 33
lshl
lxor
lxor
lstore 4 /* x1 */
19: .line 116
lload 6 /* x2 */
lload 10 /* x4 */
bipush 31
lushr
lxor
lstore 6 /* x2 */
20: .line 118
lload 8 /* x3 */
bipush 41
lushr
lstore 18 /* t */
start local 18 // long t
21: .line 119
aload 1 /* z */
iconst_0
lload 2 /* x0 */
lload 18 /* t */
lxor
lastore
22: .line 120
aload 1 /* z */
iconst_1
lload 4 /* x1 */
lload 18 /* t */
bipush 10
lshl
lxor
lastore
23: .line 121
aload 1 /* z */
iconst_2
lload 6 /* x2 */
lastore
24: .line 122
aload 1 /* z */
iconst_3
lload 8 /* x3 */
ldc 2199023255551
land
lastore
25: .line 123
return
end local 18 // long t
end local 16 // long x7
end local 14 // long x6
end local 12 // long x5
end local 10 // long x4
end local 8 // long x3
end local 6 // long x2
end local 4 // long x1
end local 2 // long x0
end local 1 // long[] z
end local 0 // long[] xx
LocalVariableTable:
Start End Slot Name Signature
0 26 0 xx [J
0 26 1 z [J
1 26 2 x0 J
2 26 4 x1 J
3 26 6 x2 J
4 26 8 x3 J
5 26 10 x4 J
6 26 12 x5 J
7 26 14 x6 J
8 26 16 x7 J
21 26 18 t J
MethodParameters:
Name Flags
xx
z
public static void reduce23(long[], int);
descriptor: ([JI)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=6, args_size=2
start local 0 // long[] z
start local 1 // int zOff
0: .line 127
aload 0 /* z */
iload 1 /* zOff */
iconst_3
iadd
laload
lstore 2 /* z3 */
start local 2 // long z3
1: lload 2 /* z3 */
bipush 41
lushr
lstore 4 /* t */
start local 4 // long t
2: .line 128
aload 0 /* z */
iload 1 /* zOff */
dup2
laload
lload 4 /* t */
lxor
lastore
3: .line 129
aload 0 /* z */
iload 1 /* zOff */
iconst_1
iadd
dup2
laload
lload 4 /* t */
bipush 10
lshl
lxor
lastore
4: .line 130
aload 0 /* z */
iload 1 /* zOff */
iconst_3
iadd
lload 2 /* z3 */
ldc 2199023255551
land
lastore
5: .line 131
return
end local 4 // long t
end local 2 // long z3
end local 1 // int zOff
end local 0 // long[] z
LocalVariableTable:
Start End Slot Name Signature
0 6 0 z [J
0 6 1 zOff I
1 6 2 z3 J
2 6 4 t J
MethodParameters:
Name Flags
z
zOff
public static void sqrt(long[], long[]);
descriptor: ([J[J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=21, args_size=2
start local 0 // long[] x
start local 1 // long[] z
0: .line 136
aload 0 /* x */
iconst_0
laload
invokestatic org.bouncycastle.math.raw.Interleave.unshuffle:(J)J
lstore 2 /* u0 */
start local 2 // long u0
1: aload 0 /* x */
iconst_1
laload
invokestatic org.bouncycastle.math.raw.Interleave.unshuffle:(J)J
lstore 4 /* u1 */
start local 4 // long u1
2: .line 137
lload 2 /* u0 */
ldc 4294967295
land
lload 4 /* u1 */
bipush 32
lshl
lor
lstore 6 /* e0 */
start local 6 // long e0
3: .line 138
lload 2 /* u0 */
bipush 32
lushr
lload 4 /* u1 */
ldc -4294967296
land
lor
lstore 8 /* c0 */
start local 8 // long c0
4: .line 140
aload 0 /* x */
iconst_2
laload
invokestatic org.bouncycastle.math.raw.Interleave.unshuffle:(J)J
lstore 2 /* u0 */
aload 0 /* x */
iconst_3
laload
invokestatic org.bouncycastle.math.raw.Interleave.unshuffle:(J)J
lstore 4 /* u1 */
5: .line 141
lload 2 /* u0 */
ldc 4294967295
land
lload 4 /* u1 */
bipush 32
lshl
lor
lstore 10 /* e1 */
start local 10 // long e1
6: .line 142
lload 2 /* u0 */
bipush 32
lushr
lload 4 /* u1 */
ldc -4294967296
land
lor
lstore 12 /* c1 */
start local 12 // long c1
7: .line 145
lload 12 /* c1 */
bipush 27
lushr
lstore 14 /* c2 */
start local 14 // long c2
8: .line 146
lload 12 /* c1 */
lload 8 /* c0 */
bipush 27
lushr
lload 12 /* c1 */
bipush 37
lshl
lor
lxor
lstore 12 /* c1 */
9: .line 147
lload 8 /* c0 */
lload 8 /* c0 */
bipush 37
lshl
lxor
lstore 8 /* c0 */
10: .line 149
invokestatic org.bouncycastle.math.raw.Nat256.createExt64:()[J
astore 16 /* tt */
start local 16 // long[] tt
11: .line 151
iconst_3
newarray 10
dup
iconst_0
bipush 32
iastore
dup
iconst_1
bipush 117
iastore
dup
iconst_2
sipush 191
iastore
astore 17 /* shifts */
start local 17 // int[] shifts
12: .line 152
iconst_0
istore 18 /* i */
start local 18 // int i
13: goto 21
14: .line 154
StackMap locals: long[] long[] long long long long long long long long[] int[] int
StackMap stack:
aload 17 /* shifts */
iload 18 /* i */
iaload
bipush 6
iushr
istore 19 /* w */
start local 19 // int w
15: aload 17 /* shifts */
iload 18 /* i */
iaload
bipush 63
iand
istore 20 /* s */
start local 20 // int s
16: .line 156
aload 16 /* tt */
iload 19 /* w */
dup2
laload
lload 8 /* c0 */
iload 20 /* s */
lshl
lxor
lastore
17: .line 157
aload 16 /* tt */
iload 19 /* w */
iconst_1
iadd
dup2
laload
lload 12 /* c1 */
iload 20 /* s */
lshl
lload 8 /* c0 */
iload 20 /* s */
ineg
lushr
lor
lxor
lastore
18: .line 158
aload 16 /* tt */
iload 19 /* w */
iconst_2
iadd
dup2
laload
lload 14 /* c2 */
iload 20 /* s */
lshl
lload 12 /* c1 */
iload 20 /* s */
ineg
lushr
lor
lxor
lastore
19: .line 159
aload 16 /* tt */
iload 19 /* w */
iconst_3
iadd
dup2
laload
lload 14 /* c2 */
iload 20 /* s */
ineg
lushr
lxor
lastore
end local 20 // int s
end local 19 // int w
20: .line 152
iinc 18 /* i */ 1
StackMap locals:
StackMap stack:
21: iload 18 /* i */
aload 17 /* shifts */
arraylength
if_icmplt 14
end local 18 // int i
22: .line 162
aload 16 /* tt */
aload 1 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.reduce:([J[J)V
23: .line 164
aload 1 /* z */
iconst_0
dup2
laload
lload 6 /* e0 */
lxor
lastore
24: .line 165
aload 1 /* z */
iconst_1
dup2
laload
lload 10 /* e1 */
lxor
lastore
25: .line 166
return
end local 17 // int[] shifts
end local 16 // long[] tt
end local 14 // long c2
end local 12 // long c1
end local 10 // long e1
end local 8 // long c0
end local 6 // long e0
end local 4 // long u1
end local 2 // long u0
end local 1 // long[] z
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 26 0 x [J
0 26 1 z [J
1 26 2 u0 J
2 26 4 u1 J
3 26 6 e0 J
4 26 8 c0 J
6 26 10 e1 J
7 26 12 c1 J
8 26 14 c2 J
11 26 16 tt [J
12 26 17 shifts [I
13 22 18 i I
15 20 19 w I
16 20 20 s I
MethodParameters:
Name Flags
x
z
public static void square(long[], long[]);
descriptor: ([J[J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 // long[] x
start local 1 // long[] z
0: .line 170
invokestatic org.bouncycastle.math.raw.Nat256.createExt64:()[J
astore 2 /* tt */
start local 2 // long[] tt
1: .line 171
aload 0 /* x */
aload 2 /* tt */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.implSquare:([J[J)V
2: .line 172
aload 2 /* tt */
aload 1 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.reduce:([J[J)V
3: .line 173
return
end local 2 // long[] tt
end local 1 // long[] z
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 4 0 x [J
0 4 1 z [J
1 4 2 tt [J
MethodParameters:
Name Flags
x
z
public static void squareAddToExt(long[], long[]);
descriptor: ([J[J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 // long[] x
start local 1 // long[] zz
0: .line 177
invokestatic org.bouncycastle.math.raw.Nat256.createExt64:()[J
astore 2 /* tt */
start local 2 // long[] tt
1: .line 178
aload 0 /* x */
aload 2 /* tt */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.implSquare:([J[J)V
2: .line 179
aload 1 /* zz */
aload 2 /* tt */
aload 1 /* zz */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.addExt:([J[J[J)V
3: .line 180
return
end local 2 // long[] tt
end local 1 // long[] zz
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 4 0 x [J
0 4 1 zz [J
1 4 2 tt [J
MethodParameters:
Name Flags
x
zz
public static void squareN(long[], int, long[]);
descriptor: ([JI[J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=3
start local 0 // long[] x
start local 1 // int n
start local 2 // long[] z
0: .line 186
invokestatic org.bouncycastle.math.raw.Nat256.createExt64:()[J
astore 3 /* tt */
start local 3 // long[] tt
1: .line 187
aload 0 /* x */
aload 3 /* tt */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.implSquare:([J[J)V
2: .line 188
aload 3 /* tt */
aload 2 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.reduce:([J[J)V
3: .line 190
goto 6
4: .line 192
StackMap locals: long[]
StackMap stack:
aload 2 /* z */
aload 3 /* tt */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.implSquare:([J[J)V
5: .line 193
aload 3 /* tt */
aload 2 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.reduce:([J[J)V
6: .line 190
StackMap locals:
StackMap stack:
iinc 1 /* n */ -1
iload 1 /* n */
ifgt 4
7: .line 195
return
end local 3 // long[] tt
end local 2 // long[] z
end local 1 // int n
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 8 0 x [J
0 8 1 n I
0 8 2 z [J
1 8 3 tt [J
MethodParameters:
Name Flags
x
n
z
public static int trace(long[]);
descriptor: ([J)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 // long[] x
0: .line 200
aload 0 /* x */
iconst_0
laload
aload 0 /* x */
iconst_2
laload
bipush 31
lushr
lxor
l2i
iconst_1
iand
ireturn
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 1 0 x [J
MethodParameters:
Name Flags
x
protected static void implCompactExt(long[]);
descriptor: ([J)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=7, locals=17, args_size=1
start local 0 // long[] zz
0: .line 205
aload 0 /* zz */
iconst_0
laload
lstore 1 /* z0 */
start local 1 // long z0
1: aload 0 /* zz */
iconst_1
laload
lstore 3 /* z1 */
start local 3 // long z1
2: aload 0 /* zz */
iconst_2
laload
lstore 5 /* z2 */
start local 5 // long z2
3: aload 0 /* zz */
iconst_3
laload
lstore 7 /* z3 */
start local 7 // long z3
4: aload 0 /* zz */
iconst_4
laload
lstore 9 /* z4 */
start local 9 // long z4
5: aload 0 /* zz */
iconst_5
laload
lstore 11 /* z5 */
start local 11 // long z5
6: aload 0 /* zz */
bipush 6
laload
lstore 13 /* z6 */
start local 13 // long z6
7: aload 0 /* zz */
bipush 7
laload
lstore 15 /* z7 */
start local 15 // long z7
8: .line 206
aload 0 /* zz */
iconst_0
lload 1 /* z0 */
lload 3 /* z1 */
bipush 59
lshl
lxor
lastore
9: .line 207
aload 0 /* zz */
iconst_1
lload 3 /* z1 */
iconst_5
lushr
lload 5 /* z2 */
bipush 54
lshl
lxor
lastore
10: .line 208
aload 0 /* zz */
iconst_2
lload 5 /* z2 */
bipush 10
lushr
lload 7 /* z3 */
bipush 49
lshl
lxor
lastore
11: .line 209
aload 0 /* zz */
iconst_3
lload 7 /* z3 */
bipush 15
lushr
lload 9 /* z4 */
bipush 44
lshl
lxor
lastore
12: .line 210
aload 0 /* zz */
iconst_4
lload 9 /* z4 */
bipush 20
lushr
lload 11 /* z5 */
bipush 39
lshl
lxor
lastore
13: .line 211
aload 0 /* zz */
iconst_5
lload 11 /* z5 */
bipush 25
lushr
lload 13 /* z6 */
bipush 34
lshl
lxor
lastore
14: .line 212
aload 0 /* zz */
bipush 6
lload 13 /* z6 */
bipush 30
lushr
lload 15 /* z7 */
bipush 29
lshl
lxor
lastore
15: .line 213
aload 0 /* zz */
bipush 7
lload 15 /* z7 */
bipush 35
lushr
lastore
16: .line 214
return
end local 15 // long z7
end local 13 // long z6
end local 11 // long z5
end local 9 // long z4
end local 7 // long z3
end local 5 // long z2
end local 3 // long z1
end local 1 // long z0
end local 0 // long[] zz
LocalVariableTable:
Start End Slot Name Signature
0 17 0 zz [J
1 17 1 z0 J
2 17 3 z1 J
3 17 5 z2 J
4 17 7 z3 J
5 17 9 z4 J
6 17 11 z5 J
7 17 13 z6 J
8 17 15 z7 J
MethodParameters:
Name Flags
zz
protected static void implExpand(long[], long[]);
descriptor: ([J[J)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=7, locals=10, args_size=2
start local 0 // long[] x
start local 1 // long[] z
0: .line 218
aload 0 /* x */
iconst_0
laload
lstore 2 /* x0 */
start local 2 // long x0
1: aload 0 /* x */
iconst_1
laload
lstore 4 /* x1 */
start local 4 // long x1
2: aload 0 /* x */
iconst_2
laload
lstore 6 /* x2 */
start local 6 // long x2
3: aload 0 /* x */
iconst_3
laload
lstore 8 /* x3 */
start local 8 // long x3
4: .line 219
aload 1 /* z */
iconst_0
lload 2 /* x0 */
ldc 576460752303423487
land
lastore
5: .line 220
aload 1 /* z */
iconst_1
lload 2 /* x0 */
bipush 59
lushr
lload 4 /* x1 */
iconst_5
lshl
lxor
ldc 576460752303423487
land
lastore
6: .line 221
aload 1 /* z */
iconst_2
lload 4 /* x1 */
bipush 54
lushr
lload 6 /* x2 */
bipush 10
lshl
lxor
ldc 576460752303423487
land
lastore
7: .line 222
aload 1 /* z */
iconst_3
lload 6 /* x2 */
bipush 49
lushr
lload 8 /* x3 */
bipush 15
lshl
lxor
lastore
8: .line 223
return
end local 8 // long x3
end local 6 // long x2
end local 4 // long x1
end local 2 // long x0
end local 1 // long[] z
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 9 0 x [J
0 9 1 z [J
1 9 2 x0 J
2 9 4 x1 J
3 9 6 x2 J
4 9 8 x3 J
MethodParameters:
Name Flags
x
z
protected static void implMultiply(long[], long[], long[]);
descriptor: ([J[J[J)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=8, locals=20, args_size=3
start local 0 // long[] x
start local 1 // long[] y
start local 2 // long[] zz
0: .line 231
iconst_4
newarray 11
astore 3 /* f */
start local 3 // long[] f
1: iconst_4
newarray 11
astore 4 /* g */
start local 4 // long[] g
2: .line 232
aload 0 /* x */
aload 3 /* f */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.implExpand:([J[J)V
3: .line 233
aload 1 /* y */
aload 4 /* g */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.implExpand:([J[J)V
4: .line 235
aload 3 /* f */
iconst_0
laload
aload 4 /* g */
iconst_0
laload
aload 2 /* zz */
iconst_0
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.implMulwAcc:(JJ[JI)V
5: .line 236
aload 3 /* f */
iconst_1
laload
aload 4 /* g */
iconst_1
laload
aload 2 /* zz */
iconst_1
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.implMulwAcc:(JJ[JI)V
6: .line 237
aload 3 /* f */
iconst_2
laload
aload 4 /* g */
iconst_2
laload
aload 2 /* zz */
iconst_2
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.implMulwAcc:(JJ[JI)V
7: .line 238
aload 3 /* f */
iconst_3
laload
aload 4 /* g */
iconst_3
laload
aload 2 /* zz */
iconst_3
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.implMulwAcc:(JJ[JI)V
8: .line 241
iconst_5
istore 5 /* i */
start local 5 // int i
9: goto 12
10: .line 243
StackMap locals: long[] long[] int
StackMap stack:
aload 2 /* zz */
iload 5 /* i */
dup2
laload
aload 2 /* zz */
iload 5 /* i */
iconst_1
isub
laload
lxor
lastore
11: .line 241
iinc 5 /* i */ -1
StackMap locals:
StackMap stack:
12: iload 5 /* i */
ifgt 10
end local 5 // int i
13: .line 246
aload 3 /* f */
iconst_0
laload
aload 3 /* f */
iconst_1
laload
lxor
aload 4 /* g */
iconst_0
laload
aload 4 /* g */
iconst_1
laload
lxor
aload 2 /* zz */
iconst_1
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.implMulwAcc:(JJ[JI)V
14: .line 247
aload 3 /* f */
iconst_2
laload
aload 3 /* f */
iconst_3
laload
lxor
aload 4 /* g */
iconst_2
laload
aload 4 /* g */
iconst_3
laload
lxor
aload 2 /* zz */
iconst_3
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.implMulwAcc:(JJ[JI)V
15: .line 250
bipush 7
istore 5 /* i */
start local 5 // int i
16: goto 19
17: .line 252
StackMap locals:
StackMap stack:
aload 2 /* zz */
iload 5 /* i */
dup2
laload
aload 2 /* zz */
iload 5 /* i */
iconst_2
isub
laload
lxor
lastore
18: .line 250
iinc 5 /* i */ -1
StackMap locals:
StackMap stack:
19: iload 5 /* i */
iconst_1
if_icmpgt 17
end local 5 // int i
20: .line 257
aload 3 /* f */
iconst_0
laload
aload 3 /* f */
iconst_2
laload
lxor
lstore 5 /* c0 */
start local 5 // long c0
21: aload 3 /* f */
iconst_1
laload
aload 3 /* f */
iconst_3
laload
lxor
lstore 7 /* c1 */
start local 7 // long c1
22: .line 258
aload 4 /* g */
iconst_0
laload
aload 4 /* g */
iconst_2
laload
lxor
lstore 9 /* d0 */
start local 9 // long d0
23: aload 4 /* g */
iconst_1
laload
aload 4 /* g */
iconst_3
laload
lxor
lstore 11 /* d1 */
start local 11 // long d1
24: .line 259
lload 5 /* c0 */
lload 7 /* c1 */
lxor
lload 9 /* d0 */
lload 11 /* d1 */
lxor
aload 2 /* zz */
iconst_3
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.implMulwAcc:(JJ[JI)V
25: .line 260
iconst_3
newarray 11
astore 13 /* t */
start local 13 // long[] t
26: .line 261
lload 5 /* c0 */
lload 9 /* d0 */
aload 13 /* t */
iconst_0
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.implMulwAcc:(JJ[JI)V
27: .line 262
lload 7 /* c1 */
lload 11 /* d1 */
aload 13 /* t */
iconst_1
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.implMulwAcc:(JJ[JI)V
28: .line 263
aload 13 /* t */
iconst_0
laload
lstore 14 /* t0 */
start local 14 // long t0
29: aload 13 /* t */
iconst_1
laload
lstore 16 /* t1 */
start local 16 // long t1
30: aload 13 /* t */
iconst_2
laload
lstore 18 /* t2 */
start local 18 // long t2
31: .line 264
aload 2 /* zz */
iconst_2
dup2
laload
lload 14 /* t0 */
lxor
lastore
32: .line 265
aload 2 /* zz */
iconst_3
dup2
laload
lload 14 /* t0 */
lload 16 /* t1 */
lxor
lxor
lastore
33: .line 266
aload 2 /* zz */
iconst_4
dup2
laload
lload 18 /* t2 */
lload 16 /* t1 */
lxor
lxor
lastore
34: .line 267
aload 2 /* zz */
iconst_5
dup2
laload
lload 18 /* t2 */
lxor
lastore
end local 18 // long t2
end local 16 // long t1
end local 14 // long t0
end local 13 // long[] t
end local 11 // long d1
end local 9 // long d0
end local 7 // long c1
end local 5 // long c0
35: .line 270
aload 2 /* zz */
invokestatic org.bouncycastle.math.ec.custom.sec.SecT233Field.implCompactExt:([J)V
36: .line 271
return
end local 4 // long[] g
end local 3 // long[] f
end local 2 // long[] zz
end local 1 // long[] y
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 37 0 x [J
0 37 1 y [J
0 37 2 zz [J
1 37 3 f [J
2 37 4 g [J
9 13 5 i I
16 20 5 i I
21 35 5 c0 J
22 35 7 c1 J
23 35 9 d0 J
24 35 11 d1 J
26 35 13 t [J
29 35 14 t0 J
30 35 16 t1 J
31 35 18 t2 J
MethodParameters:
Name Flags
x
y
zz
protected static void implMulwAcc(long, long, long[], int);
descriptor: (JJ[JI)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=9, locals=15, args_size=4
start local 0 // long x
start local 2 // long y
start local 4 // long[] z
start local 5 // int zOff
0: .line 278
bipush 8
newarray 11
astore 6 /* u */
start local 6 // long[] u
1: .line 280
aload 6 /* u */
iconst_1
lload 2 /* y */
lastore
2: .line 281
aload 6 /* u */
iconst_2
aload 6 /* u */
iconst_1
laload
iconst_1
lshl
lastore
3: .line 282
aload 6 /* u */
iconst_3
aload 6 /* u */
iconst_2
laload
lload 2 /* y */
lxor
lastore
4: .line 283
aload 6 /* u */
iconst_4
aload 6 /* u */
iconst_2
laload
iconst_1
lshl
lastore
5: .line 284
aload 6 /* u */
iconst_5
aload 6 /* u */
iconst_4
laload
lload 2 /* y */
lxor
lastore
6: .line 285
aload 6 /* u */
bipush 6
aload 6 /* u */
iconst_3
laload
iconst_1
lshl
lastore
7: .line 286
aload 6 /* u */
bipush 7
aload 6 /* u */
bipush 6
laload
lload 2 /* y */
lxor
lastore
8: .line 288
lload 0 /* x */
l2i
istore 7 /* j */
start local 7 // int j
9: .line 289
lconst_0
lstore 10 /* h */
start local 10 // long h
10: aload 6 /* u */
iload 7 /* j */
bipush 7
iand
laload
11: .line 290
aload 6 /* u */
iload 7 /* j */
iconst_3
iushr
bipush 7
iand
laload
iconst_3
lshl
lxor
lstore 12 /* l */
start local 12 // long l
12: .line 291
bipush 54
istore 14 /* k */
start local 14 // int k
13: .line 294
StackMap locals: long long long[] int long[] int top top long long int
StackMap stack:
lload 0 /* x */
iload 14 /* k */
lushr
l2i
istore 7 /* j */
14: .line 295
aload 6 /* u */
iload 7 /* j */
bipush 7
iand
laload
15: .line 296
aload 6 /* u */
iload 7 /* j */
iconst_3
iushr
bipush 7
iand
laload
iconst_3
lshl
16: .line 295
lxor
lstore 8 /* g */
start local 8 // long g
17: .line 297
lload 12 /* l */
lload 8 /* g */
iload 14 /* k */
lshl
lxor
lstore 12 /* l */
18: .line 298
lload 10 /* h */
lload 8 /* g */
iload 14 /* k */
ineg
lushr
lxor
lstore 10 /* h */
19: .line 300
iinc 14 /* k */ -6
iload 14 /* k */
20: .line 292
ifgt 13
21: .line 304
aload 4 /* z */
iload 5 /* zOff */
dup2
laload
lload 12 /* l */
ldc 576460752303423487
land
lxor
lastore
22: .line 305
aload 4 /* z */
iload 5 /* zOff */
iconst_1
iadd
dup2
laload
lload 12 /* l */
bipush 59
lushr
lload 10 /* h */
iconst_5
lshl
lxor
lxor
lastore
23: .line 306
return
end local 14 // int k
end local 12 // long l
end local 10 // long h
end local 8 // long g
end local 7 // int j
end local 6 // long[] u
end local 5 // int zOff
end local 4 // long[] z
end local 2 // long y
end local 0 // long x
LocalVariableTable:
Start End Slot Name Signature
0 24 0 x J
0 24 2 y J
0 24 4 z [J
0 24 5 zOff I
1 24 6 u [J
9 24 7 j I
17 24 8 g J
10 24 10 h J
12 24 12 l J
13 24 14 k I
MethodParameters:
Name Flags
x
y
z
zOff
protected static void implSquare(long[], long[]);
descriptor: ([J[J)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=4, args_size=2
start local 0 // long[] x
start local 1 // long[] zz
0: .line 310
aload 0 /* x */
iconst_0
laload
aload 1 /* zz */
iconst_0
invokestatic org.bouncycastle.math.raw.Interleave.expand64To128:(J[JI)V
1: .line 311
aload 0 /* x */
iconst_1
laload
aload 1 /* zz */
iconst_2
invokestatic org.bouncycastle.math.raw.Interleave.expand64To128:(J[JI)V
2: .line 312
aload 0 /* x */
iconst_2
laload
aload 1 /* zz */
iconst_4
invokestatic org.bouncycastle.math.raw.Interleave.expand64To128:(J[JI)V
3: .line 314
aload 0 /* x */
iconst_3
laload
lstore 2 /* x3 */
start local 2 // long x3
4: .line 315
aload 1 /* zz */
bipush 6
lload 2 /* x3 */
l2i
invokestatic org.bouncycastle.math.raw.Interleave.expand32to64:(I)J
lastore
5: .line 316
aload 1 /* zz */
bipush 7
lload 2 /* x3 */
bipush 32
lushr
l2i
invokestatic org.bouncycastle.math.raw.Interleave.expand16to32:(I)I
i2l
ldc 4294967295
land
lastore
6: .line 317
return
end local 2 // long x3
end local 1 // long[] zz
end local 0 // long[] x
LocalVariableTable:
Start End Slot Name Signature
0 7 0 x [J
0 7 1 zz [J
4 7 2 x3 J
MethodParameters:
Name Flags
x
zz
}
SourceFile: "SecT233Field.java"