public abstract class org.bouncycastle.math.field.FiniteFields
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.bouncycastle.math.field.FiniteFields
super_class: java.lang.Object
{
static final org.bouncycastle.math.field.FiniteField GF_2;
descriptor: Lorg/bouncycastle/math/field/FiniteField;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final org.bouncycastle.math.field.FiniteField GF_3;
descriptor: Lorg/bouncycastle/math/field/FiniteField;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: new org.bouncycastle.math.field.PrimeField
dup
ldc 2
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokespecial org.bouncycastle.math.field.PrimeField.<init>:(Ljava/math/BigInteger;)V
putstatic org.bouncycastle.math.field.FiniteFields.GF_2:Lorg/bouncycastle/math/field/FiniteField;
1: new org.bouncycastle.math.field.PrimeField
dup
ldc 3
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokespecial org.bouncycastle.math.field.PrimeField.<init>:(Ljava/math/BigInteger;)V
putstatic org.bouncycastle.math.field.FiniteFields.GF_3:Lorg/bouncycastle/math/field/FiniteField;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/field/FiniteFields;
public static org.bouncycastle.math.field.PolynomialExtensionField getBinaryExtensionField(int[]);
descriptor: ([I)Lorg/bouncycastle/math/field/PolynomialExtensionField;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: aload 0
iconst_0
iaload
ifeq 2
1: new java.lang.IllegalArgumentException
dup
ldc "Irreducible polynomials in GF(2) must have constant term"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iconst_1
istore 1
start local 1 3: goto 7
4: StackMap locals: int
StackMap stack:
aload 0
iload 1
iaload
aload 0
iload 1
iconst_1
isub
iaload
if_icmpgt 6
5: new java.lang.IllegalArgumentException
dup
ldc "Polynomial exponents must be montonically increasing"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
7: iload 1
aload 0
arraylength
if_icmplt 4
end local 1 8: new org.bouncycastle.math.field.GenericPolynomialExtensionField
dup
getstatic org.bouncycastle.math.field.FiniteFields.GF_2:Lorg/bouncycastle/math/field/FiniteField;
new org.bouncycastle.math.field.GF2Polynomial
dup
aload 0
invokespecial org.bouncycastle.math.field.GF2Polynomial.<init>:([I)V
invokespecial org.bouncycastle.math.field.GenericPolynomialExtensionField.<init>:(Lorg/bouncycastle/math/field/FiniteField;Lorg/bouncycastle/math/field/Polynomial;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 exponents [I
3 8 1 i I
MethodParameters:
Name Flags
exponents
public static org.bouncycastle.math.field.FiniteField getPrimeField(java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;)Lorg/bouncycastle/math/field/FiniteField;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.math.BigInteger.bitLength:()I
istore 1
start local 1 1: aload 0
invokevirtual java.math.BigInteger.signum:()I
ifle 2
iload 1
iconst_2
if_icmpge 3
2: StackMap locals: int
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "'characteristic' must be >= 2"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
iload 1
iconst_3
if_icmpge 7
4: aload 0
invokevirtual java.math.BigInteger.intValue:()I
tableswitch { // 2 - 3
2: 5
3: 6
default: 7
}
5: StackMap locals:
StackMap stack:
getstatic org.bouncycastle.math.field.FiniteFields.GF_2:Lorg/bouncycastle/math/field/FiniteField;
areturn
6: StackMap locals:
StackMap stack:
getstatic org.bouncycastle.math.field.FiniteFields.GF_3:Lorg/bouncycastle/math/field/FiniteField;
areturn
7: StackMap locals:
StackMap stack:
new org.bouncycastle.math.field.PrimeField
dup
aload 0
invokespecial org.bouncycastle.math.field.PrimeField.<init>:(Ljava/math/BigInteger;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 characteristic Ljava/math/BigInteger;
1 8 1 bitLength I
MethodParameters:
Name Flags
characteristic
}
SourceFile: "FiniteFields.java"