public abstract class org.bouncycastle.math.ec.WNafUtil
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.bouncycastle.math.ec.WNafUtil
super_class: java.lang.Object
{
public static final java.lang.String PRECOMP_NAME;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "bc_wnaf"
private static final int[] DEFAULT_WINDOW_SIZE_CUTOFFS;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final byte[] EMPTY_BYTES;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] EMPTY_INTS;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.bouncycastle.math.ec.ECPoint[] EMPTY_POINTS;
descriptor: [Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: bipush 6
newarray 10
dup
iconst_0
bipush 13
iastore
dup
iconst_1
bipush 41
iastore
dup
iconst_2
bipush 121
iastore
dup
iconst_3
sipush 337
iastore
dup
iconst_4
sipush 897
iastore
dup
iconst_5
sipush 2305
iastore
putstatic org.bouncycastle.math.ec.WNafUtil.DEFAULT_WINDOW_SIZE_CUTOFFS:[I
1: iconst_0
newarray 8
putstatic org.bouncycastle.math.ec.WNafUtil.EMPTY_BYTES:[B
2: iconst_0
newarray 10
putstatic org.bouncycastle.math.ec.WNafUtil.EMPTY_INTS:[I
3: iconst_0
anewarray org.bouncycastle.math.ec.ECPoint
putstatic org.bouncycastle.math.ec.WNafUtil.EMPTY_POINTS:[Lorg/bouncycastle/math/ec/ECPoint;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/WNafUtil;
public static int[] generateCompactNaf(java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;)[I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=10, args_size=1
start local 0 0: aload 0
invokevirtual java.math.BigInteger.bitLength:()I
bipush 16
iushr
ifeq 2
1: new java.lang.IllegalArgumentException
dup
ldc "'k' must have bitlength < 2^16"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.math.BigInteger.signum:()I
ifne 4
3: getstatic org.bouncycastle.math.ec.WNafUtil.EMPTY_INTS:[I
areturn
4: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
aload 0
invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 1
start local 1 5: aload 1
invokevirtual java.math.BigInteger.bitLength:()I
istore 2
start local 2 6: iload 2
iconst_1
ishr
newarray 10
astore 3
start local 3 7: aload 1
aload 0
invokevirtual java.math.BigInteger.xor:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 4
start local 4 8: iload 2
iconst_1
isub
istore 5
start local 5 9: iconst_0
istore 6
start local 6 10: iconst_0
istore 7
start local 7 11: iconst_1
istore 8
start local 8 12: goto 23
13: StackMap locals: java.math.BigInteger java.math.BigInteger int int[] java.math.BigInteger int int int int
StackMap stack:
aload 4
iload 8
invokevirtual java.math.BigInteger.testBit:(I)Z
ifne 16
14: iinc 7 1
15: goto 22
16: StackMap locals:
StackMap stack:
aload 0
iload 8
invokevirtual java.math.BigInteger.testBit:(I)Z
ifeq 17
iconst_m1
goto 18
StackMap locals:
StackMap stack:
17: iconst_1
StackMap locals:
StackMap stack: int
18: istore 9
start local 9 19: aload 3
iload 6
iinc 6 1
iload 9
bipush 16
ishl
iload 7
ior
iastore
20: iconst_1
istore 7
21: iinc 8 1
end local 9 22: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
23: iload 8
iload 5
if_icmplt 13
end local 8 24: aload 3
iload 6
iinc 6 1
ldc 65536
iload 7
ior
iastore
25: aload 3
arraylength
iload 6
if_icmple 27
26: aload 3
iload 6
invokestatic org.bouncycastle.math.ec.WNafUtil.trim:([II)[I
astore 3
27: StackMap locals:
StackMap stack:
aload 3
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 k Ljava/math/BigInteger;
5 28 1 _3k Ljava/math/BigInteger;
6 28 2 bits I
7 28 3 naf [I
8 28 4 diff Ljava/math/BigInteger;
9 28 5 highBit I
10 28 6 length I
11 28 7 zeroes I
12 24 8 i I
19 22 9 digit I
MethodParameters:
Name Flags
k
public static int[] generateCompactWindowNaf(int, java.math.BigInteger);
descriptor: (ILjava/math/BigInteger;)[I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=11, args_size=2
start local 0 start local 1 0: iload 0
iconst_2
if_icmpne 2
1: aload 1
invokestatic org.bouncycastle.math.ec.WNafUtil.generateCompactNaf:(Ljava/math/BigInteger;)[I
areturn
2: StackMap locals:
StackMap stack:
iload 0
iconst_2
if_icmplt 3
iload 0
bipush 16
if_icmple 4
3: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "'width' must be in the range [2, 16]"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.math.BigInteger.bitLength:()I
bipush 16
iushr
ifeq 6
5: new java.lang.IllegalArgumentException
dup
ldc "'k' must have bitlength < 2^16"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.math.BigInteger.signum:()I
ifne 8
7: getstatic org.bouncycastle.math.ec.WNafUtil.EMPTY_INTS:[I
areturn
8: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.math.BigInteger.bitLength:()I
iload 0
idiv
iconst_1
iadd
newarray 10
astore 2
start local 2 9: iconst_1
iload 0
ishl
istore 3
start local 3 10: iload 3
iconst_1
isub
istore 4
start local 4 11: iload 3
iconst_1
iushr
istore 5
start local 5 12: iconst_0
istore 6
start local 6 13: iconst_0
istore 7
start local 7 14: iconst_0
istore 8
start local 8 15: goto 33
16: StackMap locals: int java.math.BigInteger int[] int int int int int int
StackMap stack:
aload 1
iload 8
invokevirtual java.math.BigInteger.testBit:(I)Z
iload 6
if_icmpne 19
17: iinc 8 1
18: goto 33
19: StackMap locals:
StackMap stack:
aload 1
iload 8
invokevirtual java.math.BigInteger.shiftRight:(I)Ljava/math/BigInteger;
astore 1
20: aload 1
invokevirtual java.math.BigInteger.intValue:()I
iload 4
iand
istore 9
start local 9 21: iload 6
ifeq 23
22: iinc 9 1
23: StackMap locals: int
StackMap stack:
iload 9
iload 5
iand
ifeq 24
iconst_1
goto 25
StackMap locals:
StackMap stack:
24: iconst_0
StackMap locals:
StackMap stack: int
25: istore 6
26: iload 6
ifeq 28
27: iload 9
iload 3
isub
istore 9
28: StackMap locals:
StackMap stack:
iload 7
ifle 29
iload 8
iconst_1
isub
goto 30
StackMap locals:
StackMap stack:
29: iload 8
StackMap locals:
StackMap stack: int
30: istore 10
start local 10 31: aload 2
iload 7
iinc 7 1
iload 9
bipush 16
ishl
iload 10
ior
iastore
32: iload 0
istore 8
end local 10 end local 9 33: StackMap locals:
StackMap stack:
iload 8
aload 1
invokevirtual java.math.BigInteger.bitLength:()I
if_icmple 16
34: aload 2
arraylength
iload 7
if_icmple 36
35: aload 2
iload 7
invokestatic org.bouncycastle.math.ec.WNafUtil.trim:([II)[I
astore 2
36: StackMap locals:
StackMap stack:
aload 2
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 width I
0 37 1 k Ljava/math/BigInteger;
9 37 2 wnaf [I
10 37 3 pow2 I
11 37 4 mask I
12 37 5 sign I
13 37 6 carry Z
14 37 7 length I
15 37 8 pos I
21 33 9 digit I
31 33 10 zeroes I
MethodParameters:
Name Flags
width
k
public static byte[] generateJSF(java.math.BigInteger, java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;Ljava/math/BigInteger;)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=14, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.math.BigInteger.bitLength:()I
aload 1
invokevirtual java.math.BigInteger.bitLength:()I
invokestatic java.lang.Math.max:(II)I
iconst_1
iadd
istore 2
start local 2 1: iload 2
newarray 8
astore 3
start local 3 2: aload 0
astore 4
start local 4 3: aload 1
astore 5
start local 5 4: iconst_0
istore 6
start local 6 5: iconst_0
istore 7
start local 7 6: iconst_0
istore 8
start local 8 7: iconst_0
istore 9
start local 9 8: goto 30
9: StackMap locals: java.math.BigInteger java.math.BigInteger int byte[] java.math.BigInteger java.math.BigInteger int int int int
StackMap stack:
aload 4
invokevirtual java.math.BigInteger.intValue:()I
iload 9
iushr
iload 7
iadd
bipush 7
iand
istore 10
start local 10 10: aload 5
invokevirtual java.math.BigInteger.intValue:()I
iload 9
iushr
iload 8
iadd
bipush 7
iand
istore 11
start local 11 11: iload 10
iconst_1
iand
istore 12
start local 12 12: iload 12
ifeq 16
13: iload 12
iload 10
iconst_2
iand
isub
istore 12
14: iload 10
iload 12
iadd
iconst_4
if_icmpne 16
iload 11
iconst_3
iand
iconst_2
if_icmpne 16
15: iload 12
ineg
istore 12
16: StackMap locals: int int int
StackMap stack:
iload 11
iconst_1
iand
istore 13
start local 13 17: iload 13
ifeq 21
18: iload 13
iload 11
iconst_2
iand
isub
istore 13
19: iload 11
iload 13
iadd
iconst_4
if_icmpne 21
iload 10
iconst_3
iand
iconst_2
if_icmpne 21
20: iload 13
ineg
istore 13
21: StackMap locals: int
StackMap stack:
iload 7
iconst_1
ishl
iconst_1
iload 12
iadd
if_icmpne 23
22: iload 7
iconst_1
ixor
istore 7
23: StackMap locals:
StackMap stack:
iload 8
iconst_1
ishl
iconst_1
iload 13
iadd
if_icmpne 25
24: iload 8
iconst_1
ixor
istore 8
25: StackMap locals:
StackMap stack:
iinc 9 1
iload 9
bipush 30
if_icmpne 29
26: iconst_0
istore 9
27: aload 4
bipush 30
invokevirtual java.math.BigInteger.shiftRight:(I)Ljava/math/BigInteger;
astore 4
28: aload 5
bipush 30
invokevirtual java.math.BigInteger.shiftRight:(I)Ljava/math/BigInteger;
astore 5
29: StackMap locals:
StackMap stack:
aload 3
iload 6
iinc 6 1
iload 12
iconst_4
ishl
iload 13
bipush 15
iand
ior
i2b
bastore
end local 13 end local 12 end local 11 end local 10 30: StackMap locals: java.math.BigInteger java.math.BigInteger int byte[] java.math.BigInteger java.math.BigInteger int int int int
StackMap stack:
iload 7
iload 8
ior
ifne 9
aload 4
invokevirtual java.math.BigInteger.bitLength:()I
iload 9
if_icmpgt 9
aload 5
invokevirtual java.math.BigInteger.bitLength:()I
iload 9
if_icmpgt 9
31: aload 3
arraylength
iload 6
if_icmple 33
32: aload 3
iload 6
invokestatic org.bouncycastle.math.ec.WNafUtil.trim:([BI)[B
astore 3
33: StackMap locals:
StackMap stack:
aload 3
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 g Ljava/math/BigInteger;
0 34 1 h Ljava/math/BigInteger;
1 34 2 digits I
2 34 3 jsf [B
3 34 4 k0 Ljava/math/BigInteger;
4 34 5 k1 Ljava/math/BigInteger;
5 34 6 j I
6 34 7 d0 I
7 34 8 d1 I
8 34 9 offset I
10 30 10 n0 I
11 30 11 n1 I
12 30 12 u0 I
17 30 13 u1 I
MethodParameters:
Name Flags
g
h
public static byte[] generateNaf(java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual java.math.BigInteger.signum:()I
ifne 2
1: getstatic org.bouncycastle.math.ec.WNafUtil.EMPTY_BYTES:[B
areturn
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
aload 0
invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 1
start local 1 3: aload 1
invokevirtual java.math.BigInteger.bitLength:()I
iconst_1
isub
istore 2
start local 2 4: iload 2
newarray 8
astore 3
start local 3 5: aload 1
aload 0
invokevirtual java.math.BigInteger.xor:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 4
start local 4 6: iconst_1
istore 5
start local 5 7: goto 14
8: StackMap locals: java.math.BigInteger java.math.BigInteger int byte[] java.math.BigInteger int
StackMap stack:
aload 4
iload 5
invokevirtual java.math.BigInteger.testBit:(I)Z
ifeq 13
9: aload 3
iload 5
iconst_1
isub
aload 0
iload 5
invokevirtual java.math.BigInteger.testBit:(I)Z
ifeq 10
iconst_m1
goto 11
StackMap locals: java.math.BigInteger java.math.BigInteger int byte[] java.math.BigInteger int
StackMap stack: byte[] int
10: iconst_1
StackMap locals: java.math.BigInteger java.math.BigInteger int byte[] java.math.BigInteger int
StackMap stack: byte[] int int
11: i2b
bastore
12: iinc 5 1
13: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
14: iload 5
iload 2
if_icmplt 8
end local 5 15: aload 3
iload 2
iconst_1
isub
iconst_1
bastore
16: aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 k Ljava/math/BigInteger;
3 17 1 _3k Ljava/math/BigInteger;
4 17 2 digits I
5 17 3 naf [B
6 17 4 diff Ljava/math/BigInteger;
7 15 5 i I
MethodParameters:
Name Flags
k
public static byte[] generateWindowNaf(int, java.math.BigInteger);
descriptor: (ILjava/math/BigInteger;)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=10, args_size=2
start local 0 start local 1 0: iload 0
iconst_2
if_icmpne 2
1: aload 1
invokestatic org.bouncycastle.math.ec.WNafUtil.generateNaf:(Ljava/math/BigInteger;)[B
areturn
2: StackMap locals:
StackMap stack:
iload 0
iconst_2
if_icmplt 3
iload 0
bipush 8
if_icmple 4
3: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "'width' must be in the range [2, 8]"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.math.BigInteger.signum:()I
ifne 6
5: getstatic org.bouncycastle.math.ec.WNafUtil.EMPTY_BYTES:[B
areturn
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.math.BigInteger.bitLength:()I
iconst_1
iadd
newarray 8
astore 2
start local 2 7: iconst_1
iload 0
ishl
istore 3
start local 3 8: iload 3
iconst_1
isub
istore 4
start local 4 9: iload 3
iconst_1
iushr
istore 5
start local 5 10: iconst_0
istore 6
start local 6 11: iconst_0
istore 7
start local 7 12: iconst_0
istore 8
start local 8 13: goto 31
14: StackMap locals: int java.math.BigInteger byte[] int int int int int int
StackMap stack:
aload 1
iload 8
invokevirtual java.math.BigInteger.testBit:(I)Z
iload 6
if_icmpne 17
15: iinc 8 1
16: goto 31
17: StackMap locals:
StackMap stack:
aload 1
iload 8
invokevirtual java.math.BigInteger.shiftRight:(I)Ljava/math/BigInteger;
astore 1
18: aload 1
invokevirtual java.math.BigInteger.intValue:()I
iload 4
iand
istore 9
start local 9 19: iload 6
ifeq 21
20: iinc 9 1
21: StackMap locals: int
StackMap stack:
iload 9
iload 5
iand
ifeq 22
iconst_1
goto 23
StackMap locals:
StackMap stack:
22: iconst_0
StackMap locals:
StackMap stack: int
23: istore 6
24: iload 6
ifeq 26
25: iload 9
iload 3
isub
istore 9
26: StackMap locals:
StackMap stack:
iload 7
iload 7
ifle 27
iload 8
iconst_1
isub
goto 28
StackMap locals:
StackMap stack: int
27: iload 8
StackMap locals: int java.math.BigInteger byte[] int int int int int int int
StackMap stack: int int
28: iadd
istore 7
29: aload 2
iload 7
iinc 7 1
iload 9
i2b
bastore
30: iload 0
istore 8
end local 9 31: StackMap locals:
StackMap stack:
iload 8
aload 1
invokevirtual java.math.BigInteger.bitLength:()I
if_icmple 14
32: aload 2
arraylength
iload 7
if_icmple 34
33: aload 2
iload 7
invokestatic org.bouncycastle.math.ec.WNafUtil.trim:([BI)[B
astore 2
34: StackMap locals:
StackMap stack:
aload 2
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 width I
0 35 1 k Ljava/math/BigInteger;
7 35 2 wnaf [B
8 35 3 pow2 I
9 35 4 mask I
10 35 5 sign I
11 35 6 carry Z
12 35 7 length I
13 35 8 pos I
19 31 9 digit I
MethodParameters:
Name Flags
width
k
public static int getNafWeight(java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual java.math.BigInteger.signum:()I
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
aload 0
invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 1
start local 1 3: aload 1
aload 0
invokevirtual java.math.BigInteger.xor:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 2
start local 2 4: aload 2
invokevirtual java.math.BigInteger.bitCount:()I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 k Ljava/math/BigInteger;
3 5 1 _3k Ljava/math/BigInteger;
4 5 2 diff Ljava/math/BigInteger;
MethodParameters:
Name Flags
k
public static org.bouncycastle.math.ec.WNafPreCompInfo getWNafPreCompInfo(org.bouncycastle.math.ec.ECPoint);
descriptor: (Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/WNafPreCompInfo;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
aload 0
ldc "bc_wnaf"
invokevirtual org.bouncycastle.math.ec.ECCurve.getPreCompInfo:(Lorg/bouncycastle/math/ec/ECPoint;Ljava/lang/String;)Lorg/bouncycastle/math/ec/PreCompInfo;
invokestatic org.bouncycastle.math.ec.WNafUtil.getWNafPreCompInfo:(Lorg/bouncycastle/math/ec/PreCompInfo;)Lorg/bouncycastle/math/ec/WNafPreCompInfo;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 p Lorg/bouncycastle/math/ec/ECPoint;
MethodParameters:
Name Flags
p
public static org.bouncycastle.math.ec.WNafPreCompInfo getWNafPreCompInfo(org.bouncycastle.math.ec.PreCompInfo);
descriptor: (Lorg/bouncycastle/math/ec/PreCompInfo;)Lorg/bouncycastle/math/ec/WNafPreCompInfo;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof org.bouncycastle.math.ec.WNafPreCompInfo
ifeq 1
aload 0
checkcast org.bouncycastle.math.ec.WNafPreCompInfo
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: org.bouncycastle.math.ec.WNafPreCompInfo
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 preCompInfo Lorg/bouncycastle/math/ec/PreCompInfo;
MethodParameters:
Name Flags
preCompInfo
public static int getWindowSize(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
getstatic org.bouncycastle.math.ec.WNafUtil.DEFAULT_WINDOW_SIZE_CUTOFFS:[I
invokestatic org.bouncycastle.math.ec.WNafUtil.getWindowSize:(I[I)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 bits I
MethodParameters:
Name Flags
bits
public static int getWindowSize(int, int[]);
descriptor: (I[I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 5
2: StackMap locals: int
StackMap stack:
iload 0
aload 1
iload 2
iaload
if_icmpge 4
3: goto 6
4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 1
arraylength
if_icmplt 2
6: StackMap locals:
StackMap stack:
iload 2
iconst_2
iadd
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 bits I
0 7 1 windowSizeCutoffs [I
1 7 2 w I
MethodParameters:
Name Flags
bits
windowSizeCutoffs
public static org.bouncycastle.math.ec.ECPoint mapPointWithPrecomp(org.bouncycastle.math.ec.ECPoint, int, boolean, org.bouncycastle.math.ec.ECPointMap);
descriptor: (Lorg/bouncycastle/math/ec/ECPoint;IZLorg/bouncycastle/math/ec/ECPointMap;)Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
astore 4
start local 4 1: aload 0
iload 1
iload 2
invokestatic org.bouncycastle.math.ec.WNafUtil.precompute:(Lorg/bouncycastle/math/ec/ECPoint;IZ)Lorg/bouncycastle/math/ec/WNafPreCompInfo;
astore 5
start local 5 2: aload 3
aload 0
invokeinterface org.bouncycastle.math.ec.ECPointMap.map:(Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
astore 6
start local 6 3: aload 4
aload 6
ldc "bc_wnaf"
new org.bouncycastle.math.ec.WNafUtil$1
dup
aload 5
aload 3
iload 2
invokespecial org.bouncycastle.math.ec.WNafUtil$1.<init>:(Lorg/bouncycastle/math/ec/WNafPreCompInfo;Lorg/bouncycastle/math/ec/ECPointMap;Z)V
invokevirtual org.bouncycastle.math.ec.ECCurve.precompute:(Lorg/bouncycastle/math/ec/ECPoint;Ljava/lang/String;Lorg/bouncycastle/math/ec/PreCompCallback;)Lorg/bouncycastle/math/ec/PreCompInfo;
pop
4: aload 6
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 p Lorg/bouncycastle/math/ec/ECPoint;
0 5 1 width I
0 5 2 includeNegated Z
0 5 3 pointMap Lorg/bouncycastle/math/ec/ECPointMap;
1 5 4 c Lorg/bouncycastle/math/ec/ECCurve;
2 5 5 wnafPreCompP Lorg/bouncycastle/math/ec/WNafPreCompInfo;
3 5 6 q Lorg/bouncycastle/math/ec/ECPoint;
MethodParameters:
Name Flags
p
width final
includeNegated final
pointMap final
public static org.bouncycastle.math.ec.WNafPreCompInfo precompute(org.bouncycastle.math.ec.ECPoint, int, boolean);
descriptor: (Lorg/bouncycastle/math/ec/ECPoint;IZ)Lorg/bouncycastle/math/ec/WNafPreCompInfo;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
astore 3
start local 3 1: aload 3
aload 0
ldc "bc_wnaf"
new org.bouncycastle.math.ec.WNafUtil$2
dup
iload 1
iload 2
aload 0
aload 3
invokespecial org.bouncycastle.math.ec.WNafUtil$2.<init>:(IZLorg/bouncycastle/math/ec/ECPoint;Lorg/bouncycastle/math/ec/ECCurve;)V
invokevirtual org.bouncycastle.math.ec.ECCurve.precompute:(Lorg/bouncycastle/math/ec/ECPoint;Ljava/lang/String;Lorg/bouncycastle/math/ec/PreCompCallback;)Lorg/bouncycastle/math/ec/PreCompInfo;
checkcast org.bouncycastle.math.ec.WNafPreCompInfo
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 p Lorg/bouncycastle/math/ec/ECPoint;
0 2 1 width I
0 2 2 includeNegated Z
1 2 3 c Lorg/bouncycastle/math/ec/ECCurve;
MethodParameters:
Name Flags
p final
width final
includeNegated final
private static byte[] trim(byte[], int);
descriptor: ([BI)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: iload 1
newarray 8
astore 2
start local 2 1: aload 0
iconst_0
aload 2
iconst_0
aload 2
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 a [B
0 3 1 length I
1 3 2 result [B
MethodParameters:
Name Flags
a
length
private static int[] trim(int[], int);
descriptor: ([II)[I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: iload 1
newarray 10
astore 2
start local 2 1: aload 0
iconst_0
aload 2
iconst_0
aload 2
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 a [I
0 3 1 length I
1 3 2 result [I
MethodParameters:
Name Flags
a
length
private static org.bouncycastle.math.ec.ECPoint[] resizeTable(org.bouncycastle.math.ec.ECPoint[], int);
descriptor: ([Lorg/bouncycastle/math/ec/ECPoint;I)[Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: iload 1
anewarray org.bouncycastle.math.ec.ECPoint
astore 2
start local 2 1: aload 0
iconst_0
aload 2
iconst_0
aload 0
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 a [Lorg/bouncycastle/math/ec/ECPoint;
0 3 1 length I
1 3 2 result [Lorg/bouncycastle/math/ec/ECPoint;
MethodParameters:
Name Flags
a
length
}
SourceFile: "WNafUtil.java"
NestMembers:
org.bouncycastle.math.ec.WNafUtil$1 org.bouncycastle.math.ec.WNafUtil$2
InnerClasses:
org.bouncycastle.math.ec.WNafUtil$1
org.bouncycastle.math.ec.WNafUtil$2