本文整理汇总了Java中org.bouncycastle.pqc.math.linearalgebra.GF2mField类的典型用法代码示例。如果您正苦于以下问题:Java GF2mField类的具体用法?Java GF2mField怎么用?Java GF2mField使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
GF2mField类属于org.bouncycastle.pqc.math.linearalgebra包,在下文中一共展示了GF2mField类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: McEliecePrivateKeyParameters
import org.bouncycastle.pqc.math.linearalgebra.GF2mField; //导入依赖的package包/类
/**
* Constructor (used by the {@link McElieceKeyFactory}).
*
* @param oid
* @param n the length of the code
* @param k the dimension of the code
* @param encField the encoded field polynomial defining the finite field
* <tt>GF(2<sup>m</sup>)</tt>
* @param encGoppaPoly the encoded irreducible Goppa polynomial
* @param encSInv the encoded matrix <tt>S<sup>-1</sup></tt>
* @param encP1 the encoded permutation used to generate the systematic
* check matrix
* @param encP2 the encoded permutation used to compute the public
* generator matrix
* @param encH the encoded canonical check matrix
* @param encQInv the encoded matrix used to compute square roots in
* <tt>(GF(2<sup>m</sup>))<sup>t</sup></tt>
* @param params McElieceParameters
*/
public McEliecePrivateKeyParameters(String oid, int n, int k, byte[] encField,
byte[] encGoppaPoly, byte[] encSInv, byte[] encP1, byte[] encP2,
byte[] encH, byte[][] encQInv, McElieceParameters params)
{
super(true, params);
this.oid = oid;
this.n = n;
this.k = k;
field = new GF2mField(encField);
goppaPoly = new PolynomialGF2mSmallM(field, encGoppaPoly);
sInv = new GF2Matrix(encSInv);
p1 = new Permutation(encP1);
p2 = new Permutation(encP2);
h = new GF2Matrix(encH);
qInv = new PolynomialGF2mSmallM[encQInv.length];
for (int i = 0; i < encQInv.length; i++)
{
qInv[i] = new PolynomialGF2mSmallM(field, encQInv[i]);
}
}
示例2: McElieceCCA2PrivateKeyParameters
import org.bouncycastle.pqc.math.linearalgebra.GF2mField; //导入依赖的package包/类
/**
* Constructor used by the {@link McElieceKeyFactory}.
*
* @param n the length of the code
* @param k the dimension of the code
* @param encFieldPoly the encoded field polynomial defining the finite field
* <tt>GF(2<sup>m</sup>)</tt>
* @param encGoppaPoly the encoded irreducible Goppa polynomial
* @param encP the encoded permutation
* @param encH the encoded canonical check matrix
* @param encQInv the encoded matrix used to compute square roots in
* <tt>(GF(2^m))^t</tt>
* @param params McElieceCCA2Parameters
*/
public McElieceCCA2PrivateKeyParameters(String oid, int n, int k, byte[] encFieldPoly,
byte[] encGoppaPoly, byte[] encP, byte[] encH, byte[][] encQInv, McElieceCCA2Parameters params)
{
super(true, params);
this.oid = oid;
this.n = n;
this.k = k;
field = new GF2mField(encFieldPoly);
goppaPoly = new PolynomialGF2mSmallM(field, encGoppaPoly);
p = new Permutation(encP);
h = new GF2Matrix(encH);
qInv = new PolynomialGF2mSmallM[encQInv.length];
for (int i = 0; i < encQInv.length; i++)
{
qInv[i] = new PolynomialGF2mSmallM(field, encQInv[i]);
}
}
示例3: McElieceCCA2PrivateKey
import org.bouncycastle.pqc.math.linearalgebra.GF2mField; //导入依赖的package包/类
public McElieceCCA2PrivateKey(ASN1ObjectIdentifier oid, int n, int k, GF2mField field, PolynomialGF2mSmallM goppaPoly, Permutation p, GF2Matrix h, PolynomialGF2mSmallM[] qInv)
{
this.oid = oid;
this.n = n;
this.k = k;
this.encField = field.getEncoded();
this.encGp = goppaPoly.getEncoded();
this.encP = p.getEncoded();
this.encH = h.getEncoded();
this.encqInv = new byte[qInv.length][];
for (int i = 0; i != qInv.length; i++)
{
encqInv[i] = qInv[i].getEncoded();
}
}
示例4: McEliecePrivateKey
import org.bouncycastle.pqc.math.linearalgebra.GF2mField; //导入依赖的package包/类
public McEliecePrivateKey(ASN1ObjectIdentifier oid, int n, int k, GF2mField field, PolynomialGF2mSmallM goppaPoly, GF2Matrix sInv, Permutation p1, Permutation p2, GF2Matrix h, PolynomialGF2mSmallM[] qInv)
{
this.oid = oid;
this.n = n;
this.k = k;
this.encField = field.getEncoded();
this.encGp = goppaPoly.getEncoded();
this.encSInv = sInv.getEncoded();
this.encP1 = p1.getEncoded();
this.encP2 = p2.getEncoded();
this.encH = h.getEncoded();
this.encqInv = new byte[qInv.length][];
for (int i = 0; i != qInv.length; i++)
{
encqInv[i] = qInv[i].getEncoded();
}
}
示例5: McElieceCCA2PrivateKeySpec
import org.bouncycastle.pqc.math.linearalgebra.GF2mField; //导入依赖的package包/类
/**
* Constructor used by the {@link McElieceKeyFactory}.
*
* @param n the length of the code
* @param k the dimension of the code
* @param encFieldPoly the encoded field polynomial defining the finite field
* <tt>GF(2<sup>m</sup>)</tt>
* @param encGoppaPoly the encoded irreducible Goppa polynomial
* @param encP the encoded permutation
* @param encH the encoded canonical check matrix
* @param encQInv the encoded matrix used to compute square roots in
* <tt>(GF(2^m))^t</tt>
*/
public McElieceCCA2PrivateKeySpec(String oid, int n, int k, byte[] encFieldPoly,
byte[] encGoppaPoly, byte[] encP, byte[] encH, byte[][] encQInv)
{
this.oid = oid;
this.n = n;
this.k = k;
field = new GF2mField(encFieldPoly);
goppaPoly = new PolynomialGF2mSmallM(field, encGoppaPoly);
p = new Permutation(encP);
h = new GF2Matrix(encH);
qInv = new PolynomialGF2mSmallM[encQInv.length];
for (int i = 0; i < encQInv.length; i++)
{
qInv[i] = new PolynomialGF2mSmallM(field, encQInv[i]);
}
}
示例6: McEliecePrivateKeySpec
import org.bouncycastle.pqc.math.linearalgebra.GF2mField; //导入依赖的package包/类
/**
* Constructor (used by the {@link McElieceKeyFactory}).
*
* @param oid
* @param n the length of the code
* @param k the dimension of the code
* @param encField the encoded field polynomial defining the finite field
* <tt>GF(2<sup>m</sup>)</tt>
* @param encGoppaPoly the encoded irreducible Goppa polynomial
* @param encSInv the encoded matrix <tt>S<sup>-1</sup></tt>
* @param encP1 the encoded permutation used to generate the systematic
* check matrix
* @param encP2 the encoded permutation used to compute the public
* generator matrix
* @param encH the encoded canonical check matrix
* @param encQInv the encoded matrix used to compute square roots in
* <tt>(GF(2<sup>m</sup>))<sup>t</sup></tt>
*/
public McEliecePrivateKeySpec(String oid, int n, int k, byte[] encField,
byte[] encGoppaPoly, byte[] encSInv, byte[] encP1, byte[] encP2,
byte[] encH, byte[][] encQInv)
{
this.oid = oid;
this.n = n;
this.k = k;
field = new GF2mField(encField);
goppaPoly = new PolynomialGF2mSmallM(field, encGoppaPoly);
sInv = new GF2Matrix(encSInv);
p1 = new Permutation(encP1);
p2 = new Permutation(encP2);
h = new GF2Matrix(encH);
qInv = new PolynomialGF2mSmallM[encQInv.length];
for (int i = 0; i < encQInv.length; i++)
{
qInv[i] = new PolynomialGF2mSmallM(field, encQInv[i]);
}
}
示例7: McEliecePrivateKeyParameters
import org.bouncycastle.pqc.math.linearalgebra.GF2mField; //导入依赖的package包/类
/**
* Constructor.
*
* @param oid
* @param n the length of the code
* @param k the dimension of the code
* @param encField the encoded field polynomial defining the finite field
* <tt>GF(2<sup>m</sup>)</tt>
* @param encGoppaPoly the encoded irreducible Goppa polynomial
* @param encSInv the encoded matrix <tt>S<sup>-1</sup></tt>
* @param encP1 the encoded permutation used to generate the systematic
* check matrix
* @param encP2 the encoded permutation used to compute the public
* generator matrix
* @param encH the encoded canonical check matrix
* @param encQInv the encoded matrix used to compute square roots in
* <tt>(GF(2<sup>m</sup>))<sup>t</sup></tt>
* @param params McElieceParameters
*/
public McEliecePrivateKeyParameters(String oid, int n, int k, byte[] encField,
byte[] encGoppaPoly, byte[] encSInv, byte[] encP1, byte[] encP2,
byte[] encH, byte[][] encQInv, McElieceParameters params)
{
super(true, params);
this.oid = oid;
this.n = n;
this.k = k;
field = new GF2mField(encField);
goppaPoly = new PolynomialGF2mSmallM(field, encGoppaPoly);
sInv = new GF2Matrix(encSInv);
p1 = new Permutation(encP1);
p2 = new Permutation(encP2);
h = new GF2Matrix(encH);
qInv = new PolynomialGF2mSmallM[encQInv.length];
for (int i = 0; i < encQInv.length; i++)
{
qInv[i] = new PolynomialGF2mSmallM(field, encQInv[i]);
}
}
示例8: McElieceCCA2PrivateKeyParameters
import org.bouncycastle.pqc.math.linearalgebra.GF2mField; //导入依赖的package包/类
/**
* Constructor.
*
* @param n the length of the code
* @param k the dimension of the code
* @param encFieldPoly the encoded field polynomial defining the finite field
* <tt>GF(2<sup>m</sup>)</tt>
* @param encGoppaPoly the encoded irreducible Goppa polynomial
* @param encP the encoded permutation
* @param encH the encoded canonical check matrix
* @param encQInv the encoded matrix used to compute square roots in
* <tt>(GF(2^m))^t</tt>
* @param params McElieceCCA2Parameters
*/
public McElieceCCA2PrivateKeyParameters(String oid, int n, int k, byte[] encFieldPoly,
byte[] encGoppaPoly, byte[] encP, byte[] encH, byte[][] encQInv, McElieceCCA2Parameters params)
{
super(true, params);
this.oid = oid;
this.n = n;
this.k = k;
field = new GF2mField(encFieldPoly);
goppaPoly = new PolynomialGF2mSmallM(field, encGoppaPoly);
p = new Permutation(encP);
h = new GF2Matrix(encH);
qInv = new PolynomialGF2mSmallM[encQInv.length];
for (int i = 0; i < encQInv.length; i++)
{
qInv[i] = new PolynomialGF2mSmallM(field, encQInv[i]);
}
}
示例9: McElieceCCA2PrivateKeySpec
import org.bouncycastle.pqc.math.linearalgebra.GF2mField; //导入依赖的package包/类
/**
* Constructor.
*
* @param n the length of the code
* @param k the dimension of the code
* @param encFieldPoly the encoded field polynomial defining the finite field
* <tt>GF(2<sup>m</sup>)</tt>
* @param encGoppaPoly the encoded irreducible Goppa polynomial
* @param encP the encoded permutation
* @param encH the encoded canonical check matrix
* @param encQInv the encoded matrix used to compute square roots in
* <tt>(GF(2^m))^t</tt>
*/
public McElieceCCA2PrivateKeySpec(String oid, int n, int k, byte[] encFieldPoly,
byte[] encGoppaPoly, byte[] encP, byte[] encH, byte[][] encQInv)
{
this.oid = oid;
this.n = n;
this.k = k;
field = new GF2mField(encFieldPoly);
goppaPoly = new PolynomialGF2mSmallM(field, encGoppaPoly);
p = new Permutation(encP);
h = new GF2Matrix(encH);
qInv = new PolynomialGF2mSmallM[encQInv.length];
for (int i = 0; i < encQInv.length; i++)
{
qInv[i] = new PolynomialGF2mSmallM(field, encQInv[i]);
}
}
示例10: McEliecePrivateKeySpec
import org.bouncycastle.pqc.math.linearalgebra.GF2mField; //导入依赖的package包/类
/**
* Constructor.
*
* @param oid string representation of the object identifier the algorithm for this key.
* @param n the length of the code
* @param k the dimension of the code
* @param encField the encoded field polynomial defining the finite field
* <tt>GF(2<sup>m</sup>)</tt>
* @param encGoppaPoly the encoded irreducible Goppa polynomial
* @param encSInv the encoded matrix <tt>S<sup>-1</sup></tt>
* @param encP1 the encoded permutation used to generate the systematic
* check matrix
* @param encP2 the encoded permutation used to compute the public
* generator matrix
* @param encH the encoded canonical check matrix
* @param encQInv the encoded matrix used to compute square roots in
* <tt>(GF(2<sup>m</sup>))<sup>t</sup></tt>
*/
public McEliecePrivateKeySpec(String oid, int n, int k, byte[] encField,
byte[] encGoppaPoly, byte[] encSInv, byte[] encP1, byte[] encP2,
byte[] encH, byte[][] encQInv)
{
this.oid = oid;
this.n = n;
this.k = k;
field = new GF2mField(encField);
goppaPoly = new PolynomialGF2mSmallM(field, encGoppaPoly);
sInv = new GF2Matrix(encSInv);
p1 = new Permutation(encP1);
p2 = new Permutation(encP2);
h = new GF2Matrix(encH);
qInv = new PolynomialGF2mSmallM[encQInv.length];
for (int i = 0; i < encQInv.length; i++)
{
qInv[i] = new PolynomialGF2mSmallM(field, encQInv[i]);
}
}
示例11: GF2mMatrixEx
import org.bouncycastle.pqc.math.linearalgebra.GF2mField; //导入依赖的package包/类
/**
* Constructor.
*
* @param field a finite field GF(2^m)
* @param enc byte[] matrix in byte array form
*/
public GF2mMatrixEx(GF2mField field, int m, int n)
{
this.field = field;
// decode matrix
int d = 8;
int count = 1;
while (field.getDegree() > d)
{
count++;
d += 8;
}
this.numRows = m;
this.numColumns = n;
this.matrix = new int[this.numRows][this.numColumns];
for(int i=0; i<numRows; i++){
Arrays.fill(this.matrix[i], 0);
}
}
示例12: testIndependentMDS16x16Inverse
import org.bouncycastle.pqc.math.linearalgebra.GF2mField; //导入依赖的package包/类
/**
* Test of constant MDS16x16 matrix generation with multiplication by itself - should be neutral
*/
public void testIndependentMDS16x16Inverse() {
System.out.println("test Independent (constant) MDS16x16 - multiplicated by inverse");
int i,c;
GF2mField field = new GF2mField(8, 0x11B);
AEShelper a = new AEShelper();
a.build(true);
a.createMDS16x16();
int MDS16x16[][] = a.getMDS16x16();
GF2mMatrixEx MDS16x16Mat = new GF2mMatrixEx(field, 16, 16);
for(i=0; i<16; i++){
for(c=0; c<16; c++){
MDS16x16Mat.set(i, c, MDS16x16[i][c]);
}
}
GF2mMatrixEx shouldBeI = MDS16x16Mat.rightMultiply(MDS16x16Mat);
System.out.println(shouldBeI.toString());
}