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.Cloneable
A 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 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
-
-
-
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 polynomialsf
andg
B
- number of perturbationsbeta
- balancing factor for the transpose latticenormBound
- maximum norm for valid signatureshashAlg
- a valid identifier for ajava.security.MessageDigest
instance such asSHA-256
. TheMessageDigest
must 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 polynomialsf
andg
d2
- number of -1's in the private polynomialsf
andg
d3
- number of -1's in the private polynomialsf
andg
B
- number of perturbationsbeta
- balancing factor for the transpose latticenormBound
- maximum norm for valid signatureskeyNormBound
- maximum norm for the ploynomialsF
andG
hashAlg
- a valid identifier for ajava.security.MessageDigest
instance such asSHA-256
. TheMessageDigest
must support thegetDigestLength()
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 classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-