public class org.bouncycastle.crypto.params.ECDomainParameters implements org.bouncycastle.math.ec.ECConstants
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.crypto.params.ECDomainParameters
super_class: java.lang.Object
{
private org.bouncycastle.math.ec.ECCurve curve;
descriptor: Lorg/bouncycastle/math/ec/ECCurve;
flags: (0x0002) ACC_PRIVATE
private byte[] seed;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private org.bouncycastle.math.ec.ECPoint G;
descriptor: Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0002) ACC_PRIVATE
private java.math.BigInteger n;
descriptor: Ljava/math/BigInteger;
flags: (0x0002) ACC_PRIVATE
private java.math.BigInteger h;
descriptor: Ljava/math/BigInteger;
flags: (0x0002) ACC_PRIVATE
private java.math.BigInteger hInv;
descriptor: Ljava/math/BigInteger;
flags: (0x0002) ACC_PRIVATE
public void <init>(org.bouncycastle.math.ec.ECCurve, org.bouncycastle.math.ec.ECPoint, java.math.BigInteger);
descriptor: (Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECPoint;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
getstatic org.bouncycastle.crypto.params.ECDomainParameters.ONE:Ljava/math/BigInteger;
aconst_null
invokespecial org.bouncycastle.crypto.params.ECDomainParameters.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECPoint;Ljava/math/BigInteger;Ljava/math/BigInteger;[B)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/crypto/params/ECDomainParameters;
0 2 1 curve Lorg/bouncycastle/math/ec/ECCurve;
0 2 2 G Lorg/bouncycastle/math/ec/ECPoint;
0 2 3 n Ljava/math/BigInteger;
MethodParameters:
Name Flags
curve
G
n
public void <init>(org.bouncycastle.math.ec.ECCurve, org.bouncycastle.math.ec.ECPoint, java.math.BigInteger, java.math.BigInteger);
descriptor: (Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECPoint;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, 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
invokespecial org.bouncycastle.crypto.params.ECDomainParameters.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECPoint;Ljava/math/BigInteger;Ljava/math/BigInteger;[B)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/crypto/params/ECDomainParameters;
0 2 1 curve Lorg/bouncycastle/math/ec/ECCurve;
0 2 2 G Lorg/bouncycastle/math/ec/ECPoint;
0 2 3 n Ljava/math/BigInteger;
0 2 4 h Ljava/math/BigInteger;
MethodParameters:
Name Flags
curve
G
n
h
public void <init>(org.bouncycastle.math.ec.ECCurve, org.bouncycastle.math.ec.ECPoint, java.math.BigInteger, java.math.BigInteger, byte[]);
descriptor: (Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECPoint;Ljava/math/BigInteger;Ljava/math/BigInteger;[B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, 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
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield org.bouncycastle.crypto.params.ECDomainParameters.hInv:Ljava/math/BigInteger;
2: aload 1
ifnonnull 4
3: new java.lang.NullPointerException
dup
ldc "curve"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: org.bouncycastle.crypto.params.ECDomainParameters org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.ECPoint java.math.BigInteger java.math.BigInteger byte[]
StackMap stack:
aload 3
ifnonnull 6
5: new java.lang.NullPointerException
dup
ldc "n"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield org.bouncycastle.crypto.params.ECDomainParameters.curve:Lorg/bouncycastle/math/ec/ECCurve;
7: aload 0
aload 1
aload 2
invokestatic org.bouncycastle.crypto.params.ECDomainParameters.validate:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
putfield org.bouncycastle.crypto.params.ECDomainParameters.G:Lorg/bouncycastle/math/ec/ECPoint;
8: aload 0
aload 3
putfield org.bouncycastle.crypto.params.ECDomainParameters.n:Ljava/math/BigInteger;
9: aload 0
aload 4
putfield org.bouncycastle.crypto.params.ECDomainParameters.h:Ljava/math/BigInteger;
10: aload 0
aload 5
invokestatic org.bouncycastle.util.Arrays.clone:([B)[B
putfield org.bouncycastle.crypto.params.ECDomainParameters.seed:[B
11: 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 12 0 this Lorg/bouncycastle/crypto/params/ECDomainParameters;
0 12 1 curve Lorg/bouncycastle/math/ec/ECCurve;
0 12 2 G Lorg/bouncycastle/math/ec/ECPoint;
0 12 3 n Ljava/math/BigInteger;
0 12 4 h Ljava/math/BigInteger;
0 12 5 seed [B
MethodParameters:
Name Flags
curve
G
n
h
seed
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.crypto.params.ECDomainParameters.curve:Lorg/bouncycastle/math/ec/ECCurve;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/params/ECDomainParameters;
public org.bouncycastle.math.ec.ECPoint getG();
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.crypto.params.ECDomainParameters.G:Lorg/bouncycastle/math/ec/ECPoint;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/params/ECDomainParameters;
public java.math.BigInteger getN();
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.crypto.params.ECDomainParameters.n:Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/params/ECDomainParameters;
public java.math.BigInteger getH();
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.crypto.params.ECDomainParameters.h:Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/params/ECDomainParameters;
public synchronized java.math.BigInteger getHInv();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.crypto.params.ECDomainParameters.hInv:Ljava/math/BigInteger;
ifnonnull 2
1: aload 0
aload 0
getfield org.bouncycastle.crypto.params.ECDomainParameters.h:Ljava/math/BigInteger;
aload 0
getfield org.bouncycastle.crypto.params.ECDomainParameters.n:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.modInverse:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
putfield org.bouncycastle.crypto.params.ECDomainParameters.hInv:Ljava/math/BigInteger;
2: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.crypto.params.ECDomainParameters.hInv:Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/crypto/params/ECDomainParameters;
public byte[] getSeed();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.crypto.params.ECDomainParameters.seed:[B
invokestatic org.bouncycastle.util.Arrays.clone:([B)[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/params/ECDomainParameters;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof org.bouncycastle.crypto.params.ECDomainParameters
ifeq 6
3: aload 1
checkcast org.bouncycastle.crypto.params.ECDomainParameters
astore 2
start local 2 4: aload 0
getfield org.bouncycastle.crypto.params.ECDomainParameters.curve:Lorg/bouncycastle/math/ec/ECCurve;
aload 2
getfield org.bouncycastle.crypto.params.ECDomainParameters.curve:Lorg/bouncycastle/math/ec/ECCurve;
invokevirtual org.bouncycastle.math.ec.ECCurve.equals:(Lorg/bouncycastle/math/ec/ECCurve;)Z
ifeq 5
aload 0
getfield org.bouncycastle.crypto.params.ECDomainParameters.G:Lorg/bouncycastle/math/ec/ECPoint;
aload 2
getfield org.bouncycastle.crypto.params.ECDomainParameters.G:Lorg/bouncycastle/math/ec/ECPoint;
invokevirtual org.bouncycastle.math.ec.ECPoint.equals:(Lorg/bouncycastle/math/ec/ECPoint;)Z
ifeq 5
aload 0
getfield org.bouncycastle.crypto.params.ECDomainParameters.n:Ljava/math/BigInteger;
aload 2
getfield org.bouncycastle.crypto.params.ECDomainParameters.n:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
ifeq 5
aload 0
getfield org.bouncycastle.crypto.params.ECDomainParameters.h:Ljava/math/BigInteger;
aload 2
getfield org.bouncycastle.crypto.params.ECDomainParameters.h:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
ifeq 5
iconst_1
ireturn
StackMap locals: org.bouncycastle.crypto.params.ECDomainParameters
StackMap stack:
5: iconst_0
ireturn
end local 2 6: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/crypto/params/ECDomainParameters;
0 7 1 obj Ljava/lang/Object;
4 6 2 other Lorg/bouncycastle/crypto/params/ECDomainParameters;
MethodParameters:
Name Flags
obj
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.crypto.params.ECDomainParameters.curve:Lorg/bouncycastle/math/ec/ECCurve;
invokevirtual org.bouncycastle.math.ec.ECCurve.hashCode:()I
istore 1
start local 1 1: iload 1
bipush 37
imul
istore 1
2: iload 1
aload 0
getfield org.bouncycastle.crypto.params.ECDomainParameters.G:Lorg/bouncycastle/math/ec/ECPoint;
invokevirtual org.bouncycastle.math.ec.ECPoint.hashCode:()I
ixor
istore 1
3: iload 1
bipush 37
imul
istore 1
4: iload 1
aload 0
getfield org.bouncycastle.crypto.params.ECDomainParameters.n:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.hashCode:()I
ixor
istore 1
5: iload 1
bipush 37
imul
istore 1
6: iload 1
aload 0
getfield org.bouncycastle.crypto.params.ECDomainParameters.h:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.hashCode:()I
ixor
istore 1
7: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/bouncycastle/crypto/params/ECDomainParameters;
1 8 1 hc I
static org.bouncycastle.math.ec.ECPoint validate(org.bouncycastle.math.ec.ECCurve, org.bouncycastle.math.ec.ECPoint);
descriptor: (Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "Point has null value"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic org.bouncycastle.math.ec.ECAlgorithms.importPoint:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
invokevirtual org.bouncycastle.math.ec.ECPoint.normalize:()Lorg/bouncycastle/math/ec/ECPoint;
astore 1
3: aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint.isInfinity:()Z
ifeq 5
4: new java.lang.IllegalArgumentException
dup
ldc "Point at infinity"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint.isValid:()Z
ifne 7
6: new java.lang.IllegalArgumentException
dup
ldc "Point not on curve"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 c Lorg/bouncycastle/math/ec/ECCurve;
0 8 1 q Lorg/bouncycastle/math/ec/ECPoint;
MethodParameters:
Name Flags
c
q
}
SourceFile: "ECDomainParameters.java"