Bouncy Castle Cryptography Library 1.49

org.bouncycastle.pqc.crypto.ntru
Class NTRUSigningParameters

java.lang.Object
  extended by org.bouncycastle.pqc.crypto.ntru.NTRUSigningParameters
All Implemented Interfaces:
java.lang.Cloneable

public class NTRUSigningParameters
extends java.lang.Object
implements java.lang.Cloneable

A set of parameters for NtruSign. Several predefined parameter sets are available and new ones can be created as well.


Field Summary
 int B
           
 double betaSq
           
 int d
           
 int d1
           
 int d2
           
 int d3
           
 Digest hashAlg
           
 int N
           
 double normBoundSq
           
 int q
           
 int signFailTolerance
           
 
Constructor Summary
NTRUSigningParameters(java.io.InputStream is)
          Reads a parameter set from an input stream.
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.
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.
 
Method Summary
 NTRUSigningParameters clone()
           
 boolean equals(java.lang.Object obj)
           
 int hashCode()
           
 java.lang.String toString()
           
 void writeTo(java.io.OutputStream os)
          Writes the parameter set to an output stream
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

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(java.io.InputStream is)
                      throws java.io.IOException
Reads a parameter set from an input stream.

Parameters:
is - an input stream
Throws:
java.io.IOException
Method Detail

writeTo

public void writeTo(java.io.OutputStream os)
             throws java.io.IOException
Writes the parameter set to an output stream

Parameters:
os - an output stream
Throws:
java.io.IOException

clone

public NTRUSigningParameters clone()
Overrides:
clone in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

Bouncy Castle Cryptography Library 1.49