

PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: INNER  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 
java.lang.Object  +HFE.Multi2Mul
This class deals with multivariable polynomials and
a general modulus provied to the constructor.
Basicly, this class calculates multiples of two polynomials
and one polynomial and one element of (GF(2))^3.
All calculations are done in GF(2) (Field2
)
Every entry is a polynomial of the form
f_i(x1,x2,...) = g^i*(b_0 + b_1*x_1 + b_2*x_2 + ... + b_n*x_n)
The reduction is done in the variable g.
Field Summary  
private static Poly2MultiLinear[] 
mul_resL
Holds a static variable for the sake of speed which is used in mul. 
private static Poly2MultiLinear 
mul_tmpL
Holds a static variable for the sake of speed which is used in mul. 
private static Poly2MultiSquare 
mul_tmpS
Holds a static variable for the sake of speed which is used in mul. 
private Poly2Max[] 
reduce
Stores all the reduction steps. 
Constructor Summary  
(package private) 
Multi2Mul(Poly2Max modulus)
Initializes the internal field reduce 
Method Summary  
static void 
initAll()
Init method for this class 
static void 
main(java.lang.String[] args)
Calls the testIt() method 
Poly2MultiLinear[] 
mul(int[] con,
Poly2MultiLinear[] poly)
Computes res = con * poly in terms of vector multiplication of polynomials. 
Poly2MultiSquare[] 
mul(int[] con,
Poly2MultiLinear[] a,
Poly2MultiLinear[] b)
Computes res = con * a * b in terms of vector multiplication of polynomials. 
(package private) void 
mul(Poly2MultiLinear[] res,
int[] con,
Poly2MultiLinear[] poly)
Computes res = con * poly in terms of vector multiplication of polynomials. 
Poly2MultiSquare[] 
mul(Poly2MultiLinear[] a,
Poly2MultiLinear[] b)
Computes res = a * b in terms of vector multiplication of polynomials. 
(package private) void 
mul(Poly2MultiSquare[] res,
int[] con,
Poly2MultiLinear[] a,
Poly2MultiLinear[] b)
Computes res = con * a * b in terms of vector multiplication of polynomials. 
Poly2MultiSquare[] 
mul2(int[] con,
Poly2MultiLinear[] a,
Poly2MultiLinear[] b)
Computes res = con * a * b in terms of vector multiplication of polynomials. 
Poly2MultiSquare[] 
mul2(Poly2MultiLinear[] a,
Poly2MultiLinear[] b)
Computes res = a * b in terms of vector multiplication of polynomials. 
static void 
testIt()
Tests the functionality of the class. 
Methods inherited from class java.lang.Object 

Field Detail 
private Poly2Max[] reduce
private static Poly2MultiSquare mul_tmpS
private static Poly2MultiLinear mul_tmpL
private static Poly2MultiLinear[] mul_resL
Constructor Detail 
Multi2Mul(Poly2Max modulus)
reduce
modulus
 polynomial over GF(2) for reduction
the number of variables must be 3 for our purposeMethod Detail 
public Poly2MultiSquare[] mul(Poly2MultiLinear[] a, Poly2MultiLinear[] b)
reduce
to
take the modulus into account.public Poly2MultiSquare[] mul(int[] con, Poly2MultiLinear[] a, Poly2MultiLinear[] b)
reduce
to
take the modulus into account.con
 constants as a vector, i.e. a vector of polynomials of degree 0 or 1a
 linear polynomial in dimension variablesb
 linear polynimial in dimension variablespublic static void initAll()
void mul(Poly2MultiSquare[] res, int[] con, Poly2MultiLinear[] a, Poly2MultiLinear[] b)
reduce
to
take the modulus into account.res
 vector for our result polynomialscon
 constants as a vector, i.e. a vector of polynomials of degree 0 or 1a
 linear polynomial in dimension variablesb
 linear polynimial in dimension variablespublic Poly2MultiLinear[] mul(int[] con, Poly2MultiLinear[] poly)
reduce
to
take the modulus into account.con
 constants as a vector, i.e. a vector of polynomials of degree 0 or 1poly
 linear polynomial in dimension variablesvoid mul(Poly2MultiLinear[] res, int[] con, Poly2MultiLinear[] poly)
reduce
to
take the modulus into account.res
 linear polynomials in dimension variablescon
 constants as a vector, i.e. a vector of polynomials of degree 0 or 1poly
 linear polynomials in dimension variablespublic Poly2MultiSquare[] mul2(Poly2MultiLinear[] a, Poly2MultiLinear[] b)
reduce
to
take the modulus into account. This is an independent implementation to
mul(Poly2MultiLinear[], Poly2MultiLinear[])
and regarded to be slower.public Poly2MultiSquare[] mul2(int[] con, Poly2MultiLinear[] a, Poly2MultiLinear[] b)
reduce
to
take the modulus into account. This is an independent implementation to
mul(int[], Poly2MultiLinear[], Poly2MultiLinear[])
and regarded to be slower.public static void testIt()
public static void main(java.lang.String[] args)
testIt()
method


PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: INNER  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 