Package org.bouncycastle.pqc.crypto.ntru
Class NTRUSigningParameters
- java.lang.Object
-
- org.bouncycastle.pqc.crypto.ntru.NTRUSigningParameters
-
- All Implemented Interfaces:
java.lang.Cloneable
public class NTRUSigningParameters extends java.lang.Object implements java.lang.CloneableA set of parameters for NtruSign. Several predefined parameter sets are available and new ones can be created as well.
-
-
Constructor Summary
Constructors Constructor Description 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.NTRUSigningParameters(java.io.InputStream is)Reads a parameter set from an input stream.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description NTRUSigningParametersclone()booleanequals(java.lang.Object obj)inthashCode()java.lang.StringtoString()voidwriteTo(java.io.OutputStream os)Writes the parameter set to an output stream
-
-
-
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 coefficientsq- modulusd- number of -1's in the private polynomialsfandgB- number of perturbationsbeta- balancing factor for the transpose latticenormBound- maximum norm for valid signatureshashAlg- a valid identifier for ajava.security.MessageDigestinstance such asSHA-256. TheMessageDigestmust support thegetDigestLength()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 coefficientsq- modulusd1- number of -1's in the private polynomialsfandgd2- number of -1's in the private polynomialsfandgd3- number of -1's in the private polynomialsfandgB- number of perturbationsbeta- balancing factor for the transpose latticenormBound- maximum norm for valid signatureskeyNormBound- maximum norm for the ploynomialsFandGhashAlg- a valid identifier for ajava.security.MessageDigestinstance such asSHA-256. TheMessageDigestmust support thegetDigestLength()method.
-
NTRUSigningParameters
public NTRUSigningParameters(java.io.InputStream is) throws java.io.IOExceptionReads 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.IOExceptionWrites the parameter set to an output stream- Parameters:
os- an output stream- Throws:
java.io.IOException
-
clone
public NTRUSigningParameters clone()
- Overrides:
clonein classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-