public abstract class org.bouncycastle.math.ec.ECPoint
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.bouncycastle.math.ec.ECPoint
super_class: java.lang.Object
{
protected static final org.bouncycastle.math.ec.ECFieldElement[] EMPTY_ZS;
descriptor: [Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected org.bouncycastle.math.ec.ECCurve curve;
descriptor: Lorg/bouncycastle/math/ec/ECCurve;
flags: (0x0004) ACC_PROTECTED
protected org.bouncycastle.math.ec.ECFieldElement x;
descriptor: Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0004) ACC_PROTECTED
protected org.bouncycastle.math.ec.ECFieldElement y;
descriptor: Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0004) ACC_PROTECTED
protected org.bouncycastle.math.ec.ECFieldElement[] zs;
descriptor: [Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0004) ACC_PROTECTED
protected boolean withCompression;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected java.util.Hashtable preCompTable;
descriptor: Ljava/util/Hashtable;
flags: (0x0004) ACC_PROTECTED
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
anewarray org.bouncycastle.math.ec.ECFieldElement
putstatic org.bouncycastle.math.ec.ECPoint.EMPTY_ZS:[Lorg/bouncycastle/math/ec/ECFieldElement;
return
LocalVariableTable:
Start End Slot Name Signature
protected static org.bouncycastle.math.ec.ECFieldElement[] getInitialZCoords(org.bouncycastle.math.ec.ECCurve);
descriptor: (Lorg/bouncycastle/math/ec/ECCurve;)[Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
ifnonnull 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: aload 0
invokevirtual org.bouncycastle.math.ec.ECCurve.getCoordinateSystem:()I
StackMap locals:
StackMap stack: int
2: istore 1
start local 1 3: iload 1
lookupswitch { // 2
0: 4
5: 4
default: 5
}
4: StackMap locals: int
StackMap stack:
getstatic org.bouncycastle.math.ec.ECPoint.EMPTY_ZS:[Lorg/bouncycastle/math/ec/ECFieldElement;
areturn
5: StackMap locals:
StackMap stack:
aload 0
getstatic org.bouncycastle.math.ec.ECConstants.ONE:Ljava/math/BigInteger;
invokevirtual org.bouncycastle.math.ec.ECCurve.fromBigInteger:(Ljava/math/BigInteger;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 2
start local 2 6: iload 1
tableswitch { // 1 - 6
1: 7
2: 7
3: 8
4: 9
5: 10
6: 7
default: 10
}
7: StackMap locals: org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
iconst_1
anewarray org.bouncycastle.math.ec.ECFieldElement
dup
iconst_0
aload 2
aastore
areturn
8: StackMap locals:
StackMap stack:
iconst_3
anewarray org.bouncycastle.math.ec.ECFieldElement
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
aload 2
aastore
areturn
9: StackMap locals:
StackMap stack:
iconst_2
anewarray org.bouncycastle.math.ec.ECFieldElement
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 0
invokevirtual org.bouncycastle.math.ec.ECCurve.getA:()Lorg/bouncycastle/math/ec/ECFieldElement;
aastore
areturn
10: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "unknown coordinate system"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 curve Lorg/bouncycastle/math/ec/ECCurve;
3 11 1 coord I
6 11 2 one Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
curve
protected void <init>(org.bouncycastle.math.ec.ECCurve, org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
aload 1
invokestatic org.bouncycastle.math.ec.ECPoint.getInitialZCoords:(Lorg/bouncycastle/math/ec/ECCurve;)[Lorg/bouncycastle/math/ec/ECFieldElement;
invokespecial org.bouncycastle.math.ec.ECPoint.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;[Lorg/bouncycastle/math/ec/ECFieldElement;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/math/ec/ECPoint;
0 2 1 curve Lorg/bouncycastle/math/ec/ECCurve;
0 2 2 x Lorg/bouncycastle/math/ec/ECFieldElement;
0 2 3 y Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
curve
x
y
protected void <init>(org.bouncycastle.math.ec.ECCurve, org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement[]);
descriptor: (Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;[Lorg/bouncycastle/math/ec/ECFieldElement;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield org.bouncycastle.math.ec.ECPoint.preCompTable:Ljava/util/Hashtable;
2: aload 0
aload 1
putfield org.bouncycastle.math.ec.ECPoint.curve:Lorg/bouncycastle/math/ec/ECCurve;
3: aload 0
aload 2
putfield org.bouncycastle.math.ec.ECPoint.x:Lorg/bouncycastle/math/ec/ECFieldElement;
4: aload 0
aload 3
putfield org.bouncycastle.math.ec.ECPoint.y:Lorg/bouncycastle/math/ec/ECFieldElement;
5: aload 0
aload 4
putfield org.bouncycastle.math.ec.ECPoint.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
6: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/math/ec/ECPoint;
0 7 1 curve Lorg/bouncycastle/math/ec/ECCurve;
0 7 2 x Lorg/bouncycastle/math/ec/ECFieldElement;
0 7 3 y Lorg/bouncycastle/math/ec/ECFieldElement;
0 7 4 zs [Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
curve
x
y
zs
protected abstract boolean satisfiesCurveEquation();
descriptor: ()Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
protected boolean satisfiesOrder();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic org.bouncycastle.math.ec.ECConstants.ONE:Ljava/math/BigInteger;
aload 0
getfield org.bouncycastle.math.ec.ECPoint.curve:Lorg/bouncycastle/math/ec/ECCurve;
invokevirtual org.bouncycastle.math.ec.ECCurve.getCofactor:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.math.ec.ECPoint.curve:Lorg/bouncycastle/math/ec/ECCurve;
invokevirtual org.bouncycastle.math.ec.ECCurve.getOrder:()Ljava/math/BigInteger;
astore 1
start local 1 3: aload 1
ifnull 4
aload 0
aload 1
invokestatic org.bouncycastle.math.ec.ECAlgorithms.referenceMultiply:(Lorg/bouncycastle/math/ec/ECPoint;Ljava/math/BigInteger;)Lorg/bouncycastle/math/ec/ECPoint;
invokevirtual org.bouncycastle.math.ec.ECPoint.isInfinity:()Z
ifne 4
iconst_0
ireturn
StackMap locals: java.math.BigInteger
StackMap stack:
4: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/math/ec/ECPoint;
3 5 1 n Ljava/math/BigInteger;
public final org.bouncycastle.math.ec.ECPoint getDetachedPoint();
descriptor: ()Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.normalize:()Lorg/bouncycastle/math/ec/ECPoint;
invokevirtual org.bouncycastle.math.ec.ECPoint.detach:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECPoint;
public org.bouncycastle.math.ec.ECCurve getCurve();
descriptor: ()Lorg/bouncycastle/math/ec/ECCurve;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECPoint.curve:Lorg/bouncycastle/math/ec/ECCurve;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECPoint;
protected abstract org.bouncycastle.math.ec.ECPoint detach();
descriptor: ()Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
protected int getCurveCoordinateSystem();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECPoint.curve:Lorg/bouncycastle/math/ec/ECCurve;
ifnonnull 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield org.bouncycastle.math.ec.ECPoint.curve:Lorg/bouncycastle/math/ec/ECCurve;
invokevirtual org.bouncycastle.math.ec.ECCurve.getCoordinateSystem:()I
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/ECPoint;
public org.bouncycastle.math.ec.ECFieldElement getAffineXCoord();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.checkNormalized:()V
1: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.getXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/math/ec/ECPoint;
public org.bouncycastle.math.ec.ECFieldElement getAffineYCoord();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.checkNormalized:()V
1: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.getYCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/math/ec/ECPoint;
public org.bouncycastle.math.ec.ECFieldElement getXCoord();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECPoint.x:Lorg/bouncycastle/math/ec/ECFieldElement;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECPoint;
public org.bouncycastle.math.ec.ECFieldElement getYCoord();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECPoint.y:Lorg/bouncycastle/math/ec/ECFieldElement;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECPoint;
public org.bouncycastle.math.ec.ECFieldElement getZCoord(int);
descriptor: (I)Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iflt 1
iload 1
aload 0
getfield org.bouncycastle.math.ec.ECPoint.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
arraylength
if_icmplt 2
StackMap locals:
StackMap stack:
1: aconst_null
goto 3
StackMap locals:
StackMap stack:
2: aload 0
getfield org.bouncycastle.math.ec.ECPoint.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
iload 1
aaload
StackMap locals:
StackMap stack: org.bouncycastle.math.ec.ECFieldElement
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/math/ec/ECPoint;
0 4 1 index I
MethodParameters:
Name Flags
index
public org.bouncycastle.math.ec.ECFieldElement[] getZCoords();
descriptor: ()[Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECPoint.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
arraylength
istore 1
start local 1 1: iload 1
ifne 3
2: getstatic org.bouncycastle.math.ec.ECPoint.EMPTY_ZS:[Lorg/bouncycastle/math/ec/ECFieldElement;
areturn
3: StackMap locals: int
StackMap stack:
iload 1
anewarray org.bouncycastle.math.ec.ECFieldElement
astore 2
start local 2 4: aload 0
getfield org.bouncycastle.math.ec.ECPoint.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
iconst_0
aload 2
iconst_0
iload 1
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
5: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bouncycastle/math/ec/ECPoint;
1 6 1 zsLen I
4 6 2 copy [Lorg/bouncycastle/math/ec/ECFieldElement;
public final org.bouncycastle.math.ec.ECFieldElement getRawXCoord();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECPoint.x:Lorg/bouncycastle/math/ec/ECFieldElement;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECPoint;
public final org.bouncycastle.math.ec.ECFieldElement getRawYCoord();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECPoint.y:Lorg/bouncycastle/math/ec/ECFieldElement;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECPoint;
protected final org.bouncycastle.math.ec.ECFieldElement[] getRawZCoords();
descriptor: ()[Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECPoint.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECPoint;
protected void checkNormalized();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.isNormalized:()Z
ifne 2
1: new java.lang.IllegalStateException
dup
ldc "point not in normal form"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/ECPoint;
public boolean isNormalized();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.getCurveCoordinateSystem:()I
istore 1
start local 1 1: iload 1
ifeq 6
2: iload 1
iconst_5
if_icmpeq 6
3: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.isInfinity:()Z
ifne 6
4: aload 0
getfield org.bouncycastle.math.ec.ECPoint.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
iconst_0
aaload
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isOne:()Z
ifne 6
5: iconst_0
ireturn
StackMap locals: int
StackMap stack:
6: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/math/ec/ECPoint;
1 7 1 coord I
public org.bouncycastle.math.ec.ECPoint normalize();
descriptor: ()Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.isInfinity:()Z
ifeq 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.getCurveCoordinateSystem:()I
lookupswitch { // 2
0: 3
5: 3
default: 4
}
3: StackMap locals:
StackMap stack:
aload 0
areturn
4: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual org.bouncycastle.math.ec.ECPoint.getZCoord:(I)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 1
start local 1 5: aload 1
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isOne:()Z
ifeq 7
6: aload 0
areturn
7: StackMap locals: org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
aload 0
aload 1
invokevirtual org.bouncycastle.math.ec.ECFieldElement.invert:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECPoint.normalize:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECPoint;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/bouncycastle/math/ec/ECPoint;
5 8 1 Z1 Lorg/bouncycastle/math/ec/ECFieldElement;
org.bouncycastle.math.ec.ECPoint normalize(org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0000)
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.getCurveCoordinateSystem:()I
tableswitch { // 1 - 6
1: 1
2: 2
3: 2
4: 2
5: 5
6: 1
default: 5
}
1: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint.createScaledPoint:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECPoint;
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 2
start local 2 3: aload 2
aload 1
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 3
start local 3 4: aload 0
aload 2
aload 3
invokevirtual org.bouncycastle.math.ec.ECPoint.createScaledPoint:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECPoint;
areturn
end local 3 end local 2 5: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "not a projective coordinate system"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bouncycastle/math/ec/ECPoint;
0 6 1 zInv Lorg/bouncycastle/math/ec/ECFieldElement;
3 5 2 zInv2 Lorg/bouncycastle/math/ec/ECFieldElement;
4 5 3 zInv3 Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
zInv
protected org.bouncycastle.math.ec.ECPoint createScaledPoint(org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, 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;
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.getRawXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 1
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.getRawYCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 2
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
getfield org.bouncycastle.math.ec.ECPoint.withCompression:Z
invokevirtual org.bouncycastle.math.ec.ECCurve.createRawPoint:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)Lorg/bouncycastle/math/ec/ECPoint;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECPoint;
0 1 1 sx Lorg/bouncycastle/math/ec/ECFieldElement;
0 1 2 sy Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
sx
sy
public boolean isInfinity();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECPoint.x:Lorg/bouncycastle/math/ec/ECFieldElement;
ifnull 2
aload 0
getfield org.bouncycastle.math.ec.ECPoint.y:Lorg/bouncycastle/math/ec/ECFieldElement;
ifnull 2
aload 0
getfield org.bouncycastle.math.ec.ECPoint.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
arraylength
ifle 1
aload 0
getfield org.bouncycastle.math.ec.ECPoint.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
iconst_0
aaload
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
ifne 2
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
StackMap locals:
StackMap stack:
2: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/ECPoint;
public boolean isCompressed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECPoint.withCompression:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECPoint;
public boolean isValid();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
iconst_1
invokevirtual org.bouncycastle.math.ec.ECPoint.implIsValid:(ZZ)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECPoint;
boolean isValidPartial();
descriptor: ()Z
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
iconst_0
invokevirtual org.bouncycastle.math.ec.ECPoint.implIsValid:(ZZ)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECPoint;
boolean implIsValid(boolean, boolean);
descriptor: (ZZ)Z
flags: (0x0000)
Code:
stack=8, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.isInfinity:()Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
aload 0
ldc "bc_validity"
new org.bouncycastle.math.ec.ECPoint$1
dup
aload 0
iload 1
iload 2
invokespecial org.bouncycastle.math.ec.ECPoint$1.<init>:(Lorg/bouncycastle/math/ec/ECPoint;ZZ)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.ValidityPrecompInfo
astore 3
start local 3 3: aload 3
invokevirtual org.bouncycastle.math.ec.ValidityPrecompInfo.hasFailed:()Z
ifeq 4
iconst_0
goto 5
StackMap locals: org.bouncycastle.math.ec.ValidityPrecompInfo
StackMap stack:
4: iconst_1
StackMap locals:
StackMap stack: int
5: ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bouncycastle/math/ec/ECPoint;
0 6 1 decompressed Z
0 6 2 checkOrder Z
3 6 3 validity Lorg/bouncycastle/math/ec/ValidityPrecompInfo;
MethodParameters:
Name Flags
decompressed final
checkOrder final
public org.bouncycastle.math.ec.ECPoint scaleX(org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.isInfinity:()Z
ifeq 2
1: aload 0
goto 3
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.getRawXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 1
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.getRawYCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.getRawZCoords:()[Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
getfield org.bouncycastle.math.ec.ECPoint.withCompression:Z
invokevirtual org.bouncycastle.math.ec.ECCurve.createRawPoint:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;[Lorg/bouncycastle/math/ec/ECFieldElement;Z)Lorg/bouncycastle/math/ec/ECPoint;
3: StackMap locals:
StackMap stack: org.bouncycastle.math.ec.ECPoint
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/math/ec/ECPoint;
0 4 1 scale Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
scale
public org.bouncycastle.math.ec.ECPoint scaleY(org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.isInfinity:()Z
ifeq 2
1: aload 0
goto 3
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.getRawXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.getRawYCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 1
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.getRawZCoords:()[Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
getfield org.bouncycastle.math.ec.ECPoint.withCompression:Z
invokevirtual org.bouncycastle.math.ec.ECCurve.createRawPoint:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;[Lorg/bouncycastle/math/ec/ECFieldElement;Z)Lorg/bouncycastle/math/ec/ECPoint;
3: StackMap locals:
StackMap stack: org.bouncycastle.math.ec.ECPoint
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/math/ec/ECPoint;
0 4 1 scale Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
scale
public boolean equals(org.bouncycastle.math.ec.ECPoint);
descriptor: (Lorg/bouncycastle/math/ec/ECPoint;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
astore 2
start local 2 3: aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
astore 3
start local 3 4: aload 2
ifnonnull 5
iconst_1
goto 6
StackMap locals: org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.ECCurve
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 4
start local 4 7: aload 3
ifnonnull 8
iconst_1
goto 9
StackMap locals: int
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: istore 5
start local 5 10: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.isInfinity:()Z
istore 6
start local 6 11: aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint.isInfinity:()Z
istore 7
start local 7 12: iload 6
ifne 13
iload 7
ifeq 16
13: StackMap locals: int int int
StackMap stack:
iload 6
ifeq 15
iload 7
ifeq 15
iload 4
ifne 14
iload 5
ifne 14
aload 2
aload 3
invokevirtual org.bouncycastle.math.ec.ECCurve.equals:(Lorg/bouncycastle/math/ec/ECCurve;)Z
ifeq 15
StackMap locals:
StackMap stack:
14: iconst_1
ireturn
StackMap locals:
StackMap stack:
15: iconst_0
ireturn
16: StackMap locals:
StackMap stack:
aload 0
astore 8
start local 8 17: aload 1
astore 9
start local 9 18: iload 4
ifeq 19
iload 5
ifne 31
19: StackMap locals: org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECPoint
StackMap stack:
iload 4
ifeq 22
20: aload 9
invokevirtual org.bouncycastle.math.ec.ECPoint.normalize:()Lorg/bouncycastle/math/ec/ECPoint;
astore 9
21: goto 31
22: StackMap locals:
StackMap stack:
iload 5
ifeq 25
23: aload 8
invokevirtual org.bouncycastle.math.ec.ECPoint.normalize:()Lorg/bouncycastle/math/ec/ECPoint;
astore 8
24: goto 31
25: StackMap locals:
StackMap stack:
aload 2
aload 3
invokevirtual org.bouncycastle.math.ec.ECCurve.equals:(Lorg/bouncycastle/math/ec/ECCurve;)Z
ifne 27
26: iconst_0
ireturn
27: StackMap locals:
StackMap stack:
iconst_2
anewarray org.bouncycastle.math.ec.ECPoint
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 2
aload 9
invokevirtual org.bouncycastle.math.ec.ECCurve.importPoint:(Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
aastore
astore 10
start local 10 28: aload 2
aload 10
invokevirtual org.bouncycastle.math.ec.ECCurve.normalizeAll:([Lorg/bouncycastle/math/ec/ECPoint;)V
29: aload 10
iconst_0
aaload
astore 8
30: aload 10
iconst_1
aaload
astore 9
end local 10 31: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.bouncycastle.math.ec.ECPoint.getXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 9
invokevirtual org.bouncycastle.math.ec.ECPoint.getXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 32
aload 8
invokevirtual org.bouncycastle.math.ec.ECPoint.getYCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 9
invokevirtual org.bouncycastle.math.ec.ECPoint.getYCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 32
iconst_1
ireturn
StackMap locals:
StackMap stack:
32: iconst_0
ireturn
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 33 0 this Lorg/bouncycastle/math/ec/ECPoint;
0 33 1 other Lorg/bouncycastle/math/ec/ECPoint;
3 33 2 c1 Lorg/bouncycastle/math/ec/ECCurve;
4 33 3 c2 Lorg/bouncycastle/math/ec/ECCurve;
7 33 4 n1 Z
10 33 5 n2 Z
11 33 6 i1 Z
12 33 7 i2 Z
17 33 8 p1 Lorg/bouncycastle/math/ec/ECPoint;
18 33 9 p2 Lorg/bouncycastle/math/ec/ECPoint;
28 31 10 points [Lorg/bouncycastle/math/ec/ECPoint;
MethodParameters:
Name Flags
other
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof org.bouncycastle.math.ec.ECPoint
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast org.bouncycastle.math.ec.ECPoint
invokevirtual org.bouncycastle.math.ec.ECPoint.equals:(Lorg/bouncycastle/math/ec/ECPoint;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/math/ec/ECPoint;
0 5 1 other Ljava/lang/Object;
MethodParameters:
Name Flags
other
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
astore 1
start local 1 1: aload 1
ifnonnull 2
iconst_0
goto 3
StackMap locals: org.bouncycastle.math.ec.ECCurve
StackMap stack:
2: aload 1
invokevirtual org.bouncycastle.math.ec.ECCurve.hashCode:()I
iconst_m1
ixor
StackMap locals:
StackMap stack: int
3: istore 2
start local 2 4: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.isInfinity:()Z
ifne 8
5: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.normalize:()Lorg/bouncycastle/math/ec/ECPoint;
astore 3
start local 3 6: iload 2
aload 3
invokevirtual org.bouncycastle.math.ec.ECPoint.getXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual java.lang.Object.hashCode:()I
bipush 17
imul
ixor
istore 2
7: iload 2
aload 3
invokevirtual org.bouncycastle.math.ec.ECPoint.getYCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual java.lang.Object.hashCode:()I
sipush 257
imul
ixor
istore 2
end local 3 8: StackMap locals: int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/bouncycastle/math/ec/ECPoint;
1 9 1 c Lorg/bouncycastle/math/ec/ECCurve;
4 9 2 hc I
6 8 3 p Lorg/bouncycastle/math/ec/ECPoint;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.isInfinity:()Z
ifeq 2
1: ldc "INF"
areturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 1
start local 1 3: aload 1
bipush 40
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
4: aload 1
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.getRawXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
pop
5: aload 1
bipush 44
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
6: aload 1
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.getRawYCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
pop
7: iconst_0
istore 2
start local 2 8: goto 12
9: StackMap locals: java.lang.StringBuffer int
StackMap stack:
aload 1
bipush 44
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
10: aload 1
aload 0
getfield org.bouncycastle.math.ec.ECPoint.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
iload 2
aaload
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
pop
11: iinc 2 1
StackMap locals:
StackMap stack:
12: iload 2
aload 0
getfield org.bouncycastle.math.ec.ECPoint.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
arraylength
if_icmplt 9
end local 2 13: aload 1
bipush 41
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
14: aload 1
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/bouncycastle/math/ec/ECPoint;
3 15 1 sb Ljava/lang/StringBuffer;
8 13 2 i I
public byte[] getEncoded();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield org.bouncycastle.math.ec.ECPoint.withCompression:Z
invokevirtual org.bouncycastle.math.ec.ECPoint.getEncoded:(Z)[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECPoint;
public byte[] getEncoded(boolean);
descriptor: (Z)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.isInfinity:()Z
ifeq 2
1: iconst_1
newarray 8
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.normalize:()Lorg/bouncycastle/math/ec/ECPoint;
astore 2
start local 2 3: aload 2
invokevirtual org.bouncycastle.math.ec.ECPoint.getXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.getEncoded:()[B
astore 3
start local 3 4: iload 1
ifeq 11
5: aload 3
arraylength
iconst_1
iadd
newarray 8
astore 4
start local 4 6: aload 4
iconst_0
aload 2
invokevirtual org.bouncycastle.math.ec.ECPoint.getCompressionYTilde:()Z
ifeq 7
iconst_3
goto 8
StackMap locals: org.bouncycastle.math.ec.ECPoint int org.bouncycastle.math.ec.ECPoint byte[] byte[]
StackMap stack: byte[] int
7: iconst_2
StackMap locals: org.bouncycastle.math.ec.ECPoint int org.bouncycastle.math.ec.ECPoint byte[] byte[]
StackMap stack: byte[] int int
8: i2b
bastore
9: aload 3
iconst_0
aload 4
iconst_1
aload 3
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: aload 4
areturn
end local 4 11: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.bouncycastle.math.ec.ECPoint.getYCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.getEncoded:()[B
astore 4
start local 4 12: aload 3
arraylength
aload 4
arraylength
iadd
iconst_1
iadd
newarray 8
astore 5
start local 5 13: aload 5
iconst_0
iconst_4
bastore
14: aload 3
iconst_0
aload 5
iconst_1
aload 3
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
15: aload 4
iconst_0
aload 5
aload 3
arraylength
iconst_1
iadd
aload 4
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
16: aload 5
areturn
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 17 0 this Lorg/bouncycastle/math/ec/ECPoint;
0 17 1 compressed Z
3 17 2 normed Lorg/bouncycastle/math/ec/ECPoint;
4 17 3 X [B
6 11 4 PO [B
12 17 4 Y [B
13 17 5 PO [B
MethodParameters:
Name Flags
compressed
protected abstract boolean getCompressionYTilde();
descriptor: ()Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
public abstract org.bouncycastle.math.ec.ECPoint add(org.bouncycastle.math.ec.ECPoint);
descriptor: (Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
b
public abstract org.bouncycastle.math.ec.ECPoint negate();
descriptor: ()Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract org.bouncycastle.math.ec.ECPoint subtract(org.bouncycastle.math.ec.ECPoint);
descriptor: (Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
b
public org.bouncycastle.math.ec.ECPoint timesPow2(int);
descriptor: (I)Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iload 1
ifge 2
1: new java.lang.IllegalArgumentException
dup
ldc "'e' cannot be negative"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
astore 2
start local 2 3: goto 5
4: StackMap locals: org.bouncycastle.math.ec.ECPoint
StackMap stack:
aload 2
invokevirtual org.bouncycastle.math.ec.ECPoint.twice:()Lorg/bouncycastle/math/ec/ECPoint;
astore 2
5: StackMap locals:
StackMap stack:
iinc 1 -1
iload 1
ifge 4
6: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/math/ec/ECPoint;
0 7 1 e I
3 7 2 p Lorg/bouncycastle/math/ec/ECPoint;
MethodParameters:
Name Flags
e
public abstract org.bouncycastle.math.ec.ECPoint twice();
descriptor: ()Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public org.bouncycastle.math.ec.ECPoint twicePlus(org.bouncycastle.math.ec.ECPoint);
descriptor: (Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.twice:()Lorg/bouncycastle/math/ec/ECPoint;
aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint.add:(Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECPoint;
0 1 1 b Lorg/bouncycastle/math/ec/ECPoint;
MethodParameters:
Name Flags
b
public org.bouncycastle.math.ec.ECPoint threeTimes();
descriptor: ()Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.twicePlus:(Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECPoint;
public org.bouncycastle.math.ec.ECPoint multiply(java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;)Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
invokevirtual org.bouncycastle.math.ec.ECCurve.getMultiplier:()Lorg/bouncycastle/math/ec/ECMultiplier;
aload 0
aload 1
invokeinterface org.bouncycastle.math.ec.ECMultiplier.multiply:(Lorg/bouncycastle/math/ec/ECPoint;Ljava/math/BigInteger;)Lorg/bouncycastle/math/ec/ECPoint;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECPoint;
0 1 1 k Ljava/math/BigInteger;
MethodParameters:
Name Flags
k
}
SourceFile: "ECPoint.java"
NestMembers:
org.bouncycastle.math.ec.ECPoint$1 org.bouncycastle.math.ec.ECPoint$AbstractF2m org.bouncycastle.math.ec.ECPoint$AbstractFp org.bouncycastle.math.ec.ECPoint$F2m org.bouncycastle.math.ec.ECPoint$Fp
InnerClasses:
org.bouncycastle.math.ec.ECPoint$1
public abstract AbstractF2m = org.bouncycastle.math.ec.ECPoint$AbstractF2m of org.bouncycastle.math.ec.ECPoint
public abstract AbstractFp = org.bouncycastle.math.ec.ECPoint$AbstractFp of org.bouncycastle.math.ec.ECPoint
public F2m = org.bouncycastle.math.ec.ECPoint$F2m of org.bouncycastle.math.ec.ECPoint
public Fp = org.bouncycastle.math.ec.ECPoint$Fp of org.bouncycastle.math.ec.ECPoint