Class McElieceKeyGenParameterSpec

  • All Implemented Interfaces:
    java.security.spec.AlgorithmParameterSpec

    public class McElieceKeyGenParameterSpec
    extends java.lang.Object
    implements java.security.spec.AlgorithmParameterSpec
    This class provides a specification for the parameters that are used by the McEliece, McElieceCCA2, and Niederreiter key pair generators.
    • Field Detail

      • DEFAULT_M

        public static final int DEFAULT_M
        The default extension degree
        See Also:
        Constant Field Values
      • DEFAULT_T

        public static final int DEFAULT_T
        The default error correcting capability.
        See Also:
        Constant Field Values
    • Constructor Detail

      • McElieceKeyGenParameterSpec

        public McElieceKeyGenParameterSpec()
        Constructor. Set the default parameters: extension degree.
      • McElieceKeyGenParameterSpec

        public McElieceKeyGenParameterSpec​(int keysize)
        Constructor.
        Parameters:
        keysize - the length of a Goppa code
        Throws:
        java.lang.IllegalArgumentException - if keysize < 1.
      • McElieceKeyGenParameterSpec

        public McElieceKeyGenParameterSpec​(int m,
                                           int t)
                                    throws java.security.InvalidParameterException
        Constructor.
        Parameters:
        m - degree of the finite field GF(2^m)
        t - error correction capability of the code
        Throws:
        java.security.InvalidParameterException - if m < 1 or m > 32 or t < 0 or t > n.
      • McElieceKeyGenParameterSpec

        public McElieceKeyGenParameterSpec​(int m,
                                           int t,
                                           int poly)
        Constructor.
        Parameters:
        m - degree of the finite field GF(2^m)
        t - error correction capability of the code
        poly - the field polynomial
        Throws:
        java.lang.IllegalArgumentException - if m < 1 or m > 32 or t < 0 or t > n or poly is not an irreducible field polynomial.
    • Method Detail

      • getM

        public int getM()
        Returns:
        the extension degree of the finite field GF(2^m)
      • getN

        public int getN()
        Returns:
        the length of the code
      • getT

        public int getT()
        Returns:
        the error correction capability of the code
      • getFieldPoly

        public int getFieldPoly()
        Returns:
        the field polynomial