Top Description Constructors Methods
org.bouncycastle.pqc.legacy.math.linearalgebra

public final Class PolynomialRingGF2

extends Object
Class Inheritance

This class describes operations with polynomials over finite field GF(2), i e polynomial ring R = GF(2)[X]. All operations are defined only for polynomials with degree <=32. For the polynomial representation the map f: R->Z, poly(X)->poly(2) is used, where integers have the binary representation. For example: X^7+X^3+X+1 -> (00...0010001011)=139 Also for polynomials type Integer is used.
See Also
GF2mField

Constructor Summary

AccessConstructor and Description
private
PolynomialRingGF2()

Default constructor (private).

Method Summary

Modifier and TypeMethod and Description
public static int

Returns:

p+q
add
(int
polynomial
p
,
int
polynomial
q
)

Return sum of two polyomials

public static int

Returns:

degree(p)
degree
(int
polynomial p
p
)

Return the degree of a polynomial

public static int

Returns:

degree(p)
degree
(long
polynomial p
p
)

Return the degree of a polynomial

public static int

Returns:

GCD(p, q)
gcd
(int
polinomial
p
,
int
polinomial
q
)

Return the greatest common divisor of two polynomials

public static int

Returns:

irreducible polynomial p
getIrreduciblePolynomial
(int
polynomial degree
deg
)

Creates irreducible polynomial with degree d

public static boolean

Returns:

true if p is irreducible and false otherwise
isIrreducible
(int
polinomial
p
)

Checking polynomial for irreducibility

public static int

Returns:

a * b mod r
modMultiply
(int
the first polynomial
a
,
int
the second polynomial
b
,
int
the reduction polynomial
r
)

Compute the product of two polynomials modulo a third polynomial.

public static long

Returns:

p*q
multiply
(int
polynomial
p
,
int
polynomial
q
)

Return product of two polynomials

public static int

Returns:

p mod q
remainder
(int
dividend
p
,
int
divisor
q
)

Return the remainder of a polynomial division of two polynomials.

public static int

Returns:

p mod q
rest
(long
polinomial
p
,
int
polinomial
q
)

Return the rest of devision two polynomials

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

PolynomialRingGF2back to summary
private PolynomialRingGF2()

Default constructor (private).

Method Detail

addback to summary
public static int add(int p, int q)

Return sum of two polyomials

Parameters
p:int

polynomial

q:int

polynomial

Returns:int

p+q

degreeback to summary
public static int degree(int p)

Return the degree of a polynomial

Parameters
p:int

polynomial p

Returns:int

degree(p)

degreeback to summary
public static int degree(long p)

Return the degree of a polynomial

Parameters
p:long

polynomial p

Returns:int

degree(p)

gcdback to summary
public static int gcd(int p, int q)

Return the greatest common divisor of two polynomials

Parameters
p:int

polinomial

q:int

polinomial

Returns:int

GCD(p, q)

getIrreduciblePolynomialback to summary
public static int getIrreduciblePolynomial(int deg)

Creates irreducible polynomial with degree d

Parameters
deg:int

polynomial degree

Returns:int

irreducible polynomial p

isIrreducibleback to summary
public static boolean isIrreducible(int p)

Checking polynomial for irreducibility

Parameters
p:int

polinomial

Returns:boolean

true if p is irreducible and false otherwise

modMultiplyback to summary
public static int modMultiply(int a, int b, int r)

Compute the product of two polynomials modulo a third polynomial.

Parameters
a:int

the first polynomial

b:int

the second polynomial

r:int

the reduction polynomial

Returns:int

a * b mod r

multiplyback to summary
public static long multiply(int p, int q)

Return product of two polynomials

Parameters
p:int

polynomial

q:int

polynomial

Returns:long

p*q

remainderback to summary
public static int remainder(int p, int q)

Return the remainder of a polynomial division of two polynomials.

Parameters
p:int

dividend

q:int

divisor

Returns:int

p mod q

restback to summary
public static int rest(long p, int q)

Return the rest of devision two polynomials

Parameters
p:long

polinomial

q:int

polinomial

Returns:int

p mod q