|
Bouncy Castle Cryptography Library 1.47 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.bouncycastle.crypto.KeyGenerationParameters
org.bouncycastle.crypto.params.NTRUSigningKeyGenerationParameters
public class NTRUSigningKeyGenerationParameters
A set of parameters for NtruSign. Several predefined parameter sets are available and new ones can be created as well.
Field Summary | |
---|---|
static NTRUSigningKeyGenerationParameters |
APR2011_439
Gives 128 bits of security |
static NTRUSigningKeyGenerationParameters |
APR2011_439_PROD
Like APR2011_439 , this parameter set gives 128 bits of security but uses product-form polynomials |
static NTRUSigningKeyGenerationParameters |
APR2011_743
Gives 256 bits of security |
static NTRUSigningKeyGenerationParameters |
APR2011_743_PROD
Like APR2011_439 , this parameter set gives 256 bits of security but uses product-form polynomials |
int |
B
|
static int |
BASIS_TYPE_STANDARD
|
static int |
BASIS_TYPE_TRANSPOSE
|
int |
basisType
|
double |
betaSq
|
int |
d
|
int |
d1
|
int |
d2
|
int |
d3
|
Digest |
hashAlg
|
static int |
KEY_GEN_ALG_FLOAT
|
static int |
KEY_GEN_ALG_RESULTANT
|
int |
keyGenAlg
|
double |
keyNormBoundSq
|
int |
N
|
double |
normBoundSq
|
int |
polyType
|
boolean |
primeCheck
|
int |
q
|
int |
signFailTolerance
|
boolean |
sparse
|
static NTRUSigningKeyGenerationParameters |
TEST157
Generates key pairs quickly. |
static NTRUSigningKeyGenerationParameters |
TEST157_PROD
Generates key pairs quickly. |
Constructor Summary | |
---|---|
NTRUSigningKeyGenerationParameters(java.io.InputStream is)
Reads a parameter set from an input stream. |
|
NTRUSigningKeyGenerationParameters(int N,
int q,
int d,
int B,
int basisType,
double beta,
double normBound,
double keyNormBound,
boolean primeCheck,
boolean sparse,
int keyGenAlg,
Digest hashAlg)
Constructs a parameter set that uses ternary private keys (i.e. |
|
NTRUSigningKeyGenerationParameters(int N,
int q,
int d1,
int d2,
int d3,
int B,
int basisType,
double beta,
double normBound,
double keyNormBound,
boolean primeCheck,
boolean sparse,
int keyGenAlg,
Digest hashAlg)
Constructs a parameter set that uses product-form private keys (i.e. |
Method Summary | |
---|---|
NTRUSigningKeyGenerationParameters |
clone()
|
boolean |
equals(java.lang.Object obj)
|
NTRUSigningParameters |
getSigningParameters()
|
int |
hashCode()
|
java.lang.String |
toString()
|
void |
writeTo(java.io.OutputStream os)
Writes the parameter set to an output stream |
Methods inherited from class org.bouncycastle.crypto.KeyGenerationParameters |
---|
getRandom, getStrength |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final int BASIS_TYPE_STANDARD
public static final int BASIS_TYPE_TRANSPOSE
public static final int KEY_GEN_ALG_RESULTANT
public static final int KEY_GEN_ALG_FLOAT
public static final NTRUSigningKeyGenerationParameters APR2011_439
public static final NTRUSigningKeyGenerationParameters APR2011_439_PROD
APR2011_439
, this parameter set gives 128 bits of security but uses product-form polynomials
public static final NTRUSigningKeyGenerationParameters APR2011_743
public static final NTRUSigningKeyGenerationParameters APR2011_743_PROD
APR2011_439
, this parameter set gives 256 bits of security but uses product-form polynomials
public static final NTRUSigningKeyGenerationParameters TEST157
public static final NTRUSigningKeyGenerationParameters TEST157_PROD
public int N
public int q
public int d
public int d1
public int d2
public int d3
public int B
public double betaSq
public double normBoundSq
public int signFailTolerance
public double keyNormBoundSq
public boolean primeCheck
public int basisType
public boolean sparse
public int keyGenAlg
public Digest hashAlg
public int polyType
Constructor Detail |
---|
public NTRUSigningKeyGenerationParameters(int N, int q, int d, int B, int basisType, double beta, double normBound, double keyNormBound, boolean primeCheck, boolean sparse, int keyGenAlg, Digest hashAlg)
N
- number of polynomial coefficientsq
- modulusd
- number of -1's in the private polynomials f
and g
B
- number of perturbationsbasisType
- whether to use the standard or transpose latticebeta
- balancing factor for the transpose latticenormBound
- maximum norm for valid signatureskeyNormBound
- maximum norm for the ploynomials F
and G
primeCheck
- whether 2N+1
is primesparse
- whether to treat ternary polynomials as sparsely populated (SparseTernaryPolynomial
vs DenseTernaryPolynomial
)keyGenAlg
- RESULTANT
produces better bases, FLOAT
is slightly faster. RESULTANT
follows the EESS standard while FLOAT
is described in Hoffstein et al: An Introduction to Mathematical Cryptography.hashAlg
- a valid identifier for a java.security.MessageDigest
instance such as SHA-256
. The MessageDigest
must support the getDigestLength()
method.public NTRUSigningKeyGenerationParameters(int N, int q, int d1, int d2, int d3, int B, int basisType, double beta, double normBound, double keyNormBound, boolean primeCheck, boolean sparse, int keyGenAlg, Digest hashAlg)
N
- number of polynomial coefficientsq
- modulusd1
- 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 perturbationsbasisType
- whether to use the standard or transpose latticebeta
- balancing factor for the transpose latticenormBound
- maximum norm for valid signatureskeyNormBound
- maximum norm for the ploynomials F
and G
primeCheck
- whether 2N+1
is primesparse
- whether to treat ternary polynomials as sparsely populated (SparseTernaryPolynomial
vs DenseTernaryPolynomial
)keyGenAlg
- RESULTANT
produces better bases, FLOAT
is slightly faster. RESULTANT
follows the EESS standard while FLOAT
is described in Hoffstein et al: An Introduction to Mathematical Cryptography.hashAlg
- a valid identifier for a java.security.MessageDigest
instance such as SHA-256
. The MessageDigest
must support the getDigestLength()
method.public NTRUSigningKeyGenerationParameters(java.io.InputStream is) throws java.io.IOException
is
- an input stream
java.io.IOException
Method Detail |
---|
public void writeTo(java.io.OutputStream os) throws java.io.IOException
os
- an output stream
java.io.IOException
public NTRUSigningParameters getSigningParameters()
public NTRUSigningKeyGenerationParameters clone()
clone
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
|
Bouncy Castle Cryptography Library 1.47 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |