public abstract class org.bouncycastle.math.ec.rfc8032.Ed448
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.bouncycastle.math.ec.rfc8032.Ed448
super_class: java.lang.Object
{
private static final long M26L;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 67108863
private static final long M28L;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 268435455
private static final long M32L;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4294967295
private static final int POINT_BYTES;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 57
private static final int SCALAR_INTS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 14
private static final int SCALAR_BYTES;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 57
public static final int PREHASH_SIZE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 64
public static final int PUBLIC_KEY_SIZE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 57
public static final int SECRET_KEY_SIZE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 57
public static final int SIGNATURE_SIZE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 114
private static final byte[] DOM4_PREFIX;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] P;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] L;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int L_0;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 78101261
private static final int L_1;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 141809365
private static final int L_2;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 175155932
private static final int L_3;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 64542499
private static final int L_4;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 158326419
private static final int L_5;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 191173276
private static final int L_6;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 104575268
private static final int L_7;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 137584065
private static final int L4_0;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 43969588
private static final int L4_1;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 30366549
private static final int L4_2;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 163752818
private static final int L4_3;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 258169998
private static final int L4_4;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 96434764
private static final int L4_5;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 227822194
private static final int L4_6;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 149865618
private static final int L4_7;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 550336261
private static final int[] B_x;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] B_y;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int C_d;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -39081
private static final int WNAF_WIDTH_BASE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 7
private static final int PRECOMP_BLOCKS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
private static final int PRECOMP_TEETH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
private static final int PRECOMP_SPACING;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 18
private static final int PRECOMP_POINTS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final int PRECOMP_MASK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 15
private static java.lang.Object precompLock;
descriptor: Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static org.bouncycastle.math.ec.rfc8032.Ed448$PointExt[] precompBaseTable;
descriptor: [Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static int[] precompBase;
descriptor: [I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: .line 34
ldc "SigEd448"
invokestatic org.bouncycastle.util.Strings.toByteArray:(Ljava/lang/String;)[B
putstatic org.bouncycastle.math.ec.rfc8032.Ed448.DOM4_PREFIX:[B
1: .line 36
bipush 14
newarray 10
dup
iconst_0
iconst_m1
iastore
dup
iconst_1
iconst_m1
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
dup
bipush 6
iconst_m1
iastore
dup
bipush 7
2: .line 37
bipush -2
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
dup
bipush 12
iconst_m1
iastore
dup
bipush 13
iconst_m1
iastore
3: .line 36
putstatic org.bouncycastle.math.ec.rfc8032.Ed448.P:[I
4: .line 38
bipush 14
newarray 10
dup
iconst_0
ldc -1420278541
iastore
dup
iconst_1
ldc 595116690
iastore
dup
iconst_2
ldc -1916432555
iastore
dup
iconst_3
ldc 560775794
iastore
dup
iconst_4
ldc -1361693040
iastore
dup
iconst_5
ldc -1001465015
iastore
dup
bipush 6
ldc 2093622249
iastore
dup
bipush 7
5: .line 39
iconst_m1
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
dup
bipush 12
iconst_m1
iastore
dup
bipush 13
ldc 1073741823
iastore
6: .line 38
putstatic org.bouncycastle.math.ec.rfc8032.Ed448.L:[I
7: .line 59
bipush 16
newarray 10
dup
iconst_0
ldc 118276190
iastore
dup
iconst_1
ldc 40534716
iastore
dup
iconst_2
ldc 9670182
iastore
dup
iconst_3
ldc 135141552
iastore
dup
iconst_4
ldc 85017403
iastore
dup
iconst_5
ldc 259173222
iastore
dup
bipush 6
ldc 68333082
iastore
dup
bipush 7
8: .line 60
ldc 171784774
iastore
dup
bipush 8
ldc 174973732
iastore
dup
bipush 9
ldc 15824510
iastore
dup
bipush 10
ldc 73756743
iastore
dup
bipush 11
ldc 57518561
iastore
dup
bipush 12
ldc 94773951
iastore
dup
bipush 13
ldc 248652241
iastore
dup
bipush 14
ldc 107736333
iastore
dup
bipush 15
ldc 82941708
iastore
9: .line 59
putstatic org.bouncycastle.math.ec.rfc8032.Ed448.B_x:[I
10: .line 61
bipush 16
newarray 10
dup
iconst_0
ldc 36764180
iastore
dup
iconst_1
ldc 8885695
iastore
dup
iconst_2
ldc 130592152
iastore
dup
iconst_3
ldc 20104429
iastore
dup
iconst_4
ldc 163904957
iastore
dup
iconst_5
ldc 30304195
iastore
dup
bipush 6
ldc 121295871
iastore
dup
bipush 7
11: .line 62
ldc 5901357
iastore
dup
bipush 8
ldc 125344798
iastore
dup
bipush 9
ldc 171541512
iastore
dup
bipush 10
ldc 175338348
iastore
dup
bipush 11
ldc 209069246
iastore
dup
bipush 12
ldc 3626697
iastore
dup
bipush 13
ldc 38307682
iastore
dup
bipush 14
ldc 24032956
iastore
dup
bipush 15
ldc 110359655
iastore
12: .line 61
putstatic org.bouncycastle.math.ec.rfc8032.Ed448.B_y:[I
13: .line 73
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic org.bouncycastle.math.ec.rfc8032.Ed448.precompLock:Ljava/lang/Object;
14: .line 75
aconst_null
putstatic org.bouncycastle.math.ec.rfc8032.Ed448.precompBaseTable:[Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
15: .line 76
aconst_null
putstatic org.bouncycastle.math.ec.rfc8032.Ed448.precompBase:[I
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 // org.bouncycastle.math.ec.rfc8032.Ed448 this
0: .line 13
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.bouncycastle.math.ec.rfc8032.Ed448 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/rfc8032/Ed448;
private static byte[] calculateS(byte[], byte[], byte[]);
descriptor: ([B[B[B)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=3
start local 0 // byte[] r
start local 1 // byte[] k
start local 2 // byte[] s
0: .line 93
bipush 28
newarray 10
astore 3 /* t */
start local 3 // int[] t
1: aload 0 /* r */
iconst_0
aload 3 /* t */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decodeScalar:([BI[I)V
2: .line 94
bipush 14
newarray 10
astore 4 /* u */
start local 4 // int[] u
3: aload 1 /* k */
iconst_0
aload 4 /* u */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decodeScalar:([BI[I)V
4: .line 95
bipush 14
newarray 10
astore 5 /* v */
start local 5 // int[] v
5: aload 2 /* s */
iconst_0
aload 5 /* v */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decodeScalar:([BI[I)V
6: .line 97
bipush 14
aload 4 /* u */
aload 5 /* v */
aload 3 /* t */
invokestatic org.bouncycastle.math.raw.Nat.mulAddTo:(I[I[I[I)I
pop
7: .line 99
bipush 114
newarray 8
astore 6 /* result */
start local 6 // byte[] result
8: .line 100
iconst_0
istore 7 /* i */
start local 7 // int i
9: goto 12
10: .line 102
StackMap locals: byte[] byte[] byte[] int[] int[] int[] byte[] int
StackMap stack:
aload 3 /* t */
iload 7 /* i */
iaload
aload 6 /* result */
iload 7 /* i */
iconst_4
imul
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.encode32:(I[BI)V
11: .line 100
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
12: iload 7 /* i */
aload 3 /* t */
arraylength
if_icmplt 10
end local 7 // int i
13: .line 104
aload 6 /* result */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.reduceScalar:([B)[B
areturn
end local 6 // byte[] result
end local 5 // int[] v
end local 4 // int[] u
end local 3 // int[] t
end local 2 // byte[] s
end local 1 // byte[] k
end local 0 // byte[] r
LocalVariableTable:
Start End Slot Name Signature
0 14 0 r [B
0 14 1 k [B
0 14 2 s [B
1 14 3 t [I
3 14 4 u [I
5 14 5 v [I
8 14 6 result [B
9 13 7 i I
MethodParameters:
Name Flags
r
k
s
private static boolean checkContextVar(byte[]);
descriptor: ([B)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // byte[] ctx
0: .line 109
aload 0 /* ctx */
ifnull 1
aload 0 /* ctx */
arraylength
sipush 256
if_icmpge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 // byte[] ctx
LocalVariableTable:
Start End Slot Name Signature
0 2 0 ctx [B
MethodParameters:
Name Flags
ctx
private static boolean checkPointVar(byte[]);
descriptor: ([B)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 // byte[] p
0: .line 114
aload 0 /* p */
bipush 56
baload
bipush 127
iand
ifeq 2
1: .line 116
iconst_0
ireturn
2: .line 119
StackMap locals:
StackMap stack:
bipush 14
newarray 10
astore 1 /* t */
start local 1 // int[] t
3: .line 120
aload 0 /* p */
iconst_0
aload 1 /* t */
iconst_0
bipush 14
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode32:([BI[III)V
4: .line 121
bipush 14
aload 1 /* t */
getstatic org.bouncycastle.math.ec.rfc8032.Ed448.P:[I
invokestatic org.bouncycastle.math.raw.Nat.gte:(I[I[I)Z
ifeq 5
iconst_0
goto 6
StackMap locals: int[]
StackMap stack:
5: iconst_1
StackMap locals:
StackMap stack: int
6: ireturn
end local 1 // int[] t
end local 0 // byte[] p
LocalVariableTable:
Start End Slot Name Signature
0 7 0 p [B
3 7 1 t [I
MethodParameters:
Name Flags
p
private static boolean checkScalarVar(byte[]);
descriptor: ([B)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 // byte[] s
0: .line 126
aload 0 /* s */
bipush 56
baload
ifeq 2
1: .line 128
iconst_0
ireturn
2: .line 131
StackMap locals:
StackMap stack:
bipush 14
newarray 10
astore 1 /* n */
start local 1 // int[] n
3: .line 132
aload 0 /* s */
iconst_0
aload 1 /* n */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decodeScalar:([BI[I)V
4: .line 133
bipush 14
aload 1 /* n */
getstatic org.bouncycastle.math.ec.rfc8032.Ed448.L:[I
invokestatic org.bouncycastle.math.raw.Nat.gte:(I[I[I)Z
ifeq 5
iconst_0
goto 6
StackMap locals: int[]
StackMap stack:
5: iconst_1
StackMap locals:
StackMap stack: int
6: ireturn
end local 1 // int[] n
end local 0 // byte[] s
LocalVariableTable:
Start End Slot Name Signature
0 7 0 s [B
3 7 1 n [I
MethodParameters:
Name Flags
s
public static org.bouncycastle.crypto.Xof createPrehash();
descriptor: ()Lorg/bouncycastle/crypto/Xof;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: .line 138
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.createXof:()Lorg/bouncycastle/crypto/Xof;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static org.bouncycastle.crypto.Xof createXof();
descriptor: ()Lorg/bouncycastle/crypto/Xof;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: .line 143
new org.bouncycastle.crypto.digests.SHAKEDigest
dup
sipush 256
invokespecial org.bouncycastle.crypto.digests.SHAKEDigest.<init>:(I)V
areturn
LocalVariableTable:
Start End Slot Name Signature
private static int decode16(byte[], int);
descriptor: ([BI)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 // byte[] bs
start local 1 // int off
0: .line 148
aload 0 /* bs */
iload 1 /* off */
baload
sipush 255
iand
istore 2 /* n */
start local 2 // int n
1: .line 149
iload 2 /* n */
aload 0 /* bs */
iinc 1 /* off */ 1
iload 1 /* off */
baload
sipush 255
iand
bipush 8
ishl
ior
istore 2 /* n */
2: .line 150
iload 2 /* n */
ireturn
end local 2 // int n
end local 1 // int off
end local 0 // byte[] bs
LocalVariableTable:
Start End Slot Name Signature
0 3 0 bs [B
0 3 1 off I
1 3 2 n I
MethodParameters:
Name Flags
bs
off
private static int decode24(byte[], int);
descriptor: ([BI)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 // byte[] bs
start local 1 // int off
0: .line 155
aload 0 /* bs */
iload 1 /* off */
baload
sipush 255
iand
istore 2 /* n */
start local 2 // int n
1: .line 156
iload 2 /* n */
aload 0 /* bs */
iinc 1 /* off */ 1
iload 1 /* off */
baload
sipush 255
iand
bipush 8
ishl
ior
istore 2 /* n */
2: .line 157
iload 2 /* n */
aload 0 /* bs */
iinc 1 /* off */ 1
iload 1 /* off */
baload
sipush 255
iand
bipush 16
ishl
ior
istore 2 /* n */
3: .line 158
iload 2 /* n */
ireturn
end local 2 // int n
end local 1 // int off
end local 0 // byte[] bs
LocalVariableTable:
Start End Slot Name Signature
0 4 0 bs [B
0 4 1 off I
1 4 2 n I
MethodParameters:
Name Flags
bs
off
private static int decode32(byte[], int);
descriptor: ([BI)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 // byte[] bs
start local 1 // int off
0: .line 163
aload 0 /* bs */
iload 1 /* off */
baload
sipush 255
iand
istore 2 /* n */
start local 2 // int n
1: .line 164
iload 2 /* n */
aload 0 /* bs */
iinc 1 /* off */ 1
iload 1 /* off */
baload
sipush 255
iand
bipush 8
ishl
ior
istore 2 /* n */
2: .line 165
iload 2 /* n */
aload 0 /* bs */
iinc 1 /* off */ 1
iload 1 /* off */
baload
sipush 255
iand
bipush 16
ishl
ior
istore 2 /* n */
3: .line 166
iload 2 /* n */
aload 0 /* bs */
iinc 1 /* off */ 1
iload 1 /* off */
baload
bipush 24
ishl
ior
istore 2 /* n */
4: .line 167
iload 2 /* n */
ireturn
end local 2 // int n
end local 1 // int off
end local 0 // byte[] bs
LocalVariableTable:
Start End Slot Name Signature
0 5 0 bs [B
0 5 1 off I
1 5 2 n I
MethodParameters:
Name Flags
bs
off
private static void decode32(byte[], int, int[], int, int);
descriptor: ([BI[III)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=6, args_size=5
start local 0 // byte[] bs
start local 1 // int bsOff
start local 2 // int[] n
start local 3 // int nOff
start local 4 // int nLen
0: .line 172
iconst_0
istore 5 /* i */
start local 5 // int i
1: goto 4
2: .line 174
StackMap locals: int
StackMap stack:
aload 2 /* n */
iload 3 /* nOff */
iload 5 /* i */
iadd
aload 0 /* bs */
iload 1 /* bsOff */
iload 5 /* i */
iconst_4
imul
iadd
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode32:([BI)I
iastore
3: .line 172
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
4: iload 5 /* i */
iload 4 /* nLen */
if_icmplt 2
end local 5 // int i
5: .line 176
return
end local 4 // int nLen
end local 3 // int nOff
end local 2 // int[] n
end local 1 // int bsOff
end local 0 // byte[] bs
LocalVariableTable:
Start End Slot Name Signature
0 6 0 bs [B
0 6 1 bsOff I
0 6 2 n [I
0 6 3 nOff I
0 6 4 nLen I
1 5 5 i I
MethodParameters:
Name Flags
bs
bsOff
n
nOff
nLen
private static boolean decodePointVar(byte[], int, boolean, org.bouncycastle.math.ec.rfc8032.Ed448$PointExt);
descriptor: ([BIZLorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=4
start local 0 // byte[] p
start local 1 // int pOff
start local 2 // boolean negate
start local 3 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt r
0: .line 180
aload 0 /* p */
iload 1 /* pOff */
iload 1 /* pOff */
bipush 57
iadd
invokestatic org.bouncycastle.util.Arrays.copyOfRange:([BII)[B
astore 4 /* py */
start local 4 // byte[] py
1: .line 181
aload 4 /* py */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.checkPointVar:([B)Z
ifne 3
2: .line 183
iconst_0
ireturn
3: .line 186
StackMap locals: byte[]
StackMap stack:
aload 4 /* py */
bipush 56
baload
sipush 128
iand
bipush 7
iushr
istore 5 /* x_0 */
start local 5 // int x_0
4: .line 187
aload 4 /* py */
bipush 56
dup2
baload
bipush 127
iand
i2b
bastore
5: .line 189
aload 4 /* py */
iconst_0
aload 3 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.y:[I
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.decode:([BI[I)V
6: .line 191
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.create:()[I
astore 6 /* u */
start local 6 // int[] u
7: .line 192
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.create:()[I
astore 7 /* v */
start local 7 // int[] v
8: .line 194
aload 3 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.y:[I
aload 6 /* u */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.sqr:([I[I)V
9: .line 195
aload 6 /* u */
ldc 39081
aload 7 /* v */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.mul:([II[I)V
10: .line 196
aload 6 /* u */
aload 6 /* u */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.negate:([I[I)V
11: .line 197
aload 6 /* u */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.addOne:([I)V
12: .line 198
aload 7 /* v */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.addOne:([I)V
13: .line 200
aload 6 /* u */
aload 7 /* v */
aload 3 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.x:[I
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.sqrtRatioVar:([I[I[I)Z
ifne 15
14: .line 202
iconst_0
ireturn
15: .line 205
StackMap locals: int int[] int[]
StackMap stack:
aload 3 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.x:[I
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.normalize:([I)V
16: .line 206
iload 5 /* x_0 */
iconst_1
if_icmpne 18
aload 3 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.x:[I
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.isZeroVar:([I)Z
ifeq 18
17: .line 208
iconst_0
ireturn
18: .line 211
StackMap locals:
StackMap stack:
iload 2 /* negate */
iload 5 /* x_0 */
aload 3 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.x:[I
iconst_0
iaload
iconst_1
iand
if_icmpeq 19
iconst_1
goto 20
StackMap locals:
StackMap stack: int
19: iconst_0
StackMap locals: byte[] int int org.bouncycastle.math.ec.rfc8032.Ed448$PointExt byte[] int int[] int[]
StackMap stack: int int
20: ixor
ifeq 22
21: .line 213
aload 3 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.x:[I
aload 3 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.x:[I
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.negate:([I[I)V
22: .line 216
StackMap locals:
StackMap stack:
aload 3 /* r */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.pointExtendXY:(Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)V
23: .line 217
iconst_1
ireturn
end local 7 // int[] v
end local 6 // int[] u
end local 5 // int x_0
end local 4 // byte[] py
end local 3 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt r
end local 2 // boolean negate
end local 1 // int pOff
end local 0 // byte[] p
LocalVariableTable:
Start End Slot Name Signature
0 24 0 p [B
0 24 1 pOff I
0 24 2 negate Z
0 24 3 r Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
1 24 4 py [B
4 24 5 x_0 I
7 24 6 u [I
8 24 7 v [I
MethodParameters:
Name Flags
p
pOff
negate
r
private static void decodeScalar(byte[], int, int[]);
descriptor: ([BI[I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 // byte[] k
start local 1 // int kOff
start local 2 // int[] n
0: .line 224
aload 0 /* k */
iload 1 /* kOff */
aload 2 /* n */
iconst_0
bipush 14
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode32:([BI[III)V
1: .line 225
return
end local 2 // int[] n
end local 1 // int kOff
end local 0 // byte[] k
LocalVariableTable:
Start End Slot Name Signature
0 2 0 k [B
0 2 1 kOff I
0 2 2 n [I
MethodParameters:
Name Flags
k
kOff
n
private static void dom4(org.bouncycastle.crypto.Xof, byte, byte[]);
descriptor: (Lorg/bouncycastle/crypto/Xof;B[B)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 // org.bouncycastle.crypto.Xof d
start local 1 // byte x
start local 2 // byte[] y
0: .line 229
aload 0 /* d */
getstatic org.bouncycastle.math.ec.rfc8032.Ed448.DOM4_PREFIX:[B
iconst_0
getstatic org.bouncycastle.math.ec.rfc8032.Ed448.DOM4_PREFIX:[B
arraylength
invokeinterface org.bouncycastle.crypto.Xof.update:([BII)V
1: .line 230
aload 0 /* d */
iload 1 /* x */
invokeinterface org.bouncycastle.crypto.Xof.update:(B)V
2: .line 231
aload 0 /* d */
aload 2 /* y */
arraylength
i2b
invokeinterface org.bouncycastle.crypto.Xof.update:(B)V
3: .line 232
aload 0 /* d */
aload 2 /* y */
iconst_0
aload 2 /* y */
arraylength
invokeinterface org.bouncycastle.crypto.Xof.update:([BII)V
4: .line 233
return
end local 2 // byte[] y
end local 1 // byte x
end local 0 // org.bouncycastle.crypto.Xof d
LocalVariableTable:
Start End Slot Name Signature
0 5 0 d Lorg/bouncycastle/crypto/Xof;
0 5 1 x B
0 5 2 y [B
MethodParameters:
Name Flags
d
x
y
private static void encode24(int, byte[], int);
descriptor: (I[BI)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 // int n
start local 1 // byte[] bs
start local 2 // int off
0: .line 237
aload 1 /* bs */
iload 2 /* off */
iload 0 /* n */
i2b
bastore
1: .line 238
aload 1 /* bs */
iinc 2 /* off */ 1
iload 2 /* off */
iload 0 /* n */
bipush 8
iushr
i2b
bastore
2: .line 239
aload 1 /* bs */
iinc 2 /* off */ 1
iload 2 /* off */
iload 0 /* n */
bipush 16
iushr
i2b
bastore
3: .line 240
return
end local 2 // int off
end local 1 // byte[] bs
end local 0 // int n
LocalVariableTable:
Start End Slot Name Signature
0 4 0 n I
0 4 1 bs [B
0 4 2 off I
MethodParameters:
Name Flags
n
bs
off
private static void encode32(int, byte[], int);
descriptor: (I[BI)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 // int n
start local 1 // byte[] bs
start local 2 // int off
0: .line 244
aload 1 /* bs */
iload 2 /* off */
iload 0 /* n */
i2b
bastore
1: .line 245
aload 1 /* bs */
iinc 2 /* off */ 1
iload 2 /* off */
iload 0 /* n */
bipush 8
iushr
i2b
bastore
2: .line 246
aload 1 /* bs */
iinc 2 /* off */ 1
iload 2 /* off */
iload 0 /* n */
bipush 16
iushr
i2b
bastore
3: .line 247
aload 1 /* bs */
iinc 2 /* off */ 1
iload 2 /* off */
iload 0 /* n */
bipush 24
iushr
i2b
bastore
4: .line 248
return
end local 2 // int off
end local 1 // byte[] bs
end local 0 // int n
LocalVariableTable:
Start End Slot Name Signature
0 5 0 n I
0 5 1 bs [B
0 5 2 off I
MethodParameters:
Name Flags
n
bs
off
private static void encode56(long, byte[], int);
descriptor: (J[BI)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 // long n
start local 2 // byte[] bs
start local 3 // int off
0: .line 252
lload 0 /* n */
l2i
aload 2 /* bs */
iload 3 /* off */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.encode32:(I[BI)V
1: .line 253
lload 0 /* n */
bipush 32
lushr
l2i
aload 2 /* bs */
iload 3 /* off */
iconst_4
iadd
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.encode24:(I[BI)V
2: .line 254
return
end local 3 // int off
end local 2 // byte[] bs
end local 0 // long n
LocalVariableTable:
Start End Slot Name Signature
0 3 0 n J
0 3 2 bs [B
0 3 3 off I
MethodParameters:
Name Flags
n
bs
off
private static void encodePoint(org.bouncycastle.math.ec.rfc8032.Ed448$PointExt, byte[], int);
descriptor: (Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;[BI)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt p
start local 1 // byte[] r
start local 2 // int rOff
0: .line 258
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.create:()[I
astore 3 /* x */
start local 3 // int[] x
1: .line 259
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.create:()[I
astore 4 /* y */
start local 4 // int[] y
2: .line 261
aload 0 /* p */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.z:[I
aload 4 /* y */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.inv:([I[I)V
3: .line 262
aload 0 /* p */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.x:[I
aload 4 /* y */
aload 3 /* x */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.mul:([I[I[I)V
4: .line 263
aload 0 /* p */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.y:[I
aload 4 /* y */
aload 4 /* y */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.mul:([I[I[I)V
5: .line 264
aload 3 /* x */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.normalize:([I)V
6: .line 265
aload 4 /* y */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.normalize:([I)V
7: .line 267
aload 4 /* y */
aload 1 /* r */
iload 2 /* rOff */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.encode:([I[BI)V
8: .line 268
aload 1 /* r */
iload 2 /* rOff */
bipush 57
iadd
iconst_1
isub
aload 3 /* x */
iconst_0
iaload
iconst_1
iand
bipush 7
ishl
i2b
bastore
9: .line 269
return
end local 4 // int[] y
end local 3 // int[] x
end local 2 // int rOff
end local 1 // byte[] r
end local 0 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt p
LocalVariableTable:
Start End Slot Name Signature
0 10 0 p Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
0 10 1 r [B
0 10 2 rOff I
1 10 3 x [I
2 10 4 y [I
MethodParameters:
Name Flags
p
r
rOff
public static void generatePrivateKey(java.security.SecureRandom, byte[]);
descriptor: (Ljava/security/SecureRandom;[B)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 // java.security.SecureRandom random
start local 1 // byte[] k
0: .line 273
aload 0 /* random */
aload 1 /* k */
invokevirtual java.security.SecureRandom.nextBytes:([B)V
1: .line 274
return
end local 1 // byte[] k
end local 0 // java.security.SecureRandom random
LocalVariableTable:
Start End Slot Name Signature
0 2 0 random Ljava/security/SecureRandom;
0 2 1 k [B
MethodParameters:
Name Flags
random
k
public static void generatePublicKey(byte[], int, byte[], int);
descriptor: ([BI[BI)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=4
start local 0 // byte[] sk
start local 1 // int skOff
start local 2 // byte[] pk
start local 3 // int pkOff
0: .line 278
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.createXof:()Lorg/bouncycastle/crypto/Xof;
astore 4 /* d */
start local 4 // org.bouncycastle.crypto.Xof d
1: .line 279
bipush 114
newarray 8
astore 5 /* h */
start local 5 // byte[] h
2: .line 281
aload 4 /* d */
aload 0 /* sk */
iload 1 /* skOff */
bipush 57
invokeinterface org.bouncycastle.crypto.Xof.update:([BII)V
3: .line 282
aload 4 /* d */
aload 5 /* h */
iconst_0
aload 5 /* h */
arraylength
invokeinterface org.bouncycastle.crypto.Xof.doFinal:([BII)I
pop
4: .line 284
bipush 57
newarray 8
astore 6 /* s */
start local 6 // byte[] s
5: .line 285
aload 5 /* h */
iconst_0
aload 6 /* s */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.pruneScalar:([BI[B)V
6: .line 287
aload 6 /* s */
aload 2 /* pk */
iload 3 /* pkOff */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.scalarMultBaseEncoded:([B[BI)V
7: .line 288
return
end local 6 // byte[] s
end local 5 // byte[] h
end local 4 // org.bouncycastle.crypto.Xof d
end local 3 // int pkOff
end local 2 // byte[] pk
end local 1 // int skOff
end local 0 // byte[] sk
LocalVariableTable:
Start End Slot Name Signature
0 8 0 sk [B
0 8 1 skOff I
0 8 2 pk [B
0 8 3 pkOff I
1 8 4 d Lorg/bouncycastle/crypto/Xof;
2 8 5 h [B
5 8 6 s [B
MethodParameters:
Name Flags
sk
skOff
pk
pkOff
private static byte[] getWNAF(int[], int);
descriptor: ([II)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=14, args_size=2
start local 0 // int[] n
start local 1 // int width
0: .line 294
bipush 28
newarray 10
astore 2 /* t */
start local 2 // int[] t
1: .line 296
aload 2 /* t */
arraylength
istore 3 /* tPos */
start local 3 // int tPos
2: iconst_0
istore 4 /* c */
start local 4 // int c
3: .line 297
bipush 14
istore 5 /* i */
start local 5 // int i
4: .line 298
goto 8
5: .line 300
StackMap locals: int[] int int[] int int int
StackMap stack:
aload 0 /* n */
iload 5 /* i */
iaload
istore 6 /* next */
start local 6 // int next
6: .line 301
aload 2 /* t */
iinc 3 /* tPos */ -1
iload 3 /* tPos */
iload 6 /* next */
bipush 16
iushr
iload 4 /* c */
bipush 16
ishl
ior
iastore
7: .line 302
aload 2 /* t */
iinc 3 /* tPos */ -1
iload 3 /* tPos */
iload 6 /* next */
dup
istore 4 /* c */
iastore
end local 6 // int next
8: .line 298
StackMap locals:
StackMap stack:
iinc 5 /* i */ -1
iload 5 /* i */
ifge 5
end local 5 // int i
end local 4 // int c
end local 3 // int tPos
9: .line 306
sipush 448
newarray 8
astore 3 /* ws */
start local 3 // byte[] ws
10: .line 308
iconst_1
iload 1 /* width */
ishl
istore 4 /* pow2 */
start local 4 // int pow2
11: .line 309
iload 4 /* pow2 */
iconst_1
isub
istore 5 /* mask */
start local 5 // int mask
12: .line 310
iload 4 /* pow2 */
iconst_1
iushr
istore 6 /* sign */
start local 6 // int sign
13: .line 312
iconst_0
istore 7 /* j */
start local 7 // int j
14: iconst_0
istore 8 /* carry */
start local 8 // int carry
15: .line 313
iconst_0
istore 9 /* i */
start local 9 // int i
16: goto 32
17: .line 315
StackMap locals: int[] int int[] byte[] int int int int int int
StackMap stack:
aload 2 /* t */
iload 9 /* i */
iaload
istore 10 /* word */
start local 10 // int word
18: .line 316
goto 30
19: .line 318
StackMap locals: int
StackMap stack:
iload 10 /* word */
iload 7 /* j */
iushr
istore 11 /* word16 */
start local 11 // int word16
20: .line 319
iload 11 /* word16 */
iconst_1
iand
istore 12 /* bit */
start local 12 // int bit
21: .line 321
iload 12 /* bit */
iload 8 /* carry */
if_icmpne 24
22: .line 323
iinc 7 /* j */ 1
23: .line 324
goto 30
24: .line 327
StackMap locals: int int
StackMap stack:
iload 11 /* word16 */
iload 5 /* mask */
iand
iload 8 /* carry */
iadd
istore 13 /* digit */
start local 13 // int digit
25: .line 328
iload 13 /* digit */
iload 6 /* sign */
iand
istore 8 /* carry */
26: .line 329
iload 13 /* digit */
iload 8 /* carry */
iconst_1
ishl
isub
istore 13 /* digit */
27: .line 330
iload 8 /* carry */
iload 1 /* width */
iconst_1
isub
iushr
istore 8 /* carry */
28: .line 332
aload 3 /* ws */
iload 9 /* i */
iconst_4
ishl
iload 7 /* j */
iadd
iload 13 /* digit */
i2b
bastore
29: .line 334
iload 7 /* j */
iload 1 /* width */
iadd
istore 7 /* j */
end local 13 // int digit
end local 12 // int bit
end local 11 // int word16
30: .line 316
StackMap locals:
StackMap stack:
iload 7 /* j */
bipush 16
if_icmplt 19
end local 10 // int word
31: .line 313
iinc 9 /* i */ 1
iinc 7 /* j */ -16
StackMap locals:
StackMap stack:
32: iload 9 /* i */
aload 2 /* t */
arraylength
if_icmplt 17
end local 9 // int i
33: .line 340
aload 3 /* ws */
areturn
end local 8 // int carry
end local 7 // int j
end local 6 // int sign
end local 5 // int mask
end local 4 // int pow2
end local 3 // byte[] ws
end local 2 // int[] t
end local 1 // int width
end local 0 // int[] n
LocalVariableTable:
Start End Slot Name Signature
0 34 0 n [I
0 34 1 width I
1 34 2 t [I
2 9 3 tPos I
3 9 4 c I
4 9 5 i I
6 8 6 next I
10 34 3 ws [B
11 34 4 pow2 I
12 34 5 mask I
13 34 6 sign I
14 34 7 j I
15 34 8 carry I
16 33 9 i I
18 31 10 word I
20 30 11 word16 I
21 30 12 bit I
25 30 13 digit I
MethodParameters:
Name Flags
n
width
private static void implSign(org.bouncycastle.crypto.Xof, byte[], byte[], byte[], int, byte[], byte, byte[], int, int, byte[], int);
descriptor: (Lorg/bouncycastle/crypto/Xof;[B[B[BI[BB[BII[BI)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=16, args_size=12
start local 0 // org.bouncycastle.crypto.Xof d
start local 1 // byte[] h
start local 2 // byte[] s
start local 3 // byte[] pk
start local 4 // int pkOff
start local 5 // byte[] ctx
start local 6 // byte phflag
start local 7 // byte[] m
start local 8 // int mOff
start local 9 // int mLen
start local 10 // byte[] sig
start local 11 // int sigOff
0: .line 346
aload 0 /* d */
iload 6 /* phflag */
aload 5 /* ctx */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.dom4:(Lorg/bouncycastle/crypto/Xof;B[B)V
1: .line 347
aload 0 /* d */
aload 1 /* h */
bipush 57
bipush 57
invokeinterface org.bouncycastle.crypto.Xof.update:([BII)V
2: .line 348
aload 0 /* d */
aload 7 /* m */
iload 8 /* mOff */
iload 9 /* mLen */
invokeinterface org.bouncycastle.crypto.Xof.update:([BII)V
3: .line 349
aload 0 /* d */
aload 1 /* h */
iconst_0
aload 1 /* h */
arraylength
invokeinterface org.bouncycastle.crypto.Xof.doFinal:([BII)I
pop
4: .line 351
aload 1 /* h */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.reduceScalar:([B)[B
astore 12 /* r */
start local 12 // byte[] r
5: .line 352
bipush 57
newarray 8
astore 13 /* R */
start local 13 // byte[] R
6: .line 353
aload 12 /* r */
aload 13 /* R */
iconst_0
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.scalarMultBaseEncoded:([B[BI)V
7: .line 355
aload 0 /* d */
iload 6 /* phflag */
aload 5 /* ctx */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.dom4:(Lorg/bouncycastle/crypto/Xof;B[B)V
8: .line 356
aload 0 /* d */
aload 13 /* R */
iconst_0
bipush 57
invokeinterface org.bouncycastle.crypto.Xof.update:([BII)V
9: .line 357
aload 0 /* d */
aload 3 /* pk */
iload 4 /* pkOff */
bipush 57
invokeinterface org.bouncycastle.crypto.Xof.update:([BII)V
10: .line 358
aload 0 /* d */
aload 7 /* m */
iload 8 /* mOff */
iload 9 /* mLen */
invokeinterface org.bouncycastle.crypto.Xof.update:([BII)V
11: .line 359
aload 0 /* d */
aload 1 /* h */
iconst_0
aload 1 /* h */
arraylength
invokeinterface org.bouncycastle.crypto.Xof.doFinal:([BII)I
pop
12: .line 361
aload 1 /* h */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.reduceScalar:([B)[B
astore 14 /* k */
start local 14 // byte[] k
13: .line 362
aload 12 /* r */
aload 14 /* k */
aload 2 /* s */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.calculateS:([B[B[B)[B
astore 15 /* S */
start local 15 // byte[] S
14: .line 364
aload 13 /* R */
iconst_0
aload 10 /* sig */
iload 11 /* sigOff */
bipush 57
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
15: .line 365
aload 15 /* S */
iconst_0
aload 10 /* sig */
iload 11 /* sigOff */
bipush 57
iadd
bipush 57
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
16: .line 366
return
end local 15 // byte[] S
end local 14 // byte[] k
end local 13 // byte[] R
end local 12 // byte[] r
end local 11 // int sigOff
end local 10 // byte[] sig
end local 9 // int mLen
end local 8 // int mOff
end local 7 // byte[] m
end local 6 // byte phflag
end local 5 // byte[] ctx
end local 4 // int pkOff
end local 3 // byte[] pk
end local 2 // byte[] s
end local 1 // byte[] h
end local 0 // org.bouncycastle.crypto.Xof d
LocalVariableTable:
Start End Slot Name Signature
0 17 0 d Lorg/bouncycastle/crypto/Xof;
0 17 1 h [B
0 17 2 s [B
0 17 3 pk [B
0 17 4 pkOff I
0 17 5 ctx [B
0 17 6 phflag B
0 17 7 m [B
0 17 8 mOff I
0 17 9 mLen I
0 17 10 sig [B
0 17 11 sigOff I
5 17 12 r [B
6 17 13 R [B
13 17 14 k [B
14 17 15 S [B
MethodParameters:
Name Flags
d
h
s
pk
pkOff
ctx
phflag
m
mOff
mLen
sig
sigOff
private static void implSign(byte[], int, byte[], byte, byte[], int, int, byte[], int);
descriptor: ([BI[BB[BII[BI)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=12, locals=13, args_size=9
start local 0 // byte[] sk
start local 1 // int skOff
start local 2 // byte[] ctx
start local 3 // byte phflag
start local 4 // byte[] m
start local 5 // int mOff
start local 6 // int mLen
start local 7 // byte[] sig
start local 8 // int sigOff
0: .line 371
aload 2 /* ctx */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.checkContextVar:([B)Z
ifne 2
1: .line 373
new java.lang.IllegalArgumentException
dup
ldc "ctx"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: .line 376
StackMap locals:
StackMap stack:
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.createXof:()Lorg/bouncycastle/crypto/Xof;
astore 9 /* d */
start local 9 // org.bouncycastle.crypto.Xof d
3: .line 377
bipush 114
newarray 8
astore 10 /* h */
start local 10 // byte[] h
4: .line 379
aload 9 /* d */
aload 0 /* sk */
iload 1 /* skOff */
bipush 57
invokeinterface org.bouncycastle.crypto.Xof.update:([BII)V
5: .line 380
aload 9 /* d */
aload 10 /* h */
iconst_0
aload 10 /* h */
arraylength
invokeinterface org.bouncycastle.crypto.Xof.doFinal:([BII)I
pop
6: .line 382
bipush 57
newarray 8
astore 11 /* s */
start local 11 // byte[] s
7: .line 383
aload 10 /* h */
iconst_0
aload 11 /* s */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.pruneScalar:([BI[B)V
8: .line 385
bipush 57
newarray 8
astore 12 /* pk */
start local 12 // byte[] pk
9: .line 386
aload 11 /* s */
aload 12 /* pk */
iconst_0
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.scalarMultBaseEncoded:([B[BI)V
10: .line 388
aload 9 /* d */
aload 10 /* h */
aload 11 /* s */
aload 12 /* pk */
iconst_0
aload 2 /* ctx */
iload 3 /* phflag */
aload 4 /* m */
iload 5 /* mOff */
iload 6 /* mLen */
aload 7 /* sig */
iload 8 /* sigOff */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.implSign:(Lorg/bouncycastle/crypto/Xof;[B[B[BI[BB[BII[BI)V
11: .line 389
return
end local 12 // byte[] pk
end local 11 // byte[] s
end local 10 // byte[] h
end local 9 // org.bouncycastle.crypto.Xof d
end local 8 // int sigOff
end local 7 // byte[] sig
end local 6 // int mLen
end local 5 // int mOff
end local 4 // byte[] m
end local 3 // byte phflag
end local 2 // byte[] ctx
end local 1 // int skOff
end local 0 // byte[] sk
LocalVariableTable:
Start End Slot Name Signature
0 12 0 sk [B
0 12 1 skOff I
0 12 2 ctx [B
0 12 3 phflag B
0 12 4 m [B
0 12 5 mOff I
0 12 6 mLen I
0 12 7 sig [B
0 12 8 sigOff I
3 12 9 d Lorg/bouncycastle/crypto/Xof;
4 12 10 h [B
7 12 11 s [B
9 12 12 pk [B
MethodParameters:
Name Flags
sk
skOff
ctx
phflag
m
mOff
mLen
sig
sigOff
private static void implSign(byte[], int, byte[], int, byte[], byte, byte[], int, int, byte[], int);
descriptor: ([BI[BI[BB[BII[BI)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=12, locals=14, args_size=11
start local 0 // byte[] sk
start local 1 // int skOff
start local 2 // byte[] pk
start local 3 // int pkOff
start local 4 // byte[] ctx
start local 5 // byte phflag
start local 6 // byte[] m
start local 7 // int mOff
start local 8 // int mLen
start local 9 // byte[] sig
start local 10 // int sigOff
0: .line 394
aload 4 /* ctx */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.checkContextVar:([B)Z
ifne 2
1: .line 396
new java.lang.IllegalArgumentException
dup
ldc "ctx"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: .line 399
StackMap locals:
StackMap stack:
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.createXof:()Lorg/bouncycastle/crypto/Xof;
astore 11 /* d */
start local 11 // org.bouncycastle.crypto.Xof d
3: .line 400
bipush 114
newarray 8
astore 12 /* h */
start local 12 // byte[] h
4: .line 402
aload 11 /* d */
aload 0 /* sk */
iload 1 /* skOff */
bipush 57
invokeinterface org.bouncycastle.crypto.Xof.update:([BII)V
5: .line 403
aload 11 /* d */
aload 12 /* h */
iconst_0
aload 12 /* h */
arraylength
invokeinterface org.bouncycastle.crypto.Xof.doFinal:([BII)I
pop
6: .line 405
bipush 57
newarray 8
astore 13 /* s */
start local 13 // byte[] s
7: .line 406
aload 12 /* h */
iconst_0
aload 13 /* s */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.pruneScalar:([BI[B)V
8: .line 408
aload 11 /* d */
aload 12 /* h */
aload 13 /* s */
aload 2 /* pk */
iload 3 /* pkOff */
aload 4 /* ctx */
iload 5 /* phflag */
aload 6 /* m */
iload 7 /* mOff */
iload 8 /* mLen */
aload 9 /* sig */
iload 10 /* sigOff */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.implSign:(Lorg/bouncycastle/crypto/Xof;[B[B[BI[BB[BII[BI)V
9: .line 409
return
end local 13 // byte[] s
end local 12 // byte[] h
end local 11 // org.bouncycastle.crypto.Xof d
end local 10 // int sigOff
end local 9 // byte[] sig
end local 8 // int mLen
end local 7 // int mOff
end local 6 // byte[] m
end local 5 // byte phflag
end local 4 // byte[] ctx
end local 3 // int pkOff
end local 2 // byte[] pk
end local 1 // int skOff
end local 0 // byte[] sk
LocalVariableTable:
Start End Slot Name Signature
0 10 0 sk [B
0 10 1 skOff I
0 10 2 pk [B
0 10 3 pkOff I
0 10 4 ctx [B
0 10 5 phflag B
0 10 6 m [B
0 10 7 mOff I
0 10 8 mLen I
0 10 9 sig [B
0 10 10 sigOff I
3 10 11 d Lorg/bouncycastle/crypto/Xof;
4 10 12 h [B
7 10 13 s [B
MethodParameters:
Name Flags
sk
skOff
pk
pkOff
ctx
phflag
m
mOff
mLen
sig
sigOff
private static boolean implVerify(byte[], int, byte[], int, byte[], byte, byte[], int, int);
descriptor: ([BI[BI[BB[BII)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=19, args_size=9
start local 0 // byte[] sig
start local 1 // int sigOff
start local 2 // byte[] pk
start local 3 // int pkOff
start local 4 // byte[] ctx
start local 5 // byte phflag
start local 6 // byte[] m
start local 7 // int mOff
start local 8 // int mLen
0: .line 414
aload 4 /* ctx */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.checkContextVar:([B)Z
ifne 2
1: .line 416
new java.lang.IllegalArgumentException
dup
ldc "ctx"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: .line 419
StackMap locals:
StackMap stack:
aload 0 /* sig */
iload 1 /* sigOff */
iload 1 /* sigOff */
bipush 57
iadd
invokestatic org.bouncycastle.util.Arrays.copyOfRange:([BII)[B
astore 9 /* R */
start local 9 // byte[] R
3: .line 420
aload 0 /* sig */
iload 1 /* sigOff */
bipush 57
iadd
iload 1 /* sigOff */
bipush 114
iadd
invokestatic org.bouncycastle.util.Arrays.copyOfRange:([BII)[B
astore 10 /* S */
start local 10 // byte[] S
4: .line 422
aload 9 /* R */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.checkPointVar:([B)Z
ifne 6
5: .line 424
iconst_0
ireturn
6: .line 426
StackMap locals: byte[] byte[]
StackMap stack:
aload 10 /* S */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.checkScalarVar:([B)Z
ifne 8
7: .line 428
iconst_0
ireturn
8: .line 431
StackMap locals:
StackMap stack:
new org.bouncycastle.math.ec.rfc8032.Ed448$PointExt
dup
invokespecial org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.<init>:()V
astore 11 /* pA */
start local 11 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt pA
9: .line 432
aload 2 /* pk */
iload 3 /* pkOff */
iconst_1
aload 11 /* pA */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decodePointVar:([BIZLorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)Z
ifne 11
10: .line 434
iconst_0
ireturn
11: .line 437
StackMap locals: org.bouncycastle.math.ec.rfc8032.Ed448$PointExt
StackMap stack:
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.createXof:()Lorg/bouncycastle/crypto/Xof;
astore 12 /* d */
start local 12 // org.bouncycastle.crypto.Xof d
12: .line 438
bipush 114
newarray 8
astore 13 /* h */
start local 13 // byte[] h
13: .line 440
aload 12 /* d */
iload 5 /* phflag */
aload 4 /* ctx */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.dom4:(Lorg/bouncycastle/crypto/Xof;B[B)V
14: .line 441
aload 12 /* d */
aload 9 /* R */
iconst_0
bipush 57
invokeinterface org.bouncycastle.crypto.Xof.update:([BII)V
15: .line 442
aload 12 /* d */
aload 2 /* pk */
iload 3 /* pkOff */
bipush 57
invokeinterface org.bouncycastle.crypto.Xof.update:([BII)V
16: .line 443
aload 12 /* d */
aload 6 /* m */
iload 7 /* mOff */
iload 8 /* mLen */
invokeinterface org.bouncycastle.crypto.Xof.update:([BII)V
17: .line 444
aload 12 /* d */
aload 13 /* h */
iconst_0
aload 13 /* h */
arraylength
invokeinterface org.bouncycastle.crypto.Xof.doFinal:([BII)I
pop
18: .line 446
aload 13 /* h */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.reduceScalar:([B)[B
astore 14 /* k */
start local 14 // byte[] k
19: .line 448
bipush 14
newarray 10
astore 15 /* nS */
start local 15 // int[] nS
20: .line 449
aload 10 /* S */
iconst_0
aload 15 /* nS */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decodeScalar:([BI[I)V
21: .line 451
bipush 14
newarray 10
astore 16 /* nA */
start local 16 // int[] nA
22: .line 452
aload 14 /* k */
iconst_0
aload 16 /* nA */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decodeScalar:([BI[I)V
23: .line 454
new org.bouncycastle.math.ec.rfc8032.Ed448$PointExt
dup
invokespecial org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.<init>:()V
astore 17 /* pR */
start local 17 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt pR
24: .line 455
aload 15 /* nS */
aload 16 /* nA */
aload 11 /* pA */
aload 17 /* pR */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.scalarMultStraussVar:([I[ILorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)V
25: .line 457
bipush 57
newarray 8
astore 18 /* check */
start local 18 // byte[] check
26: .line 458
aload 17 /* pR */
aload 18 /* check */
iconst_0
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.encodePoint:(Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;[BI)V
27: .line 460
aload 18 /* check */
aload 9 /* R */
invokestatic org.bouncycastle.util.Arrays.areEqual:([B[B)Z
ireturn
end local 18 // byte[] check
end local 17 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt pR
end local 16 // int[] nA
end local 15 // int[] nS
end local 14 // byte[] k
end local 13 // byte[] h
end local 12 // org.bouncycastle.crypto.Xof d
end local 11 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt pA
end local 10 // byte[] S
end local 9 // byte[] R
end local 8 // int mLen
end local 7 // int mOff
end local 6 // byte[] m
end local 5 // byte phflag
end local 4 // byte[] ctx
end local 3 // int pkOff
end local 2 // byte[] pk
end local 1 // int sigOff
end local 0 // byte[] sig
LocalVariableTable:
Start End Slot Name Signature
0 28 0 sig [B
0 28 1 sigOff I
0 28 2 pk [B
0 28 3 pkOff I
0 28 4 ctx [B
0 28 5 phflag B
0 28 6 m [B
0 28 7 mOff I
0 28 8 mLen I
3 28 9 R [B
4 28 10 S [B
9 28 11 pA Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
12 28 12 d Lorg/bouncycastle/crypto/Xof;
13 28 13 h [B
19 28 14 k [B
20 28 15 nS [I
22 28 16 nA [I
24 28 17 pR Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
26 28 18 check [B
MethodParameters:
Name Flags
sig
sigOff
pk
pkOff
ctx
phflag
m
mOff
mLen
private static void pointAddVar(boolean, org.bouncycastle.math.ec.rfc8032.Ed448$PointExt, org.bouncycastle.math.ec.rfc8032.Ed448$PointExt);
descriptor: (ZLorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=15, args_size=3
start local 0 // boolean negate
start local 1 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt p
start local 2 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt r
0: .line 465
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.create:()[I
astore 3 /* A */
start local 3 // int[] A
1: .line 466
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.create:()[I
astore 4 /* B */
start local 4 // int[] B
2: .line 467
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.create:()[I
astore 5 /* C */
start local 5 // int[] C
3: .line 468
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.create:()[I
astore 6 /* D */
start local 6 // int[] D
4: .line 469
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.create:()[I
astore 7 /* E */
start local 7 // int[] E
5: .line 470
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.create:()[I
astore 8 /* F */
start local 8 // int[] F
6: .line 471
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.create:()[I
astore 9 /* G */
start local 9 // int[] G
7: .line 472
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.create:()[I
astore 10 /* H */
start local 10 // int[] H
8: .line 475
iload 0 /* negate */
ifeq 15
9: .line 477
aload 7 /* E */
astore 11 /* b */
start local 11 // int[] b
10: aload 4 /* B */
astore 12 /* e */
start local 12 // int[] e
11: aload 9 /* G */
astore 13 /* f */
start local 13 // int[] f
12: aload 8 /* F */
astore 14 /* g */
start local 14 // int[] g
13: .line 478
aload 1 /* p */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.y:[I
aload 1 /* p */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.x:[I
aload 10 /* H */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.sub:([I[I[I)V
14: .line 479
goto 20
end local 14 // int[] g
end local 13 // int[] f
end local 12 // int[] e
end local 11 // int[] b
15: .line 482
StackMap locals: int org.bouncycastle.math.ec.rfc8032.Ed448$PointExt org.bouncycastle.math.ec.rfc8032.Ed448$PointExt int[] int[] int[] int[] int[] int[] int[] int[]
StackMap stack:
aload 4 /* B */
astore 11 /* b */
start local 11 // int[] b
16: aload 7 /* E */
astore 12 /* e */
start local 12 // int[] e
17: aload 8 /* F */
astore 13 /* f */
start local 13 // int[] f
18: aload 9 /* G */
astore 14 /* g */
start local 14 // int[] g
19: .line 483
aload 1 /* p */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.y:[I
aload 1 /* p */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.x:[I
aload 10 /* H */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.add:([I[I[I)V
20: .line 486
StackMap locals: int org.bouncycastle.math.ec.rfc8032.Ed448$PointExt org.bouncycastle.math.ec.rfc8032.Ed448$PointExt int[] int[] int[] int[] int[] int[] int[] int[] int[] int[] int[] int[]
StackMap stack:
aload 1 /* p */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.z:[I
aload 2 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.z:[I
aload 3 /* A */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.mul:([I[I[I)V
21: .line 487
aload 3 /* A */
aload 4 /* B */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.sqr:([I[I)V
22: .line 488
aload 1 /* p */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.x:[I
aload 2 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.x:[I
aload 5 /* C */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.mul:([I[I[I)V
23: .line 489
aload 1 /* p */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.y:[I
aload 2 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.y:[I
aload 6 /* D */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.mul:([I[I[I)V
24: .line 490
aload 5 /* C */
aload 6 /* D */
aload 7 /* E */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.mul:([I[I[I)V
25: .line 491
aload 7 /* E */
ldc 39081
aload 7 /* E */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.mul:([II[I)V
26: .line 493
aload 4 /* B */
aload 7 /* E */
aload 13 /* f */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.add:([I[I[I)V
27: .line 494
aload 4 /* B */
aload 7 /* E */
aload 14 /* g */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.sub:([I[I[I)V
28: .line 495
aload 2 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.x:[I
aload 2 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.y:[I
aload 7 /* E */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.add:([I[I[I)V
29: .line 496
aload 10 /* H */
aload 7 /* E */
aload 10 /* H */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.mul:([I[I[I)V
30: .line 498
aload 6 /* D */
aload 5 /* C */
aload 11 /* b */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.add:([I[I[I)V
31: .line 499
aload 6 /* D */
aload 5 /* C */
aload 12 /* e */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.sub:([I[I[I)V
32: .line 500
aload 11 /* b */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.carry:([I)V
33: .line 501
aload 10 /* H */
aload 4 /* B */
aload 10 /* H */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.sub:([I[I[I)V
34: .line 502
aload 10 /* H */
aload 3 /* A */
aload 10 /* H */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.mul:([I[I[I)V
35: .line 503
aload 7 /* E */
aload 3 /* A */
aload 7 /* E */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.mul:([I[I[I)V
36: .line 504
aload 8 /* F */
aload 10 /* H */
aload 2 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.x:[I
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.mul:([I[I[I)V
37: .line 505
aload 7 /* E */
aload 9 /* G */
aload 2 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.y:[I
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.mul:([I[I[I)V
38: .line 506
aload 8 /* F */
aload 9 /* G */
aload 2 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.z:[I
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.mul:([I[I[I)V
39: .line 507
return
end local 14 // int[] g
end local 13 // int[] f
end local 12 // int[] e
end local 11 // int[] b
end local 10 // int[] H
end local 9 // int[] G
end local 8 // int[] F
end local 7 // int[] E
end local 6 // int[] D
end local 5 // int[] C
end local 4 // int[] B
end local 3 // int[] A
end local 2 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt r
end local 1 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt p
end local 0 // boolean negate
LocalVariableTable:
Start End Slot Name Signature
0 40 0 negate Z
0 40 1 p Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
0 40 2 r Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
1 40 3 A [I
2 40 4 B [I
3 40 5 C [I
4 40 6 D [I
5 40 7 E [I
6 40 8 F [I
7 40 9 G [I
8 40 10 H [I
10 15 11 b [I
16 40 11 b [I
11 15 12 e [I
17 40 12 e [I
12 15 13 f [I
18 40 13 f [I
13 15 14 g [I
19 40 14 g [I
MethodParameters:
Name Flags
negate
p
r
private static void pointAddPrecomp(org.bouncycastle.math.ec.rfc8032.Ed448$PointPrecomp, org.bouncycastle.math.ec.rfc8032.Ed448$PointExt);
descriptor: (Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointPrecomp;Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=9, args_size=2
start local 0 // org.bouncycastle.math.ec.rfc8032.Ed448$PointPrecomp p
start local 1 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt r
0: .line 511
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.create:()[I
astore 2 /* B */
start local 2 // int[] B
1: .line 512
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.create:()[I
astore 3 /* C */
start local 3 // int[] C
2: .line 513
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.create:()[I
astore 4 /* D */
start local 4 // int[] D
3: .line 514
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.create:()[I
astore 5 /* E */
start local 5 // int[] E
4: .line 515
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.create:()[I
astore 6 /* F */
start local 6 // int[] F
5: .line 516
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.create:()[I
astore 7 /* G */
start local 7 // int[] G
6: .line 517
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.create:()[I
astore 8 /* H */
start local 8 // int[] H
7: .line 519
aload 1 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.z:[I
aload 2 /* B */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.sqr:([I[I)V
8: .line 520
aload 0 /* p */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointPrecomp.x:[I
aload 1 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.x:[I
aload 3 /* C */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.mul:([I[I[I)V
9: .line 521
aload 0 /* p */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointPrecomp.y:[I
aload 1 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.y:[I
aload 4 /* D */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.mul:([I[I[I)V
10: .line 522
aload 3 /* C */
aload 4 /* D */
aload 5 /* E */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.mul:([I[I[I)V
11: .line 523
aload 5 /* E */
ldc 39081
aload 5 /* E */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.mul:([II[I)V
12: .line 525
aload 2 /* B */
aload 5 /* E */
aload 6 /* F */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.add:([I[I[I)V
13: .line 526
aload 2 /* B */
aload 5 /* E */
aload 7 /* G */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.sub:([I[I[I)V
14: .line 527
aload 0 /* p */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointPrecomp.x:[I
aload 0 /* p */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointPrecomp.y:[I
aload 2 /* B */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.add:([I[I[I)V
15: .line 528
aload 1 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.x:[I
aload 1 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.y:[I
aload 5 /* E */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.add:([I[I[I)V
16: .line 529
aload 2 /* B */
aload 5 /* E */
aload 8 /* H */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.mul:([I[I[I)V
17: .line 531
aload 4 /* D */
aload 3 /* C */
aload 2 /* B */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.add:([I[I[I)V
18: .line 532
aload 4 /* D */
aload 3 /* C */
aload 5 /* E */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.sub:([I[I[I)V
19: .line 533
aload 2 /* B */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.carry:([I)V
20: .line 534
aload 8 /* H */
aload 2 /* B */
aload 8 /* H */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.sub:([I[I[I)V
21: .line 535
aload 8 /* H */
aload 1 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.z:[I
aload 8 /* H */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.mul:([I[I[I)V
22: .line 536
aload 5 /* E */
aload 1 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.z:[I
aload 5 /* E */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.mul:([I[I[I)V
23: .line 537
aload 6 /* F */
aload 8 /* H */
aload 1 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.x:[I
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.mul:([I[I[I)V
24: .line 538
aload 5 /* E */
aload 7 /* G */
aload 1 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.y:[I
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.mul:([I[I[I)V
25: .line 539
aload 6 /* F */
aload 7 /* G */
aload 1 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.z:[I
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.mul:([I[I[I)V
26: .line 540
return
end local 8 // int[] H
end local 7 // int[] G
end local 6 // int[] F
end local 5 // int[] E
end local 4 // int[] D
end local 3 // int[] C
end local 2 // int[] B
end local 1 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt r
end local 0 // org.bouncycastle.math.ec.rfc8032.Ed448$PointPrecomp p
LocalVariableTable:
Start End Slot Name Signature
0 27 0 p Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointPrecomp;
0 27 1 r Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
1 27 2 B [I
2 27 3 C [I
3 27 4 D [I
4 27 5 E [I
5 27 6 F [I
6 27 7 G [I
7 27 8 H [I
MethodParameters:
Name Flags
p
r
private static org.bouncycastle.math.ec.rfc8032.Ed448$PointExt pointCopy(org.bouncycastle.math.ec.rfc8032.Ed448$PointExt);
descriptor: (Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt p
0: .line 544
new org.bouncycastle.math.ec.rfc8032.Ed448$PointExt
dup
invokespecial org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.<init>:()V
astore 1 /* r */
start local 1 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt r
1: .line 545
aload 0 /* p */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.x:[I
iconst_0
aload 1 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.x:[I
iconst_0
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.copy:([II[II)V
2: .line 546
aload 0 /* p */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.y:[I
iconst_0
aload 1 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.y:[I
iconst_0
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.copy:([II[II)V
3: .line 547
aload 0 /* p */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.z:[I
iconst_0
aload 1 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.z:[I
iconst_0
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.copy:([II[II)V
4: .line 548
aload 1 /* r */
areturn
end local 1 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt r
end local 0 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt p
LocalVariableTable:
Start End Slot Name Signature
0 5 0 p Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
1 5 1 r Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
MethodParameters:
Name Flags
p
private static void pointDouble(org.bouncycastle.math.ec.rfc8032.Ed448$PointExt);
descriptor: (Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, args_size=1
start local 0 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt r
0: .line 553
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.create:()[I
astore 1 /* B */
start local 1 // int[] B
1: .line 554
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.create:()[I
astore 2 /* C */
start local 2 // int[] C
2: .line 555
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.create:()[I
astore 3 /* D */
start local 3 // int[] D
3: .line 556
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.create:()[I
astore 4 /* E */
start local 4 // int[] E
4: .line 557
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.create:()[I
astore 5 /* H */
start local 5 // int[] H
5: .line 558
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.create:()[I
astore 6 /* J */
start local 6 // int[] J
6: .line 560
aload 0 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.x:[I
aload 0 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.y:[I
aload 1 /* B */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.add:([I[I[I)V
7: .line 561
aload 1 /* B */
aload 1 /* B */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.sqr:([I[I)V
8: .line 562
aload 0 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.x:[I
aload 2 /* C */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.sqr:([I[I)V
9: .line 563
aload 0 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.y:[I
aload 3 /* D */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.sqr:([I[I)V
10: .line 564
aload 2 /* C */
aload 3 /* D */
aload 4 /* E */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.add:([I[I[I)V
11: .line 565
aload 4 /* E */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.carry:([I)V
12: .line 566
aload 0 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.z:[I
aload 5 /* H */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.sqr:([I[I)V
13: .line 567
aload 5 /* H */
aload 5 /* H */
aload 5 /* H */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.add:([I[I[I)V
14: .line 568
aload 5 /* H */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.carry:([I)V
15: .line 569
aload 4 /* E */
aload 5 /* H */
aload 6 /* J */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.sub:([I[I[I)V
16: .line 570
aload 1 /* B */
aload 4 /* E */
aload 1 /* B */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.sub:([I[I[I)V
17: .line 571
aload 2 /* C */
aload 3 /* D */
aload 2 /* C */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.sub:([I[I[I)V
18: .line 572
aload 1 /* B */
aload 6 /* J */
aload 0 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.x:[I
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.mul:([I[I[I)V
19: .line 573
aload 4 /* E */
aload 2 /* C */
aload 0 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.y:[I
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.mul:([I[I[I)V
20: .line 574
aload 4 /* E */
aload 6 /* J */
aload 0 /* r */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.z:[I
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.mul:([I[I[I)V
21: .line 575
return
end local 6 // int[] J
end local 5 // int[] H
end local 4 // int[] E
end local 3 // int[] D
end local 2 // int[] C
end local 1 // int[] B
end local 0 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt r
LocalVariableTable:
Start End Slot Name Signature
0 22 0 r Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
1 22 1 B [I
2 22 2 C [I
3 22 3 D [I
4 22 4 E [I
5 22 5 H [I
6 22 6 J [I
MethodParameters:
Name Flags
r
private static void pointExtendXY(org.bouncycastle.math.ec.rfc8032.Ed448$PointExt);
descriptor: (Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt p
0: .line 579
aload 0 /* p */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.z:[I
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.one:([I)V
1: .line 580
return
end local 0 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt p
LocalVariableTable:
Start End Slot Name Signature
0 2 0 p Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
MethodParameters:
Name Flags
p
private static void pointLookup(int, int, org.bouncycastle.math.ec.rfc8032.Ed448$PointPrecomp);
descriptor: (IILorg/bouncycastle/math/ec/rfc8032/Ed448$PointPrecomp;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=6, args_size=3
start local 0 // int block
start local 1 // int index
start local 2 // org.bouncycastle.math.ec.rfc8032.Ed448$PointPrecomp p
0: .line 587
iload 0 /* block */
bipush 16
imul
iconst_2
imul
bipush 16
imul
istore 3 /* off */
start local 3 // int off
1: .line 589
iconst_0
istore 4 /* i */
start local 4 // int i
2: goto 7
3: .line 591
StackMap locals: int int
StackMap stack:
iload 4 /* i */
iload 1 /* index */
ixor
iconst_1
isub
bipush 31
ishr
istore 5 /* mask */
start local 5 // int mask
4: .line 592
bipush 16
iload 5 /* mask */
getstatic org.bouncycastle.math.ec.rfc8032.Ed448.precompBase:[I
iload 3 /* off */
aload 2 /* p */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointPrecomp.x:[I
iconst_0
invokestatic org.bouncycastle.math.raw.Nat.cmov:(II[II[II)V
iinc 3 /* off */ 16
5: .line 593
bipush 16
iload 5 /* mask */
getstatic org.bouncycastle.math.ec.rfc8032.Ed448.precompBase:[I
iload 3 /* off */
aload 2 /* p */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointPrecomp.y:[I
iconst_0
invokestatic org.bouncycastle.math.raw.Nat.cmov:(II[II[II)V
iinc 3 /* off */ 16
end local 5 // int mask
6: .line 589
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
7: iload 4 /* i */
bipush 16
if_icmplt 3
end local 4 // int i
8: .line 595
return
end local 3 // int off
end local 2 // org.bouncycastle.math.ec.rfc8032.Ed448$PointPrecomp p
end local 1 // int index
end local 0 // int block
LocalVariableTable:
Start End Slot Name Signature
0 9 0 block I
0 9 1 index I
0 9 2 p Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointPrecomp;
1 9 3 off I
2 8 4 i I
4 6 5 mask I
MethodParameters:
Name Flags
block
index
p
private static org.bouncycastle.math.ec.rfc8032.Ed448$PointExt[] pointPrecompVar(org.bouncycastle.math.ec.rfc8032.Ed448$PointExt, int);
descriptor: (Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;I)[Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=2
start local 0 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt p
start local 1 // int count
0: .line 601
aload 0 /* p */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.pointCopy:(Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
astore 2 /* d */
start local 2 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt d
1: .line 602
aload 2 /* d */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.pointDouble:(Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)V
2: .line 604
iload 1 /* count */
anewarray org.bouncycastle.math.ec.rfc8032.Ed448$PointExt
astore 3 /* table */
start local 3 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt[] table
3: .line 605
aload 3 /* table */
iconst_0
aload 0 /* p */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.pointCopy:(Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
aastore
4: .line 606
iconst_1
istore 4 /* i */
start local 4 // int i
5: goto 9
6: .line 608
StackMap locals: org.bouncycastle.math.ec.rfc8032.Ed448$PointExt org.bouncycastle.math.ec.rfc8032.Ed448$PointExt[] int
StackMap stack:
aload 3 /* table */
iload 4 /* i */
aload 3 /* table */
iload 4 /* i */
iconst_1
isub
aaload
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.pointCopy:(Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
aastore
7: .line 609
iconst_0
aload 2 /* d */
aload 3 /* table */
iload 4 /* i */
aaload
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.pointAddVar:(ZLorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)V
8: .line 606
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
9: iload 4 /* i */
iload 1 /* count */
if_icmplt 6
end local 4 // int i
10: .line 611
aload 3 /* table */
areturn
end local 3 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt[] table
end local 2 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt d
end local 1 // int count
end local 0 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt p
LocalVariableTable:
Start End Slot Name Signature
0 11 0 p Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
0 11 1 count I
1 11 2 d Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
3 11 3 table [Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
5 10 4 i I
MethodParameters:
Name Flags
p
count
private static void pointSetNeutral(org.bouncycastle.math.ec.rfc8032.Ed448$PointExt);
descriptor: (Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt p
0: .line 616
aload 0 /* p */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.x:[I
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.zero:([I)V
1: .line 617
aload 0 /* p */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.y:[I
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.one:([I)V
2: .line 618
aload 0 /* p */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.z:[I
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.one:([I)V
3: .line 619
return
end local 0 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt p
LocalVariableTable:
Start End Slot Name Signature
0 4 0 p Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
MethodParameters:
Name Flags
p
public static void precompute();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=11, args_size=0
0: .line 623
getstatic org.bouncycastle.math.ec.rfc8032.Ed448.precompLock:Ljava/lang/Object;
dup
astore 0
monitorenter
1: .line 625
getstatic org.bouncycastle.math.ec.rfc8032.Ed448.precompBase:[I
ifnull 4
2: .line 627
aload 0
monitorexit
3: return
4: .line 630
StackMap locals: java.lang.Object
StackMap stack:
new org.bouncycastle.math.ec.rfc8032.Ed448$PointExt
dup
invokespecial org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.<init>:()V
astore 1 /* p */
start local 1 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt p
5: .line 631
getstatic org.bouncycastle.math.ec.rfc8032.Ed448.B_x:[I
iconst_0
aload 1 /* p */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.x:[I
iconst_0
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.copy:([II[II)V
6: .line 632
getstatic org.bouncycastle.math.ec.rfc8032.Ed448.B_y:[I
iconst_0
aload 1 /* p */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.y:[I
iconst_0
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.copy:([II[II)V
7: .line 633
aload 1 /* p */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.pointExtendXY:(Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)V
8: .line 635
aload 1 /* p */
bipush 32
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.pointPrecompVar:(Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;I)[Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
putstatic org.bouncycastle.math.ec.rfc8032.Ed448.precompBaseTable:[Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
9: .line 637
sipush 2560
newarray 10
putstatic org.bouncycastle.math.ec.rfc8032.Ed448.precompBase:[I
10: .line 639
iconst_0
istore 2 /* off */
start local 2 // int off
11: .line 640
iconst_0
istore 3 /* b */
start local 3 // int b
12: goto 54
13: .line 642
StackMap locals: org.bouncycastle.math.ec.rfc8032.Ed448$PointExt int int
StackMap stack:
iconst_5
anewarray org.bouncycastle.math.ec.rfc8032.Ed448$PointExt
astore 4 /* ds */
start local 4 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt[] ds
14: .line 644
new org.bouncycastle.math.ec.rfc8032.Ed448$PointExt
dup
invokespecial org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.<init>:()V
astore 5 /* sum */
start local 5 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt sum
15: .line 645
aload 5 /* sum */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.pointSetNeutral:(Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)V
16: .line 647
iconst_0
istore 6 /* t */
start local 6 // int t
17: goto 28
18: .line 649
StackMap locals: org.bouncycastle.math.ec.rfc8032.Ed448$PointExt[] org.bouncycastle.math.ec.rfc8032.Ed448$PointExt int
StackMap stack:
iconst_1
aload 1 /* p */
aload 5 /* sum */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.pointAddVar:(ZLorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)V
19: .line 650
aload 1 /* p */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.pointDouble:(Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)V
20: .line 652
aload 4 /* ds */
iload 6 /* t */
aload 1 /* p */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.pointCopy:(Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
aastore
21: .line 654
iload 3 /* b */
iload 6 /* t */
iadd
bipush 8
if_icmpeq 27
22: .line 656
iconst_1
istore 7 /* s */
start local 7 // int s
23: goto 26
24: .line 658
StackMap locals: int
StackMap stack:
aload 1 /* p */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.pointDouble:(Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)V
25: .line 656
iinc 7 /* s */ 1
StackMap locals:
StackMap stack:
26: iload 7 /* s */
bipush 18
if_icmplt 24
end local 7 // int s
27: .line 647
StackMap locals:
StackMap stack:
iinc 6 /* t */ 1
StackMap locals:
StackMap stack:
28: iload 6 /* t */
iconst_5
if_icmplt 18
end local 6 // int t
29: .line 663
bipush 16
anewarray org.bouncycastle.math.ec.rfc8032.Ed448$PointExt
astore 6 /* points */
start local 6 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt[] points
30: .line 664
iconst_0
istore 7 /* k */
start local 7 // int k
31: .line 665
aload 6 /* points */
iload 7 /* k */
iinc 7 /* k */ 1
aload 5 /* sum */
aastore
32: .line 667
iconst_0
istore 8 /* t */
start local 8 // int t
33: goto 42
34: .line 669
StackMap locals: java.lang.Object org.bouncycastle.math.ec.rfc8032.Ed448$PointExt int int org.bouncycastle.math.ec.rfc8032.Ed448$PointExt[] org.bouncycastle.math.ec.rfc8032.Ed448$PointExt org.bouncycastle.math.ec.rfc8032.Ed448$PointExt[] int int
StackMap stack:
iconst_1
iload 8 /* t */
ishl
istore 9 /* size */
start local 9 // int size
35: .line 670
iconst_0
istore 10 /* j */
start local 10 // int j
36: goto 40
37: .line 672
StackMap locals: int int
StackMap stack:
aload 6 /* points */
iload 7 /* k */
aload 6 /* points */
iload 7 /* k */
iload 9 /* size */
isub
aaload
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.pointCopy:(Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
aastore
38: .line 673
iconst_0
aload 4 /* ds */
iload 8 /* t */
aaload
aload 6 /* points */
iload 7 /* k */
aaload
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.pointAddVar:(ZLorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)V
39: .line 670
iinc 10 /* j */ 1
iinc 7 /* k */ 1
StackMap locals:
StackMap stack:
40: iload 10 /* j */
iload 9 /* size */
if_icmplt 37
end local 10 // int j
end local 9 // int size
41: .line 667
iinc 8 /* t */ 1
StackMap locals:
StackMap stack:
42: iload 8 /* t */
iconst_4
if_icmplt 34
end local 8 // int t
43: .line 679
iconst_0
istore 8 /* i */
start local 8 // int i
44: goto 52
45: .line 681
StackMap locals:
StackMap stack:
aload 6 /* points */
iload 8 /* i */
aaload
astore 9 /* q */
start local 9 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt q
46: .line 683
aload 9 /* q */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.z:[I
aload 9 /* q */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.z:[I
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.inv:([I[I)V
47: .line 684
aload 9 /* q */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.x:[I
aload 9 /* q */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.z:[I
aload 9 /* q */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.x:[I
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.mul:([I[I[I)V
48: .line 685
aload 9 /* q */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.y:[I
aload 9 /* q */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.z:[I
aload 9 /* q */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.y:[I
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.mul:([I[I[I)V
49: .line 690
aload 9 /* q */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.x:[I
iconst_0
getstatic org.bouncycastle.math.ec.rfc8032.Ed448.precompBase:[I
iload 2 /* off */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.copy:([II[II)V
iinc 2 /* off */ 16
50: .line 691
aload 9 /* q */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.y:[I
iconst_0
getstatic org.bouncycastle.math.ec.rfc8032.Ed448.precompBase:[I
iload 2 /* off */
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.copy:([II[II)V
iinc 2 /* off */ 16
end local 9 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt q
51: .line 679
iinc 8 /* i */ 1
StackMap locals:
StackMap stack:
52: iload 8 /* i */
bipush 16
if_icmplt 45
end local 8 // int i
end local 7 // int k
end local 6 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt[] points
end local 5 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt sum
end local 4 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt[] ds
53: .line 640
iinc 3 /* b */ 1
StackMap locals: java.lang.Object org.bouncycastle.math.ec.rfc8032.Ed448$PointExt int int
StackMap stack:
54: iload 3 /* b */
iconst_5
if_icmplt 13
end local 3 // int b
end local 2 // int off
end local 1 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt p
55: .line 623
aload 0
monitorexit
56: goto 59
StackMap locals: java.lang.Object
StackMap stack: java.lang.Throwable
57: aload 0
monitorexit
58: athrow
59: .line 697
StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
5 55 1 p Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
11 55 2 off I
12 55 3 b I
14 53 4 ds [Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
15 53 5 sum Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
17 29 6 t I
23 27 7 s I
30 53 6 points [Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
31 53 7 k I
33 43 8 t I
35 41 9 size I
36 41 10 j I
44 53 8 i I
46 51 9 q Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
Exception table:
from to target type
1 3 57 any
4 56 57 any
57 58 57 any
private static void pruneScalar(byte[], int, byte[]);
descriptor: ([BI[B)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 // byte[] n
start local 1 // int nOff
start local 2 // byte[] r
0: .line 701
aload 0 /* n */
iload 1 /* nOff */
aload 2 /* r */
iconst_0
bipush 56
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
1: .line 703
aload 2 /* r */
iconst_0
dup2
baload
sipush 252
iand
i2b
bastore
2: .line 704
aload 2 /* r */
bipush 55
dup2
baload
sipush 128
ior
i2b
bastore
3: .line 705
aload 2 /* r */
bipush 56
iconst_0
bastore
4: .line 706
return
end local 2 // byte[] r
end local 1 // int nOff
end local 0 // byte[] n
LocalVariableTable:
Start End Slot Name Signature
0 5 0 n [B
0 5 1 nOff I
0 5 2 r [B
MethodParameters:
Name Flags
n
nOff
r
private static byte[] reduceScalar(byte[]);
descriptor: ([B)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=68, args_size=1
start local 0 // byte[] n
0: .line 710
aload 0 /* n */
iconst_0
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode32:([BI)I
i2l
ldc 4294967295
land
lstore 1 /* x00 */
start local 1 // long x00
1: .line 711
aload 0 /* n */
iconst_4
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode24:([BI)I
iconst_4
ishl
i2l
ldc 4294967295
land
lstore 3 /* x01 */
start local 3 // long x01
2: .line 712
aload 0 /* n */
bipush 7
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode32:([BI)I
i2l
ldc 4294967295
land
lstore 5 /* x02 */
start local 5 // long x02
3: .line 713
aload 0 /* n */
bipush 11
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode24:([BI)I
iconst_4
ishl
i2l
ldc 4294967295
land
lstore 7 /* x03 */
start local 7 // long x03
4: .line 714
aload 0 /* n */
bipush 14
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode32:([BI)I
i2l
ldc 4294967295
land
lstore 9 /* x04 */
start local 9 // long x04
5: .line 715
aload 0 /* n */
bipush 18
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode24:([BI)I
iconst_4
ishl
i2l
ldc 4294967295
land
lstore 11 /* x05 */
start local 11 // long x05
6: .line 716
aload 0 /* n */
bipush 21
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode32:([BI)I
i2l
ldc 4294967295
land
lstore 13 /* x06 */
start local 13 // long x06
7: .line 717
aload 0 /* n */
bipush 25
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode24:([BI)I
iconst_4
ishl
i2l
ldc 4294967295
land
lstore 15 /* x07 */
start local 15 // long x07
8: .line 718
aload 0 /* n */
bipush 28
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode32:([BI)I
i2l
ldc 4294967295
land
lstore 17 /* x08 */
start local 17 // long x08
9: .line 719
aload 0 /* n */
bipush 32
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode24:([BI)I
iconst_4
ishl
i2l
ldc 4294967295
land
lstore 19 /* x09 */
start local 19 // long x09
10: .line 720
aload 0 /* n */
bipush 35
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode32:([BI)I
i2l
ldc 4294967295
land
lstore 21 /* x10 */
start local 21 // long x10
11: .line 721
aload 0 /* n */
bipush 39
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode24:([BI)I
iconst_4
ishl
i2l
ldc 4294967295
land
lstore 23 /* x11 */
start local 23 // long x11
12: .line 722
aload 0 /* n */
bipush 42
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode32:([BI)I
i2l
ldc 4294967295
land
lstore 25 /* x12 */
start local 25 // long x12
13: .line 723
aload 0 /* n */
bipush 46
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode24:([BI)I
iconst_4
ishl
i2l
ldc 4294967295
land
lstore 27 /* x13 */
start local 27 // long x13
14: .line 724
aload 0 /* n */
bipush 49
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode32:([BI)I
i2l
ldc 4294967295
land
lstore 29 /* x14 */
start local 29 // long x14
15: .line 725
aload 0 /* n */
bipush 53
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode24:([BI)I
iconst_4
ishl
i2l
ldc 4294967295
land
lstore 31 /* x15 */
start local 31 // long x15
16: .line 726
aload 0 /* n */
bipush 56
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode32:([BI)I
i2l
ldc 4294967295
land
lstore 33 /* x16 */
start local 33 // long x16
17: .line 727
aload 0 /* n */
bipush 60
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode24:([BI)I
iconst_4
ishl
i2l
ldc 4294967295
land
lstore 35 /* x17 */
start local 35 // long x17
18: .line 728
aload 0 /* n */
bipush 63
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode32:([BI)I
i2l
ldc 4294967295
land
lstore 37 /* x18 */
start local 37 // long x18
19: .line 729
aload 0 /* n */
bipush 67
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode24:([BI)I
iconst_4
ishl
i2l
ldc 4294967295
land
lstore 39 /* x19 */
start local 39 // long x19
20: .line 730
aload 0 /* n */
bipush 70
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode32:([BI)I
i2l
ldc 4294967295
land
lstore 41 /* x20 */
start local 41 // long x20
21: .line 731
aload 0 /* n */
bipush 74
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode24:([BI)I
iconst_4
ishl
i2l
ldc 4294967295
land
lstore 43 /* x21 */
start local 43 // long x21
22: .line 732
aload 0 /* n */
bipush 77
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode32:([BI)I
i2l
ldc 4294967295
land
lstore 45 /* x22 */
start local 45 // long x22
23: .line 733
aload 0 /* n */
bipush 81
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode24:([BI)I
iconst_4
ishl
i2l
ldc 4294967295
land
lstore 47 /* x23 */
start local 47 // long x23
24: .line 734
aload 0 /* n */
bipush 84
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode32:([BI)I
i2l
ldc 4294967295
land
lstore 49 /* x24 */
start local 49 // long x24
25: .line 735
aload 0 /* n */
bipush 88
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode24:([BI)I
iconst_4
ishl
i2l
ldc 4294967295
land
lstore 51 /* x25 */
start local 51 // long x25
26: .line 736
aload 0 /* n */
bipush 91
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode32:([BI)I
i2l
ldc 4294967295
land
lstore 53 /* x26 */
start local 53 // long x26
27: .line 737
aload 0 /* n */
bipush 95
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode24:([BI)I
iconst_4
ishl
i2l
ldc 4294967295
land
lstore 55 /* x27 */
start local 55 // long x27
28: .line 738
aload 0 /* n */
bipush 98
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode32:([BI)I
i2l
ldc 4294967295
land
lstore 57 /* x28 */
start local 57 // long x28
29: .line 739
aload 0 /* n */
bipush 102
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode24:([BI)I
iconst_4
ishl
i2l
ldc 4294967295
land
lstore 59 /* x29 */
start local 59 // long x29
30: .line 740
aload 0 /* n */
bipush 105
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode32:([BI)I
i2l
ldc 4294967295
land
lstore 61 /* x30 */
start local 61 // long x30
31: .line 741
aload 0 /* n */
bipush 109
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode24:([BI)I
iconst_4
ishl
i2l
ldc 4294967295
land
lstore 63 /* x31 */
start local 63 // long x31
32: .line 742
aload 0 /* n */
bipush 112
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decode16:([BI)I
i2l
ldc 4294967295
land
lstore 65 /* x32 */
start local 65 // long x32
33: .line 745
lload 33 /* x16 */
lload 65 /* x32 */
ldc 43969588
lmul
ladd
lstore 33 /* x16 */
34: .line 746
lload 35 /* x17 */
lload 65 /* x32 */
ldc 30366549
lmul
ladd
lstore 35 /* x17 */
35: .line 747
lload 37 /* x18 */
lload 65 /* x32 */
ldc 163752818
lmul
ladd
lstore 37 /* x18 */
36: .line 748
lload 39 /* x19 */
lload 65 /* x32 */
ldc 258169998
lmul
ladd
lstore 39 /* x19 */
37: .line 749
lload 41 /* x20 */
lload 65 /* x32 */
ldc 96434764
lmul
ladd
lstore 41 /* x20 */
38: .line 750
lload 43 /* x21 */
lload 65 /* x32 */
ldc 227822194
lmul
ladd
lstore 43 /* x21 */
39: .line 751
lload 45 /* x22 */
lload 65 /* x32 */
ldc 149865618
lmul
ladd
lstore 45 /* x22 */
40: .line 752
lload 47 /* x23 */
lload 65 /* x32 */
ldc 550336261
lmul
ladd
lstore 47 /* x23 */
41: .line 754
lload 63 /* x31 */
lload 61 /* x30 */
bipush 28
lushr
ladd
lstore 63 /* x31 */
lload 61 /* x30 */
ldc 268435455
land
lstore 61 /* x30 */
42: .line 755
lload 31 /* x15 */
lload 63 /* x31 */
ldc 43969588
lmul
ladd
lstore 31 /* x15 */
43: .line 756
lload 33 /* x16 */
lload 63 /* x31 */
ldc 30366549
lmul
ladd
lstore 33 /* x16 */
44: .line 757
lload 35 /* x17 */
lload 63 /* x31 */
ldc 163752818
lmul
ladd
lstore 35 /* x17 */
45: .line 758
lload 37 /* x18 */
lload 63 /* x31 */
ldc 258169998
lmul
ladd
lstore 37 /* x18 */
46: .line 759
lload 39 /* x19 */
lload 63 /* x31 */
ldc 96434764
lmul
ladd
lstore 39 /* x19 */
47: .line 760
lload 41 /* x20 */
lload 63 /* x31 */
ldc 227822194
lmul
ladd
lstore 41 /* x20 */
48: .line 761
lload 43 /* x21 */
lload 63 /* x31 */
ldc 149865618
lmul
ladd
lstore 43 /* x21 */
49: .line 762
lload 45 /* x22 */
lload 63 /* x31 */
ldc 550336261
lmul
ladd
lstore 45 /* x22 */
50: .line 765
lload 29 /* x14 */
lload 61 /* x30 */
ldc 43969588
lmul
ladd
lstore 29 /* x14 */
51: .line 766
lload 31 /* x15 */
lload 61 /* x30 */
ldc 30366549
lmul
ladd
lstore 31 /* x15 */
52: .line 767
lload 33 /* x16 */
lload 61 /* x30 */
ldc 163752818
lmul
ladd
lstore 33 /* x16 */
53: .line 768
lload 35 /* x17 */
lload 61 /* x30 */
ldc 258169998
lmul
ladd
lstore 35 /* x17 */
54: .line 769
lload 37 /* x18 */
lload 61 /* x30 */
ldc 96434764
lmul
ladd
lstore 37 /* x18 */
55: .line 770
lload 39 /* x19 */
lload 61 /* x30 */
ldc 227822194
lmul
ladd
lstore 39 /* x19 */
56: .line 771
lload 41 /* x20 */
lload 61 /* x30 */
ldc 149865618
lmul
ladd
lstore 41 /* x20 */
57: .line 772
lload 43 /* x21 */
lload 61 /* x30 */
ldc 550336261
lmul
ladd
lstore 43 /* x21 */
58: .line 774
lload 59 /* x29 */
lload 57 /* x28 */
bipush 28
lushr
ladd
lstore 59 /* x29 */
lload 57 /* x28 */
ldc 268435455
land
lstore 57 /* x28 */
59: .line 775
lload 27 /* x13 */
lload 59 /* x29 */
ldc 43969588
lmul
ladd
lstore 27 /* x13 */
60: .line 776
lload 29 /* x14 */
lload 59 /* x29 */
ldc 30366549
lmul
ladd
lstore 29 /* x14 */
61: .line 777
lload 31 /* x15 */
lload 59 /* x29 */
ldc 163752818
lmul
ladd
lstore 31 /* x15 */
62: .line 778
lload 33 /* x16 */
lload 59 /* x29 */
ldc 258169998
lmul
ladd
lstore 33 /* x16 */
63: .line 779
lload 35 /* x17 */
lload 59 /* x29 */
ldc 96434764
lmul
ladd
lstore 35 /* x17 */
64: .line 780
lload 37 /* x18 */
lload 59 /* x29 */
ldc 227822194
lmul
ladd
lstore 37 /* x18 */
65: .line 781
lload 39 /* x19 */
lload 59 /* x29 */
ldc 149865618
lmul
ladd
lstore 39 /* x19 */
66: .line 782
lload 41 /* x20 */
lload 59 /* x29 */
ldc 550336261
lmul
ladd
lstore 41 /* x20 */
67: .line 785
lload 25 /* x12 */
lload 57 /* x28 */
ldc 43969588
lmul
ladd
lstore 25 /* x12 */
68: .line 786
lload 27 /* x13 */
lload 57 /* x28 */
ldc 30366549
lmul
ladd
lstore 27 /* x13 */
69: .line 787
lload 29 /* x14 */
lload 57 /* x28 */
ldc 163752818
lmul
ladd
lstore 29 /* x14 */
70: .line 788
lload 31 /* x15 */
lload 57 /* x28 */
ldc 258169998
lmul
ladd
lstore 31 /* x15 */
71: .line 789
lload 33 /* x16 */
lload 57 /* x28 */
ldc 96434764
lmul
ladd
lstore 33 /* x16 */
72: .line 790
lload 35 /* x17 */
lload 57 /* x28 */
ldc 227822194
lmul
ladd
lstore 35 /* x17 */
73: .line 791
lload 37 /* x18 */
lload 57 /* x28 */
ldc 149865618
lmul
ladd
lstore 37 /* x18 */
74: .line 792
lload 39 /* x19 */
lload 57 /* x28 */
ldc 550336261
lmul
ladd
lstore 39 /* x19 */
75: .line 794
lload 55 /* x27 */
lload 53 /* x26 */
bipush 28
lushr
ladd
lstore 55 /* x27 */
lload 53 /* x26 */
ldc 268435455
land
lstore 53 /* x26 */
76: .line 795
lload 23 /* x11 */
lload 55 /* x27 */
ldc 43969588
lmul
ladd
lstore 23 /* x11 */
77: .line 796
lload 25 /* x12 */
lload 55 /* x27 */
ldc 30366549
lmul
ladd
lstore 25 /* x12 */
78: .line 797
lload 27 /* x13 */
lload 55 /* x27 */
ldc 163752818
lmul
ladd
lstore 27 /* x13 */
79: .line 798
lload 29 /* x14 */
lload 55 /* x27 */
ldc 258169998
lmul
ladd
lstore 29 /* x14 */
80: .line 799
lload 31 /* x15 */
lload 55 /* x27 */
ldc 96434764
lmul
ladd
lstore 31 /* x15 */
81: .line 800
lload 33 /* x16 */
lload 55 /* x27 */
ldc 227822194
lmul
ladd
lstore 33 /* x16 */
82: .line 801
lload 35 /* x17 */
lload 55 /* x27 */
ldc 149865618
lmul
ladd
lstore 35 /* x17 */
83: .line 802
lload 37 /* x18 */
lload 55 /* x27 */
ldc 550336261
lmul
ladd
lstore 37 /* x18 */
84: .line 805
lload 21 /* x10 */
lload 53 /* x26 */
ldc 43969588
lmul
ladd
lstore 21 /* x10 */
85: .line 806
lload 23 /* x11 */
lload 53 /* x26 */
ldc 30366549
lmul
ladd
lstore 23 /* x11 */
86: .line 807
lload 25 /* x12 */
lload 53 /* x26 */
ldc 163752818
lmul
ladd
lstore 25 /* x12 */
87: .line 808
lload 27 /* x13 */
lload 53 /* x26 */
ldc 258169998
lmul
ladd
lstore 27 /* x13 */
88: .line 809
lload 29 /* x14 */
lload 53 /* x26 */
ldc 96434764
lmul
ladd
lstore 29 /* x14 */
89: .line 810
lload 31 /* x15 */
lload 53 /* x26 */
ldc 227822194
lmul
ladd
lstore 31 /* x15 */
90: .line 811
lload 33 /* x16 */
lload 53 /* x26 */
ldc 149865618
lmul
ladd
lstore 33 /* x16 */
91: .line 812
lload 35 /* x17 */
lload 53 /* x26 */
ldc 550336261
lmul
ladd
lstore 35 /* x17 */
92: .line 814
lload 51 /* x25 */
lload 49 /* x24 */
bipush 28
lushr
ladd
lstore 51 /* x25 */
lload 49 /* x24 */
ldc 268435455
land
lstore 49 /* x24 */
93: .line 815
lload 19 /* x09 */
lload 51 /* x25 */
ldc 43969588
lmul
ladd
lstore 19 /* x09 */
94: .line 816
lload 21 /* x10 */
lload 51 /* x25 */
ldc 30366549
lmul
ladd
lstore 21 /* x10 */
95: .line 817
lload 23 /* x11 */
lload 51 /* x25 */
ldc 163752818
lmul
ladd
lstore 23 /* x11 */
96: .line 818
lload 25 /* x12 */
lload 51 /* x25 */
ldc 258169998
lmul
ladd
lstore 25 /* x12 */
97: .line 819
lload 27 /* x13 */
lload 51 /* x25 */
ldc 96434764
lmul
ladd
lstore 27 /* x13 */
98: .line 820
lload 29 /* x14 */
lload 51 /* x25 */
ldc 227822194
lmul
ladd
lstore 29 /* x14 */
99: .line 821
lload 31 /* x15 */
lload 51 /* x25 */
ldc 149865618
lmul
ladd
lstore 31 /* x15 */
100: .line 822
lload 33 /* x16 */
lload 51 /* x25 */
ldc 550336261
lmul
ladd
lstore 33 /* x16 */
101: .line 824
lload 43 /* x21 */
lload 41 /* x20 */
bipush 28
lushr
ladd
lstore 43 /* x21 */
lload 41 /* x20 */
ldc 268435455
land
lstore 41 /* x20 */
102: .line 825
lload 45 /* x22 */
lload 43 /* x21 */
bipush 28
lushr
ladd
lstore 45 /* x22 */
lload 43 /* x21 */
ldc 268435455
land
lstore 43 /* x21 */
103: .line 826
lload 47 /* x23 */
lload 45 /* x22 */
bipush 28
lushr
ladd
lstore 47 /* x23 */
lload 45 /* x22 */
ldc 268435455
land
lstore 45 /* x22 */
104: .line 827
lload 49 /* x24 */
lload 47 /* x23 */
bipush 28
lushr
ladd
lstore 49 /* x24 */
lload 47 /* x23 */
ldc 268435455
land
lstore 47 /* x23 */
105: .line 829
lload 17 /* x08 */
lload 49 /* x24 */
ldc 43969588
lmul
ladd
lstore 17 /* x08 */
106: .line 830
lload 19 /* x09 */
lload 49 /* x24 */
ldc 30366549
lmul
ladd
lstore 19 /* x09 */
107: .line 831
lload 21 /* x10 */
lload 49 /* x24 */
ldc 163752818
lmul
ladd
lstore 21 /* x10 */
108: .line 832
lload 23 /* x11 */
lload 49 /* x24 */
ldc 258169998
lmul
ladd
lstore 23 /* x11 */
109: .line 833
lload 25 /* x12 */
lload 49 /* x24 */
ldc 96434764
lmul
ladd
lstore 25 /* x12 */
110: .line 834
lload 27 /* x13 */
lload 49 /* x24 */
ldc 227822194
lmul
ladd
lstore 27 /* x13 */
111: .line 835
lload 29 /* x14 */
lload 49 /* x24 */
ldc 149865618
lmul
ladd
lstore 29 /* x14 */
112: .line 836
lload 31 /* x15 */
lload 49 /* x24 */
ldc 550336261
lmul
ladd
lstore 31 /* x15 */
113: .line 838
lload 15 /* x07 */
lload 47 /* x23 */
ldc 43969588
lmul
ladd
lstore 15 /* x07 */
114: .line 839
lload 17 /* x08 */
lload 47 /* x23 */
ldc 30366549
lmul
ladd
lstore 17 /* x08 */
115: .line 840
lload 19 /* x09 */
lload 47 /* x23 */
ldc 163752818
lmul
ladd
lstore 19 /* x09 */
116: .line 841
lload 21 /* x10 */
lload 47 /* x23 */
ldc 258169998
lmul
ladd
lstore 21 /* x10 */
117: .line 842
lload 23 /* x11 */
lload 47 /* x23 */
ldc 96434764
lmul
ladd
lstore 23 /* x11 */
118: .line 843
lload 25 /* x12 */
lload 47 /* x23 */
ldc 227822194
lmul
ladd
lstore 25 /* x12 */
119: .line 844
lload 27 /* x13 */
lload 47 /* x23 */
ldc 149865618
lmul
ladd
lstore 27 /* x13 */
120: .line 845
lload 29 /* x14 */
lload 47 /* x23 */
ldc 550336261
lmul
ladd
lstore 29 /* x14 */
121: .line 847
lload 13 /* x06 */
lload 45 /* x22 */
ldc 43969588
lmul
ladd
lstore 13 /* x06 */
122: .line 848
lload 15 /* x07 */
lload 45 /* x22 */
ldc 30366549
lmul
ladd
lstore 15 /* x07 */
123: .line 849
lload 17 /* x08 */
lload 45 /* x22 */
ldc 163752818
lmul
ladd
lstore 17 /* x08 */
124: .line 850
lload 19 /* x09 */
lload 45 /* x22 */
ldc 258169998
lmul
ladd
lstore 19 /* x09 */
125: .line 851
lload 21 /* x10 */
lload 45 /* x22 */
ldc 96434764
lmul
ladd
lstore 21 /* x10 */
126: .line 852
lload 23 /* x11 */
lload 45 /* x22 */
ldc 227822194
lmul
ladd
lstore 23 /* x11 */
127: .line 853
lload 25 /* x12 */
lload 45 /* x22 */
ldc 149865618
lmul
ladd
lstore 25 /* x12 */
128: .line 854
lload 27 /* x13 */
lload 45 /* x22 */
ldc 550336261
lmul
ladd
lstore 27 /* x13 */
129: .line 856
lload 37 /* x18 */
lload 35 /* x17 */
bipush 28
lushr
ladd
lstore 37 /* x18 */
lload 35 /* x17 */
ldc 268435455
land
lstore 35 /* x17 */
130: .line 857
lload 39 /* x19 */
lload 37 /* x18 */
bipush 28
lushr
ladd
lstore 39 /* x19 */
lload 37 /* x18 */
ldc 268435455
land
lstore 37 /* x18 */
131: .line 858
lload 41 /* x20 */
lload 39 /* x19 */
bipush 28
lushr
ladd
lstore 41 /* x20 */
lload 39 /* x19 */
ldc 268435455
land
lstore 39 /* x19 */
132: .line 859
lload 43 /* x21 */
lload 41 /* x20 */
bipush 28
lushr
ladd
lstore 43 /* x21 */
lload 41 /* x20 */
ldc 268435455
land
lstore 41 /* x20 */
133: .line 861
lload 11 /* x05 */
lload 43 /* x21 */
ldc 43969588
lmul
ladd
lstore 11 /* x05 */
134: .line 862
lload 13 /* x06 */
lload 43 /* x21 */
ldc 30366549
lmul
ladd
lstore 13 /* x06 */
135: .line 863
lload 15 /* x07 */
lload 43 /* x21 */
ldc 163752818
lmul
ladd
lstore 15 /* x07 */
136: .line 864
lload 17 /* x08 */
lload 43 /* x21 */
ldc 258169998
lmul
ladd
lstore 17 /* x08 */
137: .line 865
lload 19 /* x09 */
lload 43 /* x21 */
ldc 96434764
lmul
ladd
lstore 19 /* x09 */
138: .line 866
lload 21 /* x10 */
lload 43 /* x21 */
ldc 227822194
lmul
ladd
lstore 21 /* x10 */
139: .line 867
lload 23 /* x11 */
lload 43 /* x21 */
ldc 149865618
lmul
ladd
lstore 23 /* x11 */
140: .line 868
lload 25 /* x12 */
lload 43 /* x21 */
ldc 550336261
lmul
ladd
lstore 25 /* x12 */
141: .line 870
lload 9 /* x04 */
lload 41 /* x20 */
ldc 43969588
lmul
ladd
lstore 9 /* x04 */
142: .line 871
lload 11 /* x05 */
lload 41 /* x20 */
ldc 30366549
lmul
ladd
lstore 11 /* x05 */
143: .line 872
lload 13 /* x06 */
lload 41 /* x20 */
ldc 163752818
lmul
ladd
lstore 13 /* x06 */
144: .line 873
lload 15 /* x07 */
lload 41 /* x20 */
ldc 258169998
lmul
ladd
lstore 15 /* x07 */
145: .line 874
lload 17 /* x08 */
lload 41 /* x20 */
ldc 96434764
lmul
ladd
lstore 17 /* x08 */
146: .line 875
lload 19 /* x09 */
lload 41 /* x20 */
ldc 227822194
lmul
ladd
lstore 19 /* x09 */
147: .line 876
lload 21 /* x10 */
lload 41 /* x20 */
ldc 149865618
lmul
ladd
lstore 21 /* x10 */
148: .line 877
lload 23 /* x11 */
lload 41 /* x20 */
ldc 550336261
lmul
ladd
lstore 23 /* x11 */
149: .line 879
lload 7 /* x03 */
lload 39 /* x19 */
ldc 43969588
lmul
ladd
lstore 7 /* x03 */
150: .line 880
lload 9 /* x04 */
lload 39 /* x19 */
ldc 30366549
lmul
ladd
lstore 9 /* x04 */
151: .line 881
lload 11 /* x05 */
lload 39 /* x19 */
ldc 163752818
lmul
ladd
lstore 11 /* x05 */
152: .line 882
lload 13 /* x06 */
lload 39 /* x19 */
ldc 258169998
lmul
ladd
lstore 13 /* x06 */
153: .line 883
lload 15 /* x07 */
lload 39 /* x19 */
ldc 96434764
lmul
ladd
lstore 15 /* x07 */
154: .line 884
lload 17 /* x08 */
lload 39 /* x19 */
ldc 227822194
lmul
ladd
lstore 17 /* x08 */
155: .line 885
lload 19 /* x09 */
lload 39 /* x19 */
ldc 149865618
lmul
ladd
lstore 19 /* x09 */
156: .line 886
lload 21 /* x10 */
lload 39 /* x19 */
ldc 550336261
lmul
ladd
lstore 21 /* x10 */
157: .line 888
lload 31 /* x15 */
lload 29 /* x14 */
bipush 28
lushr
ladd
lstore 31 /* x15 */
lload 29 /* x14 */
ldc 268435455
land
lstore 29 /* x14 */
158: .line 889
lload 33 /* x16 */
lload 31 /* x15 */
bipush 28
lushr
ladd
lstore 33 /* x16 */
lload 31 /* x15 */
ldc 268435455
land
lstore 31 /* x15 */
159: .line 890
lload 35 /* x17 */
lload 33 /* x16 */
bipush 28
lushr
ladd
lstore 35 /* x17 */
lload 33 /* x16 */
ldc 268435455
land
lstore 33 /* x16 */
160: .line 891
lload 37 /* x18 */
lload 35 /* x17 */
bipush 28
lushr
ladd
lstore 37 /* x18 */
lload 35 /* x17 */
ldc 268435455
land
lstore 35 /* x17 */
161: .line 893
lload 5 /* x02 */
lload 37 /* x18 */
ldc 43969588
lmul
ladd
lstore 5 /* x02 */
162: .line 894
lload 7 /* x03 */
lload 37 /* x18 */
ldc 30366549
lmul
ladd
lstore 7 /* x03 */
163: .line 895
lload 9 /* x04 */
lload 37 /* x18 */
ldc 163752818
lmul
ladd
lstore 9 /* x04 */
164: .line 896
lload 11 /* x05 */
lload 37 /* x18 */
ldc 258169998
lmul
ladd
lstore 11 /* x05 */
165: .line 897
lload 13 /* x06 */
lload 37 /* x18 */
ldc 96434764
lmul
ladd
lstore 13 /* x06 */
166: .line 898
lload 15 /* x07 */
lload 37 /* x18 */
ldc 227822194
lmul
ladd
lstore 15 /* x07 */
167: .line 899
lload 17 /* x08 */
lload 37 /* x18 */
ldc 149865618
lmul
ladd
lstore 17 /* x08 */
168: .line 900
lload 19 /* x09 */
lload 37 /* x18 */
ldc 550336261
lmul
ladd
lstore 19 /* x09 */
169: .line 902
lload 3 /* x01 */
lload 35 /* x17 */
ldc 43969588
lmul
ladd
lstore 3 /* x01 */
170: .line 903
lload 5 /* x02 */
lload 35 /* x17 */
ldc 30366549
lmul
ladd
lstore 5 /* x02 */
171: .line 904
lload 7 /* x03 */
lload 35 /* x17 */
ldc 163752818
lmul
ladd
lstore 7 /* x03 */
172: .line 905
lload 9 /* x04 */
lload 35 /* x17 */
ldc 258169998
lmul
ladd
lstore 9 /* x04 */
173: .line 906
lload 11 /* x05 */
lload 35 /* x17 */
ldc 96434764
lmul
ladd
lstore 11 /* x05 */
174: .line 907
lload 13 /* x06 */
lload 35 /* x17 */
ldc 227822194
lmul
ladd
lstore 13 /* x06 */
175: .line 908
lload 15 /* x07 */
lload 35 /* x17 */
ldc 149865618
lmul
ladd
lstore 15 /* x07 */
176: .line 909
lload 17 /* x08 */
lload 35 /* x17 */
ldc 550336261
lmul
ladd
lstore 17 /* x08 */
177: .line 911
lload 33 /* x16 */
ldc 4
lmul
lstore 33 /* x16 */
178: .line 912
lload 33 /* x16 */
lload 31 /* x15 */
bipush 26
lushr
ladd
lstore 33 /* x16 */
lload 31 /* x15 */
ldc 67108863
land
lstore 31 /* x15 */
179: .line 913
lload 33 /* x16 */
lconst_1
ladd
lstore 33 /* x16 */
180: .line 915
lload 1 /* x00 */
lload 33 /* x16 */
ldc 78101261
lmul
ladd
lstore 1 /* x00 */
181: .line 916
lload 3 /* x01 */
lload 33 /* x16 */
ldc 141809365
lmul
ladd
lstore 3 /* x01 */
182: .line 917
lload 5 /* x02 */
lload 33 /* x16 */
ldc 175155932
lmul
ladd
lstore 5 /* x02 */
183: .line 918
lload 7 /* x03 */
lload 33 /* x16 */
ldc 64542499
lmul
ladd
lstore 7 /* x03 */
184: .line 919
lload 9 /* x04 */
lload 33 /* x16 */
ldc 158326419
lmul
ladd
lstore 9 /* x04 */
185: .line 920
lload 11 /* x05 */
lload 33 /* x16 */
ldc 191173276
lmul
ladd
lstore 11 /* x05 */
186: .line 921
lload 13 /* x06 */
lload 33 /* x16 */
ldc 104575268
lmul
ladd
lstore 13 /* x06 */
187: .line 922
lload 15 /* x07 */
lload 33 /* x16 */
ldc 137584065
lmul
ladd
lstore 15 /* x07 */
188: .line 924
lload 3 /* x01 */
lload 1 /* x00 */
bipush 28
lushr
ladd
lstore 3 /* x01 */
lload 1 /* x00 */
ldc 268435455
land
lstore 1 /* x00 */
189: .line 925
lload 5 /* x02 */
lload 3 /* x01 */
bipush 28
lushr
ladd
lstore 5 /* x02 */
lload 3 /* x01 */
ldc 268435455
land
lstore 3 /* x01 */
190: .line 926
lload 7 /* x03 */
lload 5 /* x02 */
bipush 28
lushr
ladd
lstore 7 /* x03 */
lload 5 /* x02 */
ldc 268435455
land
lstore 5 /* x02 */
191: .line 927
lload 9 /* x04 */
lload 7 /* x03 */
bipush 28
lushr
ladd
lstore 9 /* x04 */
lload 7 /* x03 */
ldc 268435455
land
lstore 7 /* x03 */
192: .line 928
lload 11 /* x05 */
lload 9 /* x04 */
bipush 28
lushr
ladd
lstore 11 /* x05 */
lload 9 /* x04 */
ldc 268435455
land
lstore 9 /* x04 */
193: .line 929
lload 13 /* x06 */
lload 11 /* x05 */
bipush 28
lushr
ladd
lstore 13 /* x06 */
lload 11 /* x05 */
ldc 268435455
land
lstore 11 /* x05 */
194: .line 930
lload 15 /* x07 */
lload 13 /* x06 */
bipush 28
lushr
ladd
lstore 15 /* x07 */
lload 13 /* x06 */
ldc 268435455
land
lstore 13 /* x06 */
195: .line 931
lload 17 /* x08 */
lload 15 /* x07 */
bipush 28
lushr
ladd
lstore 17 /* x08 */
lload 15 /* x07 */
ldc 268435455
land
lstore 15 /* x07 */
196: .line 932
lload 19 /* x09 */
lload 17 /* x08 */
bipush 28
lushr
ladd
lstore 19 /* x09 */
lload 17 /* x08 */
ldc 268435455
land
lstore 17 /* x08 */
197: .line 933
lload 21 /* x10 */
lload 19 /* x09 */
bipush 28
lushr
ladd
lstore 21 /* x10 */
lload 19 /* x09 */
ldc 268435455
land
lstore 19 /* x09 */
198: .line 934
lload 23 /* x11 */
lload 21 /* x10 */
bipush 28
lushr
ladd
lstore 23 /* x11 */
lload 21 /* x10 */
ldc 268435455
land
lstore 21 /* x10 */
199: .line 935
lload 25 /* x12 */
lload 23 /* x11 */
bipush 28
lushr
ladd
lstore 25 /* x12 */
lload 23 /* x11 */
ldc 268435455
land
lstore 23 /* x11 */
200: .line 936
lload 27 /* x13 */
lload 25 /* x12 */
bipush 28
lushr
ladd
lstore 27 /* x13 */
lload 25 /* x12 */
ldc 268435455
land
lstore 25 /* x12 */
201: .line 937
lload 29 /* x14 */
lload 27 /* x13 */
bipush 28
lushr
ladd
lstore 29 /* x14 */
lload 27 /* x13 */
ldc 268435455
land
lstore 27 /* x13 */
202: .line 938
lload 31 /* x15 */
lload 29 /* x14 */
bipush 28
lushr
ladd
lstore 31 /* x15 */
lload 29 /* x14 */
ldc 268435455
land
lstore 29 /* x14 */
203: .line 939
lload 31 /* x15 */
bipush 26
lushr
lstore 33 /* x16 */
lload 31 /* x15 */
ldc 67108863
land
lstore 31 /* x15 */
204: .line 941
lload 33 /* x16 */
lconst_1
lsub
lstore 33 /* x16 */
205: .line 945
lload 1 /* x00 */
lload 33 /* x16 */
ldc 78101261
land
lsub
lstore 1 /* x00 */
206: .line 946
lload 3 /* x01 */
lload 33 /* x16 */
ldc 141809365
land
lsub
lstore 3 /* x01 */
207: .line 947
lload 5 /* x02 */
lload 33 /* x16 */
ldc 175155932
land
lsub
lstore 5 /* x02 */
208: .line 948
lload 7 /* x03 */
lload 33 /* x16 */
ldc 64542499
land
lsub
lstore 7 /* x03 */
209: .line 949
lload 9 /* x04 */
lload 33 /* x16 */
ldc 158326419
land
lsub
lstore 9 /* x04 */
210: .line 950
lload 11 /* x05 */
lload 33 /* x16 */
ldc 191173276
land
lsub
lstore 11 /* x05 */
211: .line 951
lload 13 /* x06 */
lload 33 /* x16 */
ldc 104575268
land
lsub
lstore 13 /* x06 */
212: .line 952
lload 15 /* x07 */
lload 33 /* x16 */
ldc 137584065
land
lsub
lstore 15 /* x07 */
213: .line 954
lload 3 /* x01 */
lload 1 /* x00 */
bipush 28
lshr
ladd
lstore 3 /* x01 */
lload 1 /* x00 */
ldc 268435455
land
lstore 1 /* x00 */
214: .line 955
lload 5 /* x02 */
lload 3 /* x01 */
bipush 28
lshr
ladd
lstore 5 /* x02 */
lload 3 /* x01 */
ldc 268435455
land
lstore 3 /* x01 */
215: .line 956
lload 7 /* x03 */
lload 5 /* x02 */
bipush 28
lshr
ladd
lstore 7 /* x03 */
lload 5 /* x02 */
ldc 268435455
land
lstore 5 /* x02 */
216: .line 957
lload 9 /* x04 */
lload 7 /* x03 */
bipush 28
lshr
ladd
lstore 9 /* x04 */
lload 7 /* x03 */
ldc 268435455
land
lstore 7 /* x03 */
217: .line 958
lload 11 /* x05 */
lload 9 /* x04 */
bipush 28
lshr
ladd
lstore 11 /* x05 */
lload 9 /* x04 */
ldc 268435455
land
lstore 9 /* x04 */
218: .line 959
lload 13 /* x06 */
lload 11 /* x05 */
bipush 28
lshr
ladd
lstore 13 /* x06 */
lload 11 /* x05 */
ldc 268435455
land
lstore 11 /* x05 */
219: .line 960
lload 15 /* x07 */
lload 13 /* x06 */
bipush 28
lshr
ladd
lstore 15 /* x07 */
lload 13 /* x06 */
ldc 268435455
land
lstore 13 /* x06 */
220: .line 961
lload 17 /* x08 */
lload 15 /* x07 */
bipush 28
lshr
ladd
lstore 17 /* x08 */
lload 15 /* x07 */
ldc 268435455
land
lstore 15 /* x07 */
221: .line 962
lload 19 /* x09 */
lload 17 /* x08 */
bipush 28
lshr
ladd
lstore 19 /* x09 */
lload 17 /* x08 */
ldc 268435455
land
lstore 17 /* x08 */
222: .line 963
lload 21 /* x10 */
lload 19 /* x09 */
bipush 28
lshr
ladd
lstore 21 /* x10 */
lload 19 /* x09 */
ldc 268435455
land
lstore 19 /* x09 */
223: .line 964
lload 23 /* x11 */
lload 21 /* x10 */
bipush 28
lshr
ladd
lstore 23 /* x11 */
lload 21 /* x10 */
ldc 268435455
land
lstore 21 /* x10 */
224: .line 965
lload 25 /* x12 */
lload 23 /* x11 */
bipush 28
lshr
ladd
lstore 25 /* x12 */
lload 23 /* x11 */
ldc 268435455
land
lstore 23 /* x11 */
225: .line 966
lload 27 /* x13 */
lload 25 /* x12 */
bipush 28
lshr
ladd
lstore 27 /* x13 */
lload 25 /* x12 */
ldc 268435455
land
lstore 25 /* x12 */
226: .line 967
lload 29 /* x14 */
lload 27 /* x13 */
bipush 28
lshr
ladd
lstore 29 /* x14 */
lload 27 /* x13 */
ldc 268435455
land
lstore 27 /* x13 */
227: .line 968
lload 31 /* x15 */
lload 29 /* x14 */
bipush 28
lshr
ladd
lstore 31 /* x15 */
lload 29 /* x14 */
ldc 268435455
land
lstore 29 /* x14 */
228: .line 972
bipush 57
newarray 8
astore 67 /* r */
start local 67 // byte[] r
229: .line 973
lload 1 /* x00 */
lload 3 /* x01 */
bipush 28
lshl
lor
aload 67 /* r */
iconst_0
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.encode56:(J[BI)V
230: .line 974
lload 5 /* x02 */
lload 7 /* x03 */
bipush 28
lshl
lor
aload 67 /* r */
bipush 7
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.encode56:(J[BI)V
231: .line 975
lload 9 /* x04 */
lload 11 /* x05 */
bipush 28
lshl
lor
aload 67 /* r */
bipush 14
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.encode56:(J[BI)V
232: .line 976
lload 13 /* x06 */
lload 15 /* x07 */
bipush 28
lshl
lor
aload 67 /* r */
bipush 21
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.encode56:(J[BI)V
233: .line 977
lload 17 /* x08 */
lload 19 /* x09 */
bipush 28
lshl
lor
aload 67 /* r */
bipush 28
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.encode56:(J[BI)V
234: .line 978
lload 21 /* x10 */
lload 23 /* x11 */
bipush 28
lshl
lor
aload 67 /* r */
bipush 35
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.encode56:(J[BI)V
235: .line 979
lload 25 /* x12 */
lload 27 /* x13 */
bipush 28
lshl
lor
aload 67 /* r */
bipush 42
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.encode56:(J[BI)V
236: .line 980
lload 29 /* x14 */
lload 31 /* x15 */
bipush 28
lshl
lor
aload 67 /* r */
bipush 49
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.encode56:(J[BI)V
237: .line 982
aload 67 /* r */
areturn
end local 67 // byte[] r
end local 65 // long x32
end local 63 // long x31
end local 61 // long x30
end local 59 // long x29
end local 57 // long x28
end local 55 // long x27
end local 53 // long x26
end local 51 // long x25
end local 49 // long x24
end local 47 // long x23
end local 45 // long x22
end local 43 // long x21
end local 41 // long x20
end local 39 // long x19
end local 37 // long x18
end local 35 // long x17
end local 33 // long x16
end local 31 // long x15
end local 29 // long x14
end local 27 // long x13
end local 25 // long x12
end local 23 // long x11
end local 21 // long x10
end local 19 // long x09
end local 17 // long x08
end local 15 // long x07
end local 13 // long x06
end local 11 // long x05
end local 9 // long x04
end local 7 // long x03
end local 5 // long x02
end local 3 // long x01
end local 1 // long x00
end local 0 // byte[] n
LocalVariableTable:
Start End Slot Name Signature
0 238 0 n [B
1 238 1 x00 J
2 238 3 x01 J
3 238 5 x02 J
4 238 7 x03 J
5 238 9 x04 J
6 238 11 x05 J
7 238 13 x06 J
8 238 15 x07 J
9 238 17 x08 J
10 238 19 x09 J
11 238 21 x10 J
12 238 23 x11 J
13 238 25 x12 J
14 238 27 x13 J
15 238 29 x14 J
16 238 31 x15 J
17 238 33 x16 J
18 238 35 x17 J
19 238 37 x18 J
20 238 39 x19 J
21 238 41 x20 J
22 238 43 x21 J
23 238 45 x22 J
24 238 47 x23 J
25 238 49 x24 J
26 238 51 x25 J
27 238 53 x26 J
28 238 55 x27 J
29 238 57 x28 J
30 238 59 x29 J
31 238 61 x30 J
32 238 63 x31 J
33 238 65 x32 J
229 238 67 r [B
MethodParameters:
Name Flags
n
private static void scalarMultBase(byte[], org.bouncycastle.math.ec.rfc8032.Ed448$PointExt);
descriptor: ([BLorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=10, args_size=2
start local 0 // byte[] k
start local 1 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt r
0: .line 987
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.precompute:()V
1: .line 989
aload 1 /* r */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.pointSetNeutral:(Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)V
2: .line 991
bipush 15
newarray 10
astore 2 /* n */
start local 2 // int[] n
3: .line 992
aload 0 /* k */
iconst_0
aload 2 /* n */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.decodeScalar:([BI[I)V
4: .line 996
aload 2 /* n */
bipush 14
iconst_4
bipush 14
aload 2 /* n */
iconst_0
iaload
iconst_m1
ixor
iconst_1
iand
aload 2 /* n */
getstatic org.bouncycastle.math.ec.rfc8032.Ed448.L:[I
aload 2 /* n */
invokestatic org.bouncycastle.math.raw.Nat.cadd:(II[I[I[I)I
iadd
iastore
5: .line 998
aload 2 /* n */
arraylength
aload 2 /* n */
iconst_0
invokestatic org.bouncycastle.math.raw.Nat.shiftDownBit:(I[II)I
pop
6: .line 1001
new org.bouncycastle.math.ec.rfc8032.Ed448$PointPrecomp
dup
invokespecial org.bouncycastle.math.ec.rfc8032.Ed448$PointPrecomp.<init>:()V
astore 3 /* p */
start local 3 // org.bouncycastle.math.ec.rfc8032.Ed448$PointPrecomp p
7: .line 1003
bipush 17
istore 4 /* cOff */
start local 4 // int cOff
8: .line 1006
StackMap locals: int[] org.bouncycastle.math.ec.rfc8032.Ed448$PointPrecomp int
StackMap stack:
iload 4 /* cOff */
istore 5 /* tPos */
start local 5 // int tPos
9: .line 1008
iconst_0
istore 6 /* b */
start local 6 // int b
10: goto 26
11: .line 1010
StackMap locals: int int
StackMap stack:
iconst_0
istore 7 /* w */
start local 7 // int w
12: .line 1011
iconst_0
istore 8 /* t */
start local 8 // int t
13: goto 19
14: .line 1013
StackMap locals: int int
StackMap stack:
aload 2 /* n */
iload 5 /* tPos */
iconst_5
iushr
iaload
iload 5 /* tPos */
bipush 31
iand
iushr
istore 9 /* tBit */
start local 9 // int tBit
15: .line 1014
iload 7 /* w */
iconst_1
iload 8 /* t */
ishl
iconst_m1
ixor
iand
istore 7 /* w */
16: .line 1015
iload 7 /* w */
iload 9 /* tBit */
iload 8 /* t */
ishl
ixor
istore 7 /* w */
17: .line 1016
iinc 5 /* tPos */ 18
end local 9 // int tBit
18: .line 1011
iinc 8 /* t */ 1
StackMap locals:
StackMap stack:
19: iload 8 /* t */
iconst_5
if_icmplt 14
end local 8 // int t
20: .line 1019
iload 7 /* w */
iconst_4
iushr
iconst_1
iand
istore 8 /* sign */
start local 8 // int sign
21: .line 1020
iload 7 /* w */
iload 8 /* sign */
ineg
ixor
bipush 15
iand
istore 9 /* abs */
start local 9 // int abs
22: .line 1025
iload 6 /* b */
iload 9 /* abs */
aload 3 /* p */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.pointLookup:(IILorg/bouncycastle/math/ec/rfc8032/Ed448$PointPrecomp;)V
23: .line 1027
iload 8 /* sign */
aload 3 /* p */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointPrecomp.x:[I
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.cnegate:(I[I)V
24: .line 1029
aload 3 /* p */
aload 1 /* r */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.pointAddPrecomp:(Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointPrecomp;Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)V
end local 9 // int abs
end local 8 // int sign
end local 7 // int w
25: .line 1008
iinc 6 /* b */ 1
StackMap locals:
StackMap stack:
26: iload 6 /* b */
iconst_5
if_icmplt 11
end local 6 // int b
27: .line 1032
iinc 4 /* cOff */ -1
iload 4 /* cOff */
ifge 29
28: .line 1034
goto 31
29: .line 1037
StackMap locals:
StackMap stack:
aload 1 /* r */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.pointDouble:(Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)V
end local 5 // int tPos
30: .line 1004
goto 8
31: .line 1039
StackMap locals:
StackMap stack:
return
end local 4 // int cOff
end local 3 // org.bouncycastle.math.ec.rfc8032.Ed448$PointPrecomp p
end local 2 // int[] n
end local 1 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt r
end local 0 // byte[] k
LocalVariableTable:
Start End Slot Name Signature
0 32 0 k [B
0 32 1 r Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
3 32 2 n [I
7 32 3 p Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointPrecomp;
8 32 4 cOff I
9 30 5 tPos I
10 27 6 b I
12 25 7 w I
13 20 8 t I
15 18 9 tBit I
21 25 8 sign I
22 25 9 abs I
MethodParameters:
Name Flags
k
r
private static void scalarMultBaseEncoded(byte[], byte[], int);
descriptor: ([B[BI)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 // byte[] k
start local 1 // byte[] r
start local 2 // int rOff
0: .line 1043
new org.bouncycastle.math.ec.rfc8032.Ed448$PointExt
dup
invokespecial org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.<init>:()V
astore 3 /* p */
start local 3 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt p
1: .line 1044
aload 0 /* k */
aload 3 /* p */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.scalarMultBase:([BLorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)V
2: .line 1045
aload 3 /* p */
aload 1 /* r */
iload 2 /* rOff */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.encodePoint:(Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;[BI)V
3: .line 1046
return
end local 3 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt p
end local 2 // int rOff
end local 1 // byte[] r
end local 0 // byte[] k
LocalVariableTable:
Start End Slot Name Signature
0 4 0 k [B
0 4 1 r [B
0 4 2 rOff I
1 4 3 p Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
MethodParameters:
Name Flags
k
r
rOff
public static void scalarMultBaseXY(org.bouncycastle.math.ec.rfc7748.X448$Friend, byte[], int, int[], int[]);
descriptor: (Lorg/bouncycastle/math/ec/rfc7748/X448$Friend;[BI[I[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=5
start local 0 // org.bouncycastle.math.ec.rfc7748.X448$Friend friend
start local 1 // byte[] k
start local 2 // int kOff
start local 3 // int[] x
start local 4 // int[] y
0: .line 1053
aload 0 /* friend */
ifnonnull 2
1: .line 1055
new java.lang.NullPointerException
dup
ldc "This method is only for use by X448"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: .line 1058
StackMap locals:
StackMap stack:
bipush 57
newarray 8
astore 5 /* n */
start local 5 // byte[] n
3: .line 1059
aload 1 /* k */
iload 2 /* kOff */
aload 5 /* n */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.pruneScalar:([BI[B)V
4: .line 1061
new org.bouncycastle.math.ec.rfc8032.Ed448$PointExt
dup
invokespecial org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.<init>:()V
astore 6 /* p */
start local 6 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt p
5: .line 1062
aload 5 /* n */
aload 6 /* p */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.scalarMultBase:([BLorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)V
6: .line 1063
aload 6 /* p */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.x:[I
iconst_0
aload 3 /* x */
iconst_0
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.copy:([II[II)V
7: .line 1064
aload 6 /* p */
getfield org.bouncycastle.math.ec.rfc8032.Ed448$PointExt.y:[I
iconst_0
aload 4 /* y */
iconst_0
invokestatic org.bouncycastle.math.ec.rfc7748.X448Field.copy:([II[II)V
8: .line 1065
return
end local 6 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt p
end local 5 // byte[] n
end local 4 // int[] y
end local 3 // int[] x
end local 2 // int kOff
end local 1 // byte[] k
end local 0 // org.bouncycastle.math.ec.rfc7748.X448$Friend friend
LocalVariableTable:
Start End Slot Name Signature
0 9 0 friend Lorg/bouncycastle/math/ec/rfc7748/X448$Friend;
0 9 1 k [B
0 9 2 kOff I
0 9 3 x [I
0 9 4 y [I
3 9 5 n [B
5 9 6 p Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
MethodParameters:
Name Flags
friend
k
kOff
x
y
private static void scalarMultStraussVar(int[], int[], org.bouncycastle.math.ec.rfc8032.Ed448$PointExt, org.bouncycastle.math.ec.rfc8032.Ed448$PointExt);
descriptor: ([I[ILorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=12, args_size=4
start local 0 // int[] nb
start local 1 // int[] np
start local 2 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt p
start local 3 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt r
0: .line 1069
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.precompute:()V
1: .line 1073
aload 0 /* nb */
bipush 7
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.getWNAF:([II)[B
astore 4 /* ws_b */
start local 4 // byte[] ws_b
2: .line 1074
aload 1 /* np */
iconst_5
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.getWNAF:([II)[B
astore 5 /* ws_p */
start local 5 // byte[] ws_p
3: .line 1076
aload 2 /* p */
bipush 8
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.pointPrecompVar:(Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;I)[Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
astore 6 /* tp */
start local 6 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt[] tp
4: .line 1078
aload 3 /* r */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.pointSetNeutral:(Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)V
5: .line 1080
sipush 447
istore 7 /* bit */
start local 7 // int bit
6: .line 1081
goto 8
7: .line 1083
StackMap locals: int[] int[] org.bouncycastle.math.ec.rfc8032.Ed448$PointExt org.bouncycastle.math.ec.rfc8032.Ed448$PointExt byte[] byte[] org.bouncycastle.math.ec.rfc8032.Ed448$PointExt[] int
StackMap stack:
iinc 7 /* bit */ -1
8: .line 1081
StackMap locals:
StackMap stack:
iload 7 /* bit */
ifle 9
aload 4 /* ws_b */
iload 7 /* bit */
baload
aload 5 /* ws_p */
iload 7 /* bit */
baload
ior
ifeq 7
9: .line 1088
StackMap locals:
StackMap stack:
aload 4 /* ws_b */
iload 7 /* bit */
baload
istore 8 /* wb */
start local 8 // int wb
10: .line 1089
iload 8 /* wb */
ifeq 16
11: .line 1091
iload 8 /* wb */
bipush 31
ishr
istore 9 /* sign */
start local 9 // int sign
12: .line 1092
iload 8 /* wb */
iload 9 /* sign */
ixor
iconst_1
iushr
istore 10 /* index */
start local 10 // int index
13: .line 1094
iload 9 /* sign */
ifeq 14
iconst_1
goto 15
StackMap locals: int int int
StackMap stack:
14: iconst_0
StackMap locals:
StackMap stack: int
15: getstatic org.bouncycastle.math.ec.rfc8032.Ed448.precompBaseTable:[Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
iload 10 /* index */
aaload
aload 3 /* r */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.pointAddVar:(ZLorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)V
end local 10 // int index
end local 9 // int sign
16: .line 1097
StackMap locals:
StackMap stack:
aload 5 /* ws_p */
iload 7 /* bit */
baload
istore 9 /* wp */
start local 9 // int wp
17: .line 1098
iload 9 /* wp */
ifeq 23
18: .line 1100
iload 9 /* wp */
bipush 31
ishr
istore 10 /* sign */
start local 10 // int sign
19: .line 1101
iload 9 /* wp */
iload 10 /* sign */
ixor
iconst_1
iushr
istore 11 /* index */
start local 11 // int index
20: .line 1103
iload 10 /* sign */
ifeq 21
iconst_1
goto 22
StackMap locals: int int int
StackMap stack:
21: iconst_0
StackMap locals:
StackMap stack: int
22: aload 6 /* tp */
iload 11 /* index */
aaload
aload 3 /* r */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.pointAddVar:(ZLorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)V
end local 11 // int index
end local 10 // int sign
23: .line 1106
StackMap locals:
StackMap stack:
iinc 7 /* bit */ -1
iload 7 /* bit */
ifge 25
24: .line 1108
goto 27
25: .line 1111
StackMap locals:
StackMap stack:
aload 3 /* r */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.pointDouble:(Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;)V
end local 9 // int wp
end local 8 // int wb
26: .line 1086
goto 9
27: .line 1113
StackMap locals:
StackMap stack:
return
end local 7 // int bit
end local 6 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt[] tp
end local 5 // byte[] ws_p
end local 4 // byte[] ws_b
end local 3 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt r
end local 2 // org.bouncycastle.math.ec.rfc8032.Ed448$PointExt p
end local 1 // int[] np
end local 0 // int[] nb
LocalVariableTable:
Start End Slot Name Signature
0 28 0 nb [I
0 28 1 np [I
0 28 2 p Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
0 28 3 r Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
2 28 4 ws_b [B
3 28 5 ws_p [B
4 28 6 tp [Lorg/bouncycastle/math/ec/rfc8032/Ed448$PointExt;
6 28 7 bit I
10 26 8 wb I
12 16 9 sign I
13 16 10 index I
17 26 9 wp I
19 23 10 sign I
20 23 11 index I
MethodParameters:
Name Flags
nb
np
p
r
public static void sign(byte[], int, byte[], byte[], int, int, byte[], int);
descriptor: ([BI[B[BII[BI)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=9, args_size=8
start local 0 // byte[] sk
start local 1 // int skOff
start local 2 // byte[] ctx
start local 3 // byte[] m
start local 4 // int mOff
start local 5 // int mLen
start local 6 // byte[] sig
start local 7 // int sigOff
0: .line 1117
iconst_0
istore 8 /* phflag */
start local 8 // byte phflag
1: .line 1119
aload 0 /* sk */
iload 1 /* skOff */
aload 2 /* ctx */
iload 8 /* phflag */
aload 3 /* m */
iload 4 /* mOff */
iload 5 /* mLen */
aload 6 /* sig */
iload 7 /* sigOff */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.implSign:([BI[BB[BII[BI)V
2: .line 1120
return
end local 8 // byte phflag
end local 7 // int sigOff
end local 6 // byte[] sig
end local 5 // int mLen
end local 4 // int mOff
end local 3 // byte[] m
end local 2 // byte[] ctx
end local 1 // int skOff
end local 0 // byte[] sk
LocalVariableTable:
Start End Slot Name Signature
0 3 0 sk [B
0 3 1 skOff I
0 3 2 ctx [B
0 3 3 m [B
0 3 4 mOff I
0 3 5 mLen I
0 3 6 sig [B
0 3 7 sigOff I
1 3 8 phflag B
MethodParameters:
Name Flags
sk
skOff
ctx
m
mOff
mLen
sig
sigOff
public static void sign(byte[], int, byte[], int, byte[], byte[], int, int, byte[], int);
descriptor: ([BI[BI[B[BII[BI)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=11, args_size=10
start local 0 // byte[] sk
start local 1 // int skOff
start local 2 // byte[] pk
start local 3 // int pkOff
start local 4 // byte[] ctx
start local 5 // byte[] m
start local 6 // int mOff
start local 7 // int mLen
start local 8 // byte[] sig
start local 9 // int sigOff
0: .line 1124
iconst_0
istore 10 /* phflag */
start local 10 // byte phflag
1: .line 1126
aload 0 /* sk */
iload 1 /* skOff */
aload 2 /* pk */
iload 3 /* pkOff */
aload 4 /* ctx */
iload 10 /* phflag */
aload 5 /* m */
iload 6 /* mOff */
iload 7 /* mLen */
aload 8 /* sig */
iload 9 /* sigOff */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.implSign:([BI[BI[BB[BII[BI)V
2: .line 1127
return
end local 10 // byte phflag
end local 9 // int sigOff
end local 8 // byte[] sig
end local 7 // int mLen
end local 6 // int mOff
end local 5 // byte[] m
end local 4 // byte[] ctx
end local 3 // int pkOff
end local 2 // byte[] pk
end local 1 // int skOff
end local 0 // byte[] sk
LocalVariableTable:
Start End Slot Name Signature
0 3 0 sk [B
0 3 1 skOff I
0 3 2 pk [B
0 3 3 pkOff I
0 3 4 ctx [B
0 3 5 m [B
0 3 6 mOff I
0 3 7 mLen I
0 3 8 sig [B
0 3 9 sigOff I
1 3 10 phflag B
MethodParameters:
Name Flags
sk
skOff
pk
pkOff
ctx
m
mOff
mLen
sig
sigOff
public static void signPrehash(byte[], int, byte[], byte[], int, byte[], int);
descriptor: ([BI[B[BI[BI)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=8, args_size=7
start local 0 // byte[] sk
start local 1 // int skOff
start local 2 // byte[] ctx
start local 3 // byte[] ph
start local 4 // int phOff
start local 5 // byte[] sig
start local 6 // int sigOff
0: .line 1131
iconst_1
istore 7 /* phflag */
start local 7 // byte phflag
1: .line 1133
aload 0 /* sk */
iload 1 /* skOff */
aload 2 /* ctx */
iload 7 /* phflag */
aload 3 /* ph */
iload 4 /* phOff */
bipush 64
aload 5 /* sig */
iload 6 /* sigOff */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.implSign:([BI[BB[BII[BI)V
2: .line 1134
return
end local 7 // byte phflag
end local 6 // int sigOff
end local 5 // byte[] sig
end local 4 // int phOff
end local 3 // byte[] ph
end local 2 // byte[] ctx
end local 1 // int skOff
end local 0 // byte[] sk
LocalVariableTable:
Start End Slot Name Signature
0 3 0 sk [B
0 3 1 skOff I
0 3 2 ctx [B
0 3 3 ph [B
0 3 4 phOff I
0 3 5 sig [B
0 3 6 sigOff I
1 3 7 phflag B
MethodParameters:
Name Flags
sk
skOff
ctx
ph
phOff
sig
sigOff
public static void signPrehash(byte[], int, byte[], int, byte[], byte[], int, byte[], int);
descriptor: ([BI[BI[B[BI[BI)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=10, args_size=9
start local 0 // byte[] sk
start local 1 // int skOff
start local 2 // byte[] pk
start local 3 // int pkOff
start local 4 // byte[] ctx
start local 5 // byte[] ph
start local 6 // int phOff
start local 7 // byte[] sig
start local 8 // int sigOff
0: .line 1138
iconst_1
istore 9 /* phflag */
start local 9 // byte phflag
1: .line 1140
aload 0 /* sk */
iload 1 /* skOff */
aload 2 /* pk */
iload 3 /* pkOff */
aload 4 /* ctx */
iload 9 /* phflag */
aload 5 /* ph */
iload 6 /* phOff */
bipush 64
aload 7 /* sig */
iload 8 /* sigOff */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.implSign:([BI[BI[BB[BII[BI)V
2: .line 1141
return
end local 9 // byte phflag
end local 8 // int sigOff
end local 7 // byte[] sig
end local 6 // int phOff
end local 5 // byte[] ph
end local 4 // byte[] ctx
end local 3 // int pkOff
end local 2 // byte[] pk
end local 1 // int skOff
end local 0 // byte[] sk
LocalVariableTable:
Start End Slot Name Signature
0 3 0 sk [B
0 3 1 skOff I
0 3 2 pk [B
0 3 3 pkOff I
0 3 4 ctx [B
0 3 5 ph [B
0 3 6 phOff I
0 3 7 sig [B
0 3 8 sigOff I
1 3 9 phflag B
MethodParameters:
Name Flags
sk
skOff
pk
pkOff
ctx
ph
phOff
sig
sigOff
public static void signPrehash(byte[], int, byte[], org.bouncycastle.crypto.Xof, byte[], int);
descriptor: ([BI[BLorg/bouncycastle/crypto/Xof;[BI)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=8, args_size=6
start local 0 // byte[] sk
start local 1 // int skOff
start local 2 // byte[] ctx
start local 3 // org.bouncycastle.crypto.Xof ph
start local 4 // byte[] sig
start local 5 // int sigOff
0: .line 1145
bipush 64
newarray 8
astore 6 /* m */
start local 6 // byte[] m
1: .line 1146
bipush 64
aload 3 /* ph */
aload 6 /* m */
iconst_0
bipush 64
invokeinterface org.bouncycastle.crypto.Xof.doFinal:([BII)I
if_icmpeq 3
2: .line 1148
new java.lang.IllegalArgumentException
dup
ldc "ph"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: .line 1151
StackMap locals: byte[]
StackMap stack:
iconst_1
istore 7 /* phflag */
start local 7 // byte phflag
4: .line 1153
aload 0 /* sk */
iload 1 /* skOff */
aload 2 /* ctx */
iload 7 /* phflag */
aload 6 /* m */
iconst_0
aload 6 /* m */
arraylength
aload 4 /* sig */
iload 5 /* sigOff */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.implSign:([BI[BB[BII[BI)V
5: .line 1154
return
end local 7 // byte phflag
end local 6 // byte[] m
end local 5 // int sigOff
end local 4 // byte[] sig
end local 3 // org.bouncycastle.crypto.Xof ph
end local 2 // byte[] ctx
end local 1 // int skOff
end local 0 // byte[] sk
LocalVariableTable:
Start End Slot Name Signature
0 6 0 sk [B
0 6 1 skOff I
0 6 2 ctx [B
0 6 3 ph Lorg/bouncycastle/crypto/Xof;
0 6 4 sig [B
0 6 5 sigOff I
1 6 6 m [B
4 6 7 phflag B
MethodParameters:
Name Flags
sk
skOff
ctx
ph
sig
sigOff
public static void signPrehash(byte[], int, byte[], int, byte[], org.bouncycastle.crypto.Xof, byte[], int);
descriptor: ([BI[BI[BLorg/bouncycastle/crypto/Xof;[BI)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=10, args_size=8
start local 0 // byte[] sk
start local 1 // int skOff
start local 2 // byte[] pk
start local 3 // int pkOff
start local 4 // byte[] ctx
start local 5 // org.bouncycastle.crypto.Xof ph
start local 6 // byte[] sig
start local 7 // int sigOff
0: .line 1158
bipush 64
newarray 8
astore 8 /* m */
start local 8 // byte[] m
1: .line 1159
bipush 64
aload 5 /* ph */
aload 8 /* m */
iconst_0
bipush 64
invokeinterface org.bouncycastle.crypto.Xof.doFinal:([BII)I
if_icmpeq 3
2: .line 1161
new java.lang.IllegalArgumentException
dup
ldc "ph"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: .line 1164
StackMap locals: byte[]
StackMap stack:
iconst_1
istore 9 /* phflag */
start local 9 // byte phflag
4: .line 1166
aload 0 /* sk */
iload 1 /* skOff */
aload 2 /* pk */
iload 3 /* pkOff */
aload 4 /* ctx */
iload 9 /* phflag */
aload 8 /* m */
iconst_0
aload 8 /* m */
arraylength
aload 6 /* sig */
iload 7 /* sigOff */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.implSign:([BI[BI[BB[BII[BI)V
5: .line 1167
return
end local 9 // byte phflag
end local 8 // byte[] m
end local 7 // int sigOff
end local 6 // byte[] sig
end local 5 // org.bouncycastle.crypto.Xof ph
end local 4 // byte[] ctx
end local 3 // int pkOff
end local 2 // byte[] pk
end local 1 // int skOff
end local 0 // byte[] sk
LocalVariableTable:
Start End Slot Name Signature
0 6 0 sk [B
0 6 1 skOff I
0 6 2 pk [B
0 6 3 pkOff I
0 6 4 ctx [B
0 6 5 ph Lorg/bouncycastle/crypto/Xof;
0 6 6 sig [B
0 6 7 sigOff I
1 6 8 m [B
4 6 9 phflag B
MethodParameters:
Name Flags
sk
skOff
pk
pkOff
ctx
ph
sig
sigOff
public static boolean verify(byte[], int, byte[], int, byte[], byte[], int, int);
descriptor: ([BI[BI[B[BII)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=9, args_size=8
start local 0 // byte[] sig
start local 1 // int sigOff
start local 2 // byte[] pk
start local 3 // int pkOff
start local 4 // byte[] ctx
start local 5 // byte[] m
start local 6 // int mOff
start local 7 // int mLen
0: .line 1171
iconst_0
istore 8 /* phflag */
start local 8 // byte phflag
1: .line 1173
aload 0 /* sig */
iload 1 /* sigOff */
aload 2 /* pk */
iload 3 /* pkOff */
aload 4 /* ctx */
iload 8 /* phflag */
aload 5 /* m */
iload 6 /* mOff */
iload 7 /* mLen */
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.implVerify:([BI[BI[BB[BII)Z
ireturn
end local 8 // byte phflag
end local 7 // int mLen
end local 6 // int mOff
end local 5 // byte[] m
end local 4 // byte[] ctx
end local 3 // int pkOff
end local 2 // byte[] pk
end local 1 // int sigOff
end local 0 // byte[] sig
LocalVariableTable:
Start End Slot Name Signature
0 2 0 sig [B
0 2 1 sigOff I
0 2 2 pk [B
0 2 3 pkOff I
0 2 4 ctx [B
0 2 5 m [B
0 2 6 mOff I
0 2 7 mLen I
1 2 8 phflag B
MethodParameters:
Name Flags
sig
sigOff
pk
pkOff
ctx
m
mOff
mLen
public static boolean verifyPrehash(byte[], int, byte[], int, byte[], byte[], int);
descriptor: ([BI[BI[B[BI)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=8, args_size=7
start local 0 // byte[] sig
start local 1 // int sigOff
start local 2 // byte[] pk
start local 3 // int pkOff
start local 4 // byte[] ctx
start local 5 // byte[] ph
start local 6 // int phOff
0: .line 1178
iconst_1
istore 7 /* phflag */
start local 7 // byte phflag
1: .line 1180
aload 0 /* sig */
iload 1 /* sigOff */
aload 2 /* pk */
iload 3 /* pkOff */
aload 4 /* ctx */
iload 7 /* phflag */
aload 5 /* ph */
iload 6 /* phOff */
bipush 64
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.implVerify:([BI[BI[BB[BII)Z
ireturn
end local 7 // byte phflag
end local 6 // int phOff
end local 5 // byte[] ph
end local 4 // byte[] ctx
end local 3 // int pkOff
end local 2 // byte[] pk
end local 1 // int sigOff
end local 0 // byte[] sig
LocalVariableTable:
Start End Slot Name Signature
0 2 0 sig [B
0 2 1 sigOff I
0 2 2 pk [B
0 2 3 pkOff I
0 2 4 ctx [B
0 2 5 ph [B
0 2 6 phOff I
1 2 7 phflag B
MethodParameters:
Name Flags
sig
sigOff
pk
pkOff
ctx
ph
phOff
public static boolean verifyPrehash(byte[], int, byte[], int, byte[], org.bouncycastle.crypto.Xof);
descriptor: ([BI[BI[BLorg/bouncycastle/crypto/Xof;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=8, args_size=6
start local 0 // byte[] sig
start local 1 // int sigOff
start local 2 // byte[] pk
start local 3 // int pkOff
start local 4 // byte[] ctx
start local 5 // org.bouncycastle.crypto.Xof ph
0: .line 1185
bipush 64
newarray 8
astore 6 /* m */
start local 6 // byte[] m
1: .line 1186
bipush 64
aload 5 /* ph */
aload 6 /* m */
iconst_0
bipush 64
invokeinterface org.bouncycastle.crypto.Xof.doFinal:([BII)I
if_icmpeq 3
2: .line 1188
new java.lang.IllegalArgumentException
dup
ldc "ph"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: .line 1191
StackMap locals: byte[]
StackMap stack:
iconst_1
istore 7 /* phflag */
start local 7 // byte phflag
4: .line 1193
aload 0 /* sig */
iload 1 /* sigOff */
aload 2 /* pk */
iload 3 /* pkOff */
aload 4 /* ctx */
iload 7 /* phflag */
aload 6 /* m */
iconst_0
aload 6 /* m */
arraylength
invokestatic org.bouncycastle.math.ec.rfc8032.Ed448.implVerify:([BI[BI[BB[BII)Z
ireturn
end local 7 // byte phflag
end local 6 // byte[] m
end local 5 // org.bouncycastle.crypto.Xof ph
end local 4 // byte[] ctx
end local 3 // int pkOff
end local 2 // byte[] pk
end local 1 // int sigOff
end local 0 // byte[] sig
LocalVariableTable:
Start End Slot Name Signature
0 5 0 sig [B
0 5 1 sigOff I
0 5 2 pk [B
0 5 3 pkOff I
0 5 4 ctx [B
0 5 5 ph Lorg/bouncycastle/crypto/Xof;
1 5 6 m [B
4 5 7 phflag B
MethodParameters:
Name Flags
sig
sigOff
pk
pkOff
ctx
ph
}
SourceFile: "Ed448.java"
NestMembers:
org.bouncycastle.math.ec.rfc8032.Ed448$Algorithm org.bouncycastle.math.ec.rfc8032.Ed448$PointExt org.bouncycastle.math.ec.rfc8032.Ed448$PointPrecomp
InnerClasses:
public Friend = org.bouncycastle.math.ec.rfc7748.X448$Friend of org.bouncycastle.math.ec.rfc7748.X448
public final Algorithm = org.bouncycastle.math.ec.rfc8032.Ed448$Algorithm of org.bouncycastle.math.ec.rfc8032.Ed448
private PointExt = org.bouncycastle.math.ec.rfc8032.Ed448$PointExt of org.bouncycastle.math.ec.rfc8032.Ed448
private PointPrecomp = org.bouncycastle.math.ec.rfc8032.Ed448$PointPrecomp of org.bouncycastle.math.ec.rfc8032.Ed448