Class BCMcElieceCCA2PrivateKey

    • Method Detail

      • getAlgorithm

        public java.lang.String getAlgorithm()
        Return the name of the algorithm.
        Specified by:
        getAlgorithm in interface java.security.Key
        Returns:
        "McEliece-CCA2"
      • getN

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

        public int getK()
        Returns:
        the dimension of the code
      • getT

        public int getT()
        Returns:
        the degree of the Goppa polynomial (error correcting capability)
      • getField

        public GF2mField getField()
        Returns:
        the finite field
      • getGoppaPoly

        public PolynomialGF2mSmallM getGoppaPoly()
        Returns:
        the irreducible Goppa polynomial
      • getP

        public Permutation getP()
        Returns:
        the permutation vector
      • getH

        public GF2Matrix getH()
        Returns:
        the canonical check matrix
      • getQInv

        public PolynomialGF2mSmallM[] getQInv()
        Returns:
        the matrix used to compute square roots in (GF(2^m))^t
      • equals

        public boolean equals​(java.lang.Object other)
        Compare this key with another object.
        Overrides:
        equals in class java.lang.Object
        Parameters:
        other - the other object
        Returns:
        the result of the comparison
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
        Returns:
        the hash code of this key
      • getEncoded

        public byte[] getEncoded()
        Return the keyData to encode in the SubjectPublicKeyInfo structure.

        The ASN.1 definition of the key structure is

           McEliecePrivateKey ::= SEQUENCE {
             m             INTEGER                  -- extension degree of the field
             k             INTEGER                  -- dimension of the code
             field         OCTET STRING             -- field polynomial
             goppaPoly     OCTET STRING             -- irreducible Goppa polynomial
             p             OCTET STRING             -- permutation vector
             matrixH       OCTET STRING             -- canonical check matrix
             sqRootMatrix  SEQUENCE OF OCTET STRING -- square root matrix
           }
         
        Specified by:
        getEncoded in interface java.security.Key
        Returns:
        the keyData to encode in the SubjectPublicKeyInfo structure
      • getFormat

        public java.lang.String getFormat()
        Specified by:
        getFormat in interface java.security.Key