Class NTRUSigningParameters

  • All Implemented Interfaces:
    Cloneable

    public class NTRUSigningParameters
    extends Object
    implements Cloneable
    A set of parameters for NtruSign. Several predefined parameter sets are available and new ones can be created as well.
    • Field Detail

      • N

        public int N
      • q

        public int q
      • d

        public int d
      • d1

        public int d1
      • d2

        public int d2
      • d3

        public int d3
      • B

        public int B
      • betaSq

        public double betaSq
      • normBoundSq

        public double normBoundSq
      • signFailTolerance

        public int signFailTolerance
      • hashAlg

        public Digest hashAlg
    • Constructor Detail

      • NTRUSigningParameters

        public NTRUSigningParameters​(int N,
                                     int q,
                                     int d,
                                     int B,
                                     double beta,
                                     double normBound,
                                     Digest hashAlg)
        Constructs a parameter set that uses ternary private keys (i.e. polyType=SIMPLE).
        Parameters:
        N - number of polynomial coefficients
        q - modulus
        d - number of -1's in the private polynomials f and g
        B - number of perturbations
        beta - balancing factor for the transpose lattice
        normBound - maximum norm for valid signatures
        hashAlg - a valid identifier for a java.security.MessageDigest instance such as SHA-256. The MessageDigest must support the getDigestLength() method.
      • NTRUSigningParameters

        public NTRUSigningParameters​(int N,
                                     int q,
                                     int d1,
                                     int d2,
                                     int d3,
                                     int B,
                                     double beta,
                                     double normBound,
                                     double keyNormBound,
                                     Digest hashAlg)
        Constructs a parameter set that uses product-form private keys (i.e. polyType=PRODUCT).
        Parameters:
        N - number of polynomial coefficients
        q - modulus
        d1 - number of -1's in the private polynomials f and g
        d2 - number of -1's in the private polynomials f and g
        d3 - number of -1's in the private polynomials f and g
        B - number of perturbations
        beta - balancing factor for the transpose lattice
        normBound - maximum norm for valid signatures
        keyNormBound - maximum norm for the ploynomials F and G
        hashAlg - a valid identifier for a java.security.MessageDigest instance such as SHA-256. The MessageDigest must support the getDigestLength() method.
      • NTRUSigningParameters

        public NTRUSigningParameters​(InputStream is)
                              throws IOException
        Reads a parameter set from an input stream.
        Parameters:
        is - an input stream
        Throws:
        IOException