package org.bouncycastle.pqc.crypto.mceliece; import org.bouncycastle.pqc.math.linearalgebra.GF2Matrix; /** * * * */ public class McElieceCCA2PublicKeyParameters extends McElieceCCA2KeyParameters { // the length of the code private int n; // the error correction capability of the code private int t; // the generator matrix private GF2Matrix matrixG; /** * Constructor. * @param n length of the code * @param t error correction capability * @param matrix generator matrix * @param digest McElieceCCA2Parameters */ public McElieceCCA2PublicKeyParameters(int n, int t, GF2Matrix matrix, String digest) { super(false, digest); this.n = n; this.t = t; this.matrixG = new GF2Matrix(matrix); } /** * @return the length of the code */ public int getN() { return n; } /** * @return the error correction capability of the code */ public int getT() { return t; } /** * @return the generator matrix */ public GF2Matrix getG() { return matrixG; } /** * @return the dimension of the code */ public int getK() { return matrixG.getNumRows(); } }