Package org.bouncycastle.pqc.crypto.ntru
Class NTRUEncryptionPrivateKeyParameters
- java.lang.Object
-
- org.bouncycastle.crypto.params.AsymmetricKeyParameter
-
- org.bouncycastle.pqc.crypto.ntru.NTRUEncryptionKeyParameters
-
- org.bouncycastle.pqc.crypto.ntru.NTRUEncryptionPrivateKeyParameters
-
- All Implemented Interfaces:
CipherParameters
public class NTRUEncryptionPrivateKeyParameters extends NTRUEncryptionKeyParameters
A NtruEncrypt private key is essentially a polynomial namedf
which takes different forms depending on whether product-form polynomials are used, and onfastP
The inverse off
modulop
is precomputed on initialization.
-
-
Field Summary
Fields Modifier and Type Field Description IntegerPolynomial
fp
IntegerPolynomial
h
Polynomial
t
-
Fields inherited from class org.bouncycastle.pqc.crypto.ntru.NTRUEncryptionKeyParameters
params
-
-
Constructor Summary
Constructors Constructor Description NTRUEncryptionPrivateKeyParameters(byte[] b, NTRUEncryptionParameters params)
Converts a byte array to a polynomialf
and constructs a new private keyNTRUEncryptionPrivateKeyParameters(java.io.InputStream is, NTRUEncryptionParameters params)
Reads a polynomialf
from an input stream and constructs a new private keyNTRUEncryptionPrivateKeyParameters(IntegerPolynomial h, Polynomial t, IntegerPolynomial fp, NTRUEncryptionParameters params)
Constructs a new private key from a polynomial
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object obj)
byte[]
getEncoded()
Converts the key to a byte arrayint
hashCode()
void
writeTo(java.io.OutputStream os)
Writes the key to an output stream-
Methods inherited from class org.bouncycastle.pqc.crypto.ntru.NTRUEncryptionKeyParameters
getParameters
-
Methods inherited from class org.bouncycastle.crypto.params.AsymmetricKeyParameter
isPrivate
-
-
-
-
Field Detail
-
t
public Polynomial t
-
fp
public IntegerPolynomial fp
-
h
public IntegerPolynomial h
-
-
Constructor Detail
-
NTRUEncryptionPrivateKeyParameters
public NTRUEncryptionPrivateKeyParameters(IntegerPolynomial h, Polynomial t, IntegerPolynomial fp, NTRUEncryptionParameters params)
Constructs a new private key from a polynomial- Parameters:
h
- the public polynomial for the key.t
- the polynomial which determines the key: iffastFp=true
,f=1+3t
; otherwise,f=t
fp
- the inverse off
params
- the NtruEncrypt parameters to use
-
NTRUEncryptionPrivateKeyParameters
public NTRUEncryptionPrivateKeyParameters(byte[] b, NTRUEncryptionParameters params) throws java.io.IOException
Converts a byte array to a polynomialf
and constructs a new private key- Parameters:
b
- an encoded polynomialparams
- the NtruEncrypt parameters to use- Throws:
java.io.IOException
- See Also:
getEncoded()
-
NTRUEncryptionPrivateKeyParameters
public NTRUEncryptionPrivateKeyParameters(java.io.InputStream is, NTRUEncryptionParameters params) throws java.io.IOException
Reads a polynomialf
from an input stream and constructs a new private key- Parameters:
is
- an input streamparams
- the NtruEncrypt parameters to use- Throws:
java.io.IOException
- See Also:
writeTo(OutputStream)
-
-
Method Detail
-
getEncoded
public byte[] getEncoded()
Converts the key to a byte array- Returns:
- the encoded key
- See Also:
NTRUEncryptionPrivateKeyParameters(byte[], NTRUEncryptionParameters)
-
writeTo
public void writeTo(java.io.OutputStream os) throws java.io.IOException
Writes the key to an output stream- Parameters:
os
- an output stream- Throws:
java.io.IOException
- See Also:
NTRUEncryptionPrivateKeyParameters(InputStream, NTRUEncryptionParameters)
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
-