public class org.bouncycastle.math.ec.ECCurve$Fp extends org.bouncycastle.math.ec.ECCurve$AbstractFp
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.math.ec.ECCurve$Fp
super_class: org.bouncycastle.math.ec.ECCurve$AbstractFp
{
private static final int FP_DEFAULT_COORDS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
java.math.BigInteger q;
descriptor: Ljava/math/BigInteger;
flags: (0x0000)
java.math.BigInteger r;
descriptor: Ljava/math/BigInteger;
flags: (0x0000)
org.bouncycastle.math.ec.ECPoint$Fp infinity;
descriptor: Lorg/bouncycastle/math/ec/ECPoint$Fp;
flags: (0x0000)
public void <init>(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, 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
aconst_null
aconst_null
invokespecial org.bouncycastle.math.ec.ECCurve$Fp.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)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/ECCurve$Fp;
0 2 1 q Ljava/math/BigInteger;
0 2 2 a Ljava/math/BigInteger;
0 2 3 b Ljava/math/BigInteger;
MethodParameters:
Name Flags
q
a
b
public void <init>(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
invokespecial org.bouncycastle.math.ec.ECCurve$AbstractFp.<init>:(Ljava/math/BigInteger;)V
1: aload 0
aload 1
putfield org.bouncycastle.math.ec.ECCurve$Fp.q:Ljava/math/BigInteger;
2: aload 0
aload 1
invokestatic org.bouncycastle.math.ec.ECFieldElement$Fp.calculateResidue:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
putfield org.bouncycastle.math.ec.ECCurve$Fp.r:Ljava/math/BigInteger;
3: aload 0
new org.bouncycastle.math.ec.ECPoint$Fp
dup
aload 0
aconst_null
aconst_null
iconst_0
invokespecial org.bouncycastle.math.ec.ECPoint$Fp.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
putfield org.bouncycastle.math.ec.ECCurve$Fp.infinity:Lorg/bouncycastle/math/ec/ECPoint$Fp;
4: aload 0
aload 0
aload 2
invokevirtual org.bouncycastle.math.ec.ECCurve$Fp.fromBigInteger:(Ljava/math/BigInteger;)Lorg/bouncycastle/math/ec/ECFieldElement;
putfield org.bouncycastle.math.ec.ECCurve$Fp.a:Lorg/bouncycastle/math/ec/ECFieldElement;
5: aload 0
aload 0
aload 3
invokevirtual org.bouncycastle.math.ec.ECCurve$Fp.fromBigInteger:(Ljava/math/BigInteger;)Lorg/bouncycastle/math/ec/ECFieldElement;
putfield org.bouncycastle.math.ec.ECCurve$Fp.b:Lorg/bouncycastle/math/ec/ECFieldElement;
6: aload 0
aload 4
putfield org.bouncycastle.math.ec.ECCurve$Fp.order:Ljava/math/BigInteger;
7: aload 0
aload 5
putfield org.bouncycastle.math.ec.ECCurve$Fp.cofactor:Ljava/math/BigInteger;
8: aload 0
iconst_4
putfield org.bouncycastle.math.ec.ECCurve$Fp.coord:I
9: return
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 10 0 this Lorg/bouncycastle/math/ec/ECCurve$Fp;
0 10 1 q Ljava/math/BigInteger;
0 10 2 a Ljava/math/BigInteger;
0 10 3 b Ljava/math/BigInteger;
0 10 4 order Ljava/math/BigInteger;
0 10 5 cofactor Ljava/math/BigInteger;
MethodParameters:
Name Flags
q
a
b
order
cofactor
protected void <init>(java.math.BigInteger, java.math.BigInteger, org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Ljava/math/BigInteger;Ljava/math/BigInteger;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
aload 4
aconst_null
aconst_null
invokespecial org.bouncycastle.math.ec.ECCurve$Fp.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
1: return
end local 4 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/ECCurve$Fp;
0 2 1 q Ljava/math/BigInteger;
0 2 2 r Ljava/math/BigInteger;
0 2 3 a Lorg/bouncycastle/math/ec/ECFieldElement;
0 2 4 b Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
q
r
a
b
protected void <init>(java.math.BigInteger, java.math.BigInteger, org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement, java.math.BigInteger, java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;Ljava/math/BigInteger;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
invokespecial org.bouncycastle.math.ec.ECCurve$AbstractFp.<init>:(Ljava/math/BigInteger;)V
1: aload 0
aload 1
putfield org.bouncycastle.math.ec.ECCurve$Fp.q:Ljava/math/BigInteger;
2: aload 0
aload 2
putfield org.bouncycastle.math.ec.ECCurve$Fp.r:Ljava/math/BigInteger;
3: aload 0
new org.bouncycastle.math.ec.ECPoint$Fp
dup
aload 0
aconst_null
aconst_null
iconst_0
invokespecial org.bouncycastle.math.ec.ECPoint$Fp.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
putfield org.bouncycastle.math.ec.ECCurve$Fp.infinity:Lorg/bouncycastle/math/ec/ECPoint$Fp;
4: aload 0
aload 3
putfield org.bouncycastle.math.ec.ECCurve$Fp.a:Lorg/bouncycastle/math/ec/ECFieldElement;
5: aload 0
aload 4
putfield org.bouncycastle.math.ec.ECCurve$Fp.b:Lorg/bouncycastle/math/ec/ECFieldElement;
6: aload 0
aload 5
putfield org.bouncycastle.math.ec.ECCurve$Fp.order:Ljava/math/BigInteger;
7: aload 0
aload 6
putfield org.bouncycastle.math.ec.ECCurve$Fp.cofactor:Ljava/math/BigInteger;
8: aload 0
iconst_4
putfield org.bouncycastle.math.ec.ECCurve$Fp.coord:I
9: return
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 10 0 this Lorg/bouncycastle/math/ec/ECCurve$Fp;
0 10 1 q Ljava/math/BigInteger;
0 10 2 r Ljava/math/BigInteger;
0 10 3 a Lorg/bouncycastle/math/ec/ECFieldElement;
0 10 4 b Lorg/bouncycastle/math/ec/ECFieldElement;
0 10 5 order Ljava/math/BigInteger;
0 10 6 cofactor Ljava/math/BigInteger;
MethodParameters:
Name Flags
q
r
a
b
order
cofactor
protected org.bouncycastle.math.ec.ECCurve cloneCurve();
descriptor: ()Lorg/bouncycastle/math/ec/ECCurve;
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=1, args_size=1
start local 0 0: new org.bouncycastle.math.ec.ECCurve$Fp
dup
aload 0
getfield org.bouncycastle.math.ec.ECCurve$Fp.q:Ljava/math/BigInteger;
aload 0
getfield org.bouncycastle.math.ec.ECCurve$Fp.r:Ljava/math/BigInteger;
aload 0
getfield org.bouncycastle.math.ec.ECCurve$Fp.a:Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
getfield org.bouncycastle.math.ec.ECCurve$Fp.b:Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
getfield org.bouncycastle.math.ec.ECCurve$Fp.order:Ljava/math/BigInteger;
aload 0
getfield org.bouncycastle.math.ec.ECCurve$Fp.cofactor:Ljava/math/BigInteger;
invokespecial org.bouncycastle.math.ec.ECCurve$Fp.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECCurve$Fp;
public boolean supportsCoordinateSystem(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
tableswitch { // 0 - 4
0: 1
1: 1
2: 1
3: 2
4: 1
default: 2
}
1: StackMap locals:
StackMap stack:
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/ECCurve$Fp;
0 3 1 coord I
MethodParameters:
Name Flags
coord
public java.math.BigInteger getQ();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECCurve$Fp.q:Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECCurve$Fp;
public int getFieldSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECCurve$Fp.q:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.bitLength:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECCurve$Fp;
public org.bouncycastle.math.ec.ECFieldElement fromBigInteger(java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;)Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new org.bouncycastle.math.ec.ECFieldElement$Fp
dup
aload 0
getfield org.bouncycastle.math.ec.ECCurve$Fp.q:Ljava/math/BigInteger;
aload 0
getfield org.bouncycastle.math.ec.ECCurve$Fp.r:Ljava/math/BigInteger;
aload 1
invokespecial org.bouncycastle.math.ec.ECFieldElement$Fp.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECCurve$Fp;
0 1 1 x Ljava/math/BigInteger;
MethodParameters:
Name Flags
x
protected org.bouncycastle.math.ec.ECPoint createRawPoint(org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement, boolean);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.bouncycastle.math.ec.ECPoint$Fp
dup
aload 0
aload 1
aload 2
iload 3
invokespecial org.bouncycastle.math.ec.ECPoint$Fp.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECCurve$Fp;
0 1 1 x Lorg/bouncycastle/math/ec/ECFieldElement;
0 1 2 y Lorg/bouncycastle/math/ec/ECFieldElement;
0 1 3 withCompression Z
MethodParameters:
Name Flags
x
y
withCompression
protected org.bouncycastle.math.ec.ECPoint createRawPoint(org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement[], boolean);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;[Lorg/bouncycastle/math/ec/ECFieldElement;Z)Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new org.bouncycastle.math.ec.ECPoint$Fp
dup
aload 0
aload 1
aload 2
aload 3
iload 4
invokespecial org.bouncycastle.math.ec.ECPoint$Fp.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;[Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECCurve$Fp;
0 1 1 x Lorg/bouncycastle/math/ec/ECFieldElement;
0 1 2 y Lorg/bouncycastle/math/ec/ECFieldElement;
0 1 3 zs [Lorg/bouncycastle/math/ec/ECFieldElement;
0 1 4 withCompression Z
MethodParameters:
Name Flags
x
y
zs
withCompression
public org.bouncycastle.math.ec.ECPoint importPoint(org.bouncycastle.math.ec.ECPoint);
descriptor: (Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
if_acmpeq 8
aload 0
invokevirtual org.bouncycastle.math.ec.ECCurve$Fp.getCoordinateSystem:()I
iconst_2
if_icmpne 8
aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint.isInfinity:()Z
ifne 8
1: aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
invokevirtual org.bouncycastle.math.ec.ECCurve.getCoordinateSystem:()I
tableswitch { // 2 - 4
2: 2
3: 2
4: 2
default: 8
}
2: StackMap locals:
StackMap stack:
new org.bouncycastle.math.ec.ECPoint$Fp
dup
aload 0
3: aload 0
aload 1
getfield org.bouncycastle.math.ec.ECPoint.x:Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.toBigInteger:()Ljava/math/BigInteger;
invokevirtual org.bouncycastle.math.ec.ECCurve$Fp.fromBigInteger:(Ljava/math/BigInteger;)Lorg/bouncycastle/math/ec/ECFieldElement;
4: aload 0
aload 1
getfield org.bouncycastle.math.ec.ECPoint.y:Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.toBigInteger:()Ljava/math/BigInteger;
invokevirtual org.bouncycastle.math.ec.ECCurve$Fp.fromBigInteger:(Ljava/math/BigInteger;)Lorg/bouncycastle/math/ec/ECFieldElement;
5: iconst_1
anewarray org.bouncycastle.math.ec.ECFieldElement
dup
iconst_0
aload 0
aload 1
getfield org.bouncycastle.math.ec.ECPoint.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
iconst_0
aaload
invokevirtual org.bouncycastle.math.ec.ECFieldElement.toBigInteger:()Ljava/math/BigInteger;
invokevirtual org.bouncycastle.math.ec.ECCurve$Fp.fromBigInteger:(Ljava/math/BigInteger;)Lorg/bouncycastle/math/ec/ECFieldElement;
aastore
6: aload 1
getfield org.bouncycastle.math.ec.ECPoint.withCompression:Z
7: invokespecial org.bouncycastle.math.ec.ECPoint$Fp.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;[Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
areturn
8: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial org.bouncycastle.math.ec.ECCurve$AbstractFp.importPoint:(Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/bouncycastle/math/ec/ECCurve$Fp;
0 9 1 p Lorg/bouncycastle/math/ec/ECPoint;
MethodParameters:
Name Flags
p
public org.bouncycastle.math.ec.ECPoint getInfinity();
descriptor: ()Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECCurve$Fp.infinity:Lorg/bouncycastle/math/ec/ECPoint$Fp;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECCurve$Fp;
}
SourceFile: "ECCurve.java"
NestHost: org.bouncycastle.math.ec.ECCurve
InnerClasses:
public abstract AbstractFp = org.bouncycastle.math.ec.ECCurve$AbstractFp of org.bouncycastle.math.ec.ECCurve
public Fp = org.bouncycastle.math.ec.ECCurve$Fp of org.bouncycastle.math.ec.ECCurve
public Fp = org.bouncycastle.math.ec.ECFieldElement$Fp of org.bouncycastle.math.ec.ECFieldElement
public Fp = org.bouncycastle.math.ec.ECPoint$Fp of org.bouncycastle.math.ec.ECPoint