Class NTRUSigningParameters

java.lang.Object
org.bouncycastle.pqc.legacy.crypto.ntru.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 Details

    • 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 Details

    • 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
  • Method Details