|
Bouncy Castle Cryptography 1.50 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.bouncycastle.pqc.math.linearalgebra.GF2mField
public class GF2mField
This class describes operations with elements from the finite field F = GF(2^m). ( GF(2^m)= GF(2)[A] where A is a root of irreducible polynomial with degree m, each field element B has a polynomial basis representation, i.e. it is represented by a different binary polynomial of degree less than m, B = poly(A) ) All operations are defined only for field with 1< m <32. For the representation of field elements the map f: F->Z, poly(A)->poly(2) is used, where integers have the binary representation. For example: A^7+A^3+A+1 -> (00...0010001011)=139 Also for elements type Integer is used.
PolynomialRingGF2| Constructor Summary | |
|---|---|
GF2mField(byte[] enc)
|
|
GF2mField(GF2mField field)
|
|
GF2mField(int degree)
create a finite field GF(2^m) |
|
GF2mField(int degree,
int poly)
create a finite field GF(2^m) with the fixed field polynomial |
|
| Method Summary | |
|---|---|
int |
add(int a,
int b)
Return sum of two elements |
java.lang.String |
elementToStr(int a)
|
boolean |
equals(java.lang.Object other)
checks if given object is equal to this field. |
int |
exp(int a,
int k)
compute exponentiation a^k |
int |
getDegree()
return degree of the field |
byte[] |
getEncoded()
return the encoded form of this field |
int |
getPolynomial()
return the field polynomial |
int |
getRandomElement(java.security.SecureRandom sr)
create a random field element using PRNG sr |
int |
getRandomNonZeroElement()
create a random non-zero field element |
int |
getRandomNonZeroElement(java.security.SecureRandom sr)
create a random non-zero field element using PRNG sr |
int |
hashCode()
|
int |
inverse(int a)
compute the multiplicative inverse of a |
boolean |
isElementOfThisField(int e)
|
int |
mult(int a,
int b)
Return product of two elements |
int |
sqRoot(int a)
compute the square root of an integer |
java.lang.String |
toString()
Returns a human readable form of this field. |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public GF2mField(int degree)
degree - the degree of the field
public GF2mField(int degree,
int poly)
degree - the degree of the fieldpoly - the field polynomialpublic GF2mField(byte[] enc)
public GF2mField(GF2mField field)
| Method Detail |
|---|
public int getDegree()
public int getPolynomial()
public byte[] getEncoded()
public int add(int a,
int b)
a - b -
public int mult(int a,
int b)
a - b -
public int exp(int a,
int k)
a - a field element ak - k degree
public int inverse(int a)
a - a field element a
public int sqRoot(int a)
a - a field element a
public int getRandomElement(java.security.SecureRandom sr)
sr - SecureRandom
public int getRandomNonZeroElement()
public int getRandomNonZeroElement(java.security.SecureRandom sr)
sr - SecureRandom
public boolean isElementOfThisField(int e)
public java.lang.String elementToStr(int a)
public boolean equals(java.lang.Object other)
equals in class java.lang.Objectother - object
public int hashCode()
hashCode in class java.lang.Objectpublic java.lang.String toString()
toString in class java.lang.Object
|
Bouncy Castle Cryptography 1.50 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||