public class org.bouncycastle.math.ec.custom.sec.SecP160R2Curve 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.custom.sec.SecP160R2Curve
super_class: org.bouncycastle.math.ec.ECCurve$AbstractFp
{
public static final java.math.BigInteger q;
descriptor: Ljava/math/BigInteger;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final int SecP160R2_DEFAULT_COORDS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
protected org.bouncycastle.math.ec.custom.sec.SecP160R2Point infinity;
descriptor: Lorg/bouncycastle/math/ec/custom/sec/SecP160R2Point;
flags: (0x0004) ACC_PROTECTED
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: new java.math.BigInteger
dup
iconst_1
1: ldc "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC73"
invokestatic org.bouncycastle.util.encoders.Hex.decode:(Ljava/lang/String;)[B
2: invokespecial java.math.BigInteger.<init>:(I[B)V
putstatic org.bouncycastle.math.ec.custom.sec.SecP160R2Curve.q:Ljava/math/BigInteger;
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
getstatic org.bouncycastle.math.ec.custom.sec.SecP160R2Curve.q:Ljava/math/BigInteger;
invokespecial org.bouncycastle.math.ec.ECCurve$AbstractFp.<init>:(Ljava/math/BigInteger;)V
1: aload 0
new org.bouncycastle.math.ec.custom.sec.SecP160R2Point
dup
aload 0
aconst_null
aconst_null
invokespecial org.bouncycastle.math.ec.custom.sec.SecP160R2Point.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)V
putfield org.bouncycastle.math.ec.custom.sec.SecP160R2Curve.infinity:Lorg/bouncycastle/math/ec/custom/sec/SecP160R2Point;
2: aload 0
aload 0
new java.math.BigInteger
dup
iconst_1
3: ldc "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC70"
invokestatic org.bouncycastle.util.encoders.Hex.decode:(Ljava/lang/String;)[B
invokespecial java.math.BigInteger.<init>:(I[B)V
4: invokevirtual org.bouncycastle.math.ec.custom.sec.SecP160R2Curve.fromBigInteger:(Ljava/math/BigInteger;)Lorg/bouncycastle/math/ec/ECFieldElement;
putfield org.bouncycastle.math.ec.custom.sec.SecP160R2Curve.a:Lorg/bouncycastle/math/ec/ECFieldElement;
5: aload 0
aload 0
new java.math.BigInteger
dup
iconst_1
6: ldc "B4E134D3FB59EB8BAB57274904664D5AF50388BA"
invokestatic org.bouncycastle.util.encoders.Hex.decode:(Ljava/lang/String;)[B
invokespecial java.math.BigInteger.<init>:(I[B)V
7: invokevirtual org.bouncycastle.math.ec.custom.sec.SecP160R2Curve.fromBigInteger:(Ljava/math/BigInteger;)Lorg/bouncycastle/math/ec/ECFieldElement;
putfield org.bouncycastle.math.ec.custom.sec.SecP160R2Curve.b:Lorg/bouncycastle/math/ec/ECFieldElement;
8: aload 0
new java.math.BigInteger
dup
iconst_1
ldc "0100000000000000000000351EE786A818F3A1A16B"
invokestatic org.bouncycastle.util.encoders.Hex.decode:(Ljava/lang/String;)[B
invokespecial java.math.BigInteger.<init>:(I[B)V
putfield org.bouncycastle.math.ec.custom.sec.SecP160R2Curve.order:Ljava/math/BigInteger;
9: aload 0
lconst_1
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
putfield org.bouncycastle.math.ec.custom.sec.SecP160R2Curve.cofactor:Ljava/math/BigInteger;
10: aload 0
iconst_2
putfield org.bouncycastle.math.ec.custom.sec.SecP160R2Curve.coord:I
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP160R2Curve;
protected org.bouncycastle.math.ec.ECCurve cloneCurve();
descriptor: ()Lorg/bouncycastle/math/ec/ECCurve;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: new org.bouncycastle.math.ec.custom.sec.SecP160R2Curve
dup
invokespecial org.bouncycastle.math.ec.custom.sec.SecP160R2Curve.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP160R2Curve;
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 { // 2 - 2
2: 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/custom/sec/SecP160R2Curve;
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: getstatic org.bouncycastle.math.ec.custom.sec.SecP160R2Curve.q:Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP160R2Curve;
public int getFieldSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.bouncycastle.math.ec.custom.sec.SecP160R2Curve.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/custom/sec/SecP160R2Curve;
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=3, locals=2, args_size=2
start local 0 start local 1 0: new org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement
dup
aload 1
invokespecial org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.<init>:(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/custom/sec/SecP160R2Curve;
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.custom.sec.SecP160R2Point
dup
aload 0
aload 1
aload 2
iload 3
invokespecial org.bouncycastle.math.ec.custom.sec.SecP160R2Point.<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/custom/sec/SecP160R2Curve;
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.custom.sec.SecP160R2Point
dup
aload 0
aload 1
aload 2
aload 3
iload 4
invokespecial org.bouncycastle.math.ec.custom.sec.SecP160R2Point.<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/custom/sec/SecP160R2Curve;
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 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.custom.sec.SecP160R2Curve.infinity:Lorg/bouncycastle/math/ec/custom/sec/SecP160R2Point;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP160R2Curve;
public org.bouncycastle.math.ec.ECLookupTable createCacheSafeLookupTable(org.bouncycastle.math.ec.ECPoint[], int, int);
descriptor: ([Lorg/bouncycastle/math/ec/ECPoint;II)Lorg/bouncycastle/math/ec/ECLookupTable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
iconst_5
imul
iconst_2
imul
newarray 10
astore 4
start local 4 1: iconst_0
istore 5
start local 5 2: iconst_0
istore 6
start local 6 3: goto 8
4: StackMap locals: int[] int int
StackMap stack:
aload 1
iload 2
iload 6
iadd
aaload
astore 7
start local 7 5: aload 7
invokevirtual org.bouncycastle.math.ec.ECPoint.getRawXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
iconst_0
aload 4
iload 5
invokestatic org.bouncycastle.math.raw.Nat160.copy:([II[II)V
iinc 5 5
6: aload 7
invokevirtual org.bouncycastle.math.ec.ECPoint.getRawYCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
iconst_0
aload 4
iload 5
invokestatic org.bouncycastle.math.raw.Nat160.copy:([II[II)V
iinc 5 5
end local 7 7: iinc 6 1
StackMap locals:
StackMap stack:
8: iload 6
iload 3
if_icmplt 4
end local 6 end local 5 9: new org.bouncycastle.math.ec.custom.sec.SecP160R2Curve$1
dup
aload 0
iload 3
aload 4
invokespecial org.bouncycastle.math.ec.custom.sec.SecP160R2Curve$1.<init>:(Lorg/bouncycastle/math/ec/custom/sec/SecP160R2Curve;I[I)V
areturn
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/custom/sec/SecP160R2Curve;
0 10 1 points [Lorg/bouncycastle/math/ec/ECPoint;
0 10 2 off I
0 10 3 len I
1 10 4 table [I
2 9 5 pos I
3 9 6 i I
5 7 7 p Lorg/bouncycastle/math/ec/ECPoint;
MethodParameters:
Name Flags
points
off
len final
}
SourceFile: "SecP160R2Curve.java"
NestMembers:
org.bouncycastle.math.ec.custom.sec.SecP160R2Curve$1
InnerClasses:
public abstract AbstractFp = org.bouncycastle.math.ec.ECCurve$AbstractFp of org.bouncycastle.math.ec.ECCurve
org.bouncycastle.math.ec.custom.sec.SecP160R2Curve$1