what-the-bank/sources/org/bouncycastle/pqc/crypto/mceliece/McElieceCCA2PrivateKeyParam...

63 lines
1.8 KiB
Java
Raw Permalink Normal View History

2024-07-27 18:17:47 +07:00
package org.bouncycastle.pqc.crypto.mceliece;
import org.bouncycastle.pqc.math.linearalgebra.GF2Matrix;
import org.bouncycastle.pqc.math.linearalgebra.GF2mField;
import org.bouncycastle.pqc.math.linearalgebra.GoppaCode;
import org.bouncycastle.pqc.math.linearalgebra.Permutation;
import org.bouncycastle.pqc.math.linearalgebra.PolynomialGF2mSmallM;
import org.bouncycastle.pqc.math.linearalgebra.PolynomialRingGF2m;
/* loaded from: classes6.dex */
public class McElieceCCA2PrivateKeyParameters extends McElieceCCA2KeyParameters {
private GF2mField field;
private PolynomialGF2mSmallM goppaPoly;
private GF2Matrix h;
private int k;
private int n;
private Permutation p;
private PolynomialGF2mSmallM[] qInv;
public int getT() {
return this.goppaPoly.getDegree();
}
public PolynomialGF2mSmallM[] getQInv() {
return this.qInv;
}
public Permutation getP() {
return this.p;
}
public int getN() {
return this.n;
}
public int getK() {
return this.k;
}
public GF2Matrix getH() {
return this.h;
}
public PolynomialGF2mSmallM getGoppaPoly() {
return this.goppaPoly;
}
public GF2mField getField() {
return this.field;
}
public McElieceCCA2PrivateKeyParameters(int i, int i2, GF2mField gF2mField, PolynomialGF2mSmallM polynomialGF2mSmallM, Permutation permutation, String str) {
super(true, str);
this.n = i;
this.k = i2;
this.field = gF2mField;
this.goppaPoly = polynomialGF2mSmallM;
this.p = permutation;
this.h = GoppaCode.createCanonicalCheckMatrix(gF2mField, polynomialGF2mSmallM);
this.qInv = new PolynomialRingGF2m(gF2mField, polynomialGF2mSmallM).getSquareRootMatrix();
}
}