class org.bouncycastle.math.ec.FpNafMultiplier implements org.bouncycastle.math.ec.ECMultiplier
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.bouncycastle.math.ec.FpNafMultiplier
super_class: java.lang.Object
{
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 // org.bouncycastle.math.ec.FpNafMultiplier this
0: .line 8
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.bouncycastle.math.ec.FpNafMultiplier this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/FpNafMultiplier;
public org.bouncycastle.math.ec.ECPoint multiply(org.bouncycastle.math.ec.ECPoint, java.math.BigInteger, org.bouncycastle.math.ec.PreCompInfo);
descriptor: (Lorg/bouncycastle/math/ec/ECPoint;Ljava/math/BigInteger;Lorg/bouncycastle/math/ec/PreCompInfo;)Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=11, args_size=4
start local 0 // org.bouncycastle.math.ec.FpNafMultiplier this
start local 1 // org.bouncycastle.math.ec.ECPoint p
start local 2 // java.math.BigInteger k
start local 3 // org.bouncycastle.math.ec.PreCompInfo preCompInfo
0: .line 18
aload 2 /* k */
astore 4 /* e */
start local 4 // java.math.BigInteger e
1: .line 19
aload 4 /* e */
ldc 3
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.multiply:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 5 /* h */
start local 5 // java.math.BigInteger h
2: .line 21
aload 1 /* p */
invokevirtual org.bouncycastle.math.ec.ECPoint.negate:()Lorg/bouncycastle/math/ec/ECPoint;
astore 6 /* neg */
start local 6 // org.bouncycastle.math.ec.ECPoint neg
3: .line 22
aload 1 /* p */
astore 7 /* R */
start local 7 // org.bouncycastle.math.ec.ECPoint R
4: .line 24
aload 5 /* h */
invokevirtual java.math.BigInteger.bitLength:()I
iconst_2
isub
istore 8 /* i */
start local 8 // int i
5: goto 14
6: .line 26
StackMap locals: org.bouncycastle.math.ec.FpNafMultiplier org.bouncycastle.math.ec.ECPoint java.math.BigInteger org.bouncycastle.math.ec.PreCompInfo java.math.BigInteger java.math.BigInteger org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECPoint int
StackMap stack:
aload 7 /* R */
invokevirtual org.bouncycastle.math.ec.ECPoint.twice:()Lorg/bouncycastle/math/ec/ECPoint;
astore 7 /* R */
7: .line 28
aload 5 /* h */
iload 8 /* i */
invokevirtual java.math.BigInteger.testBit:(I)Z
istore 9 /* hBit */
start local 9 // boolean hBit
8: .line 29
aload 4 /* e */
iload 8 /* i */
invokevirtual java.math.BigInteger.testBit:(I)Z
istore 10 /* eBit */
start local 10 // boolean eBit
9: .line 31
iload 9 /* hBit */
iload 10 /* eBit */
if_icmpeq 13
10: .line 33
aload 7 /* R */
iload 9 /* hBit */
ifeq 11
aload 1 /* p */
goto 12
StackMap locals: org.bouncycastle.math.ec.FpNafMultiplier org.bouncycastle.math.ec.ECPoint java.math.BigInteger org.bouncycastle.math.ec.PreCompInfo java.math.BigInteger java.math.BigInteger org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECPoint int int int
StackMap stack: org.bouncycastle.math.ec.ECPoint
11: aload 6 /* neg */
StackMap locals: org.bouncycastle.math.ec.FpNafMultiplier org.bouncycastle.math.ec.ECPoint java.math.BigInteger org.bouncycastle.math.ec.PreCompInfo java.math.BigInteger java.math.BigInteger org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECPoint int int int
StackMap stack: org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECPoint
12: invokevirtual org.bouncycastle.math.ec.ECPoint.add:(Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
astore 7 /* R */
end local 10 // boolean eBit
end local 9 // boolean hBit
13: .line 24
StackMap locals:
StackMap stack:
iinc 8 /* i */ -1
StackMap locals:
StackMap stack:
14: iload 8 /* i */
ifgt 6
end local 8 // int i
15: .line 37
aload 7 /* R */
areturn
end local 7 // org.bouncycastle.math.ec.ECPoint R
end local 6 // org.bouncycastle.math.ec.ECPoint neg
end local 5 // java.math.BigInteger h
end local 4 // java.math.BigInteger e
end local 3 // org.bouncycastle.math.ec.PreCompInfo preCompInfo
end local 2 // java.math.BigInteger k
end local 1 // org.bouncycastle.math.ec.ECPoint p
end local 0 // org.bouncycastle.math.ec.FpNafMultiplier this
LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/bouncycastle/math/ec/FpNafMultiplier;
0 16 1 p Lorg/bouncycastle/math/ec/ECPoint;
0 16 2 k Ljava/math/BigInteger;
0 16 3 preCompInfo Lorg/bouncycastle/math/ec/PreCompInfo;
1 16 4 e Ljava/math/BigInteger;
2 16 5 h Ljava/math/BigInteger;
3 16 6 neg Lorg/bouncycastle/math/ec/ECPoint;
4 16 7 R Lorg/bouncycastle/math/ec/ECPoint;
5 15 8 i I
8 13 9 hBit Z
9 13 10 eBit Z
MethodParameters:
Name Flags
p
k
preCompInfo
}
SourceFile: "FpNafMultiplier.java"