Class NTRUEncryptionPrivateKeyParameters

  • All Implemented Interfaces:
    CipherParameters

    public class NTRUEncryptionPrivateKeyParameters
    extends NTRUEncryptionKeyParameters
    A NtruEncrypt private key is essentially a polynomial named f which takes different forms depending on whether product-form polynomials are used, and on fastP
    The inverse of f modulo p is precomputed on initialization.
    • Constructor Detail

      • NTRUEncryptionPrivateKeyParameters

        public NTRUEncryptionPrivateKeyParameters​(IntegerPolynomial h,
                                                  Polynomial t,
                                                  IntegerPolynomial fp,
                                                  NTRUEncryptionParameters params)
        Constructs a new private key from a polynomial
        Parameters:
        h - the public polynomial for the key.
        t - the polynomial which determines the key: if fastFp=true, f=1+3t; otherwise, f=t
        fp - the inverse of f
        params - the NtruEncrypt parameters to use
      • NTRUEncryptionPrivateKeyParameters

        public NTRUEncryptionPrivateKeyParameters​(byte[] b,
                                                  NTRUEncryptionParameters params)
                                           throws java.io.IOException
        Converts a byte array to a polynomial f and constructs a new private key
        Parameters:
        b - an encoded polynomial
        params - the NtruEncrypt parameters to use
        Throws:
        java.io.IOException
        See Also:
        getEncoded()
      • NTRUEncryptionPrivateKeyParameters

        public NTRUEncryptionPrivateKeyParameters​(java.io.InputStream is,
                                                  NTRUEncryptionParameters params)
                                           throws java.io.IOException
        Reads a polynomial f from an input stream and constructs a new private key
        Parameters:
        is - an input stream
        params - the NtruEncrypt parameters to use
        Throws:
        java.io.IOException
        See Also:
        writeTo(OutputStream)