AsymmetricBlockCipher
public class NTRUEngine extends java.lang.Object implements AsymmetricBlockCipher
Constructor | Description |
---|---|
NTRUEngine() |
Constructs a new instance with a set of encryption parameters.
|
Modifier and Type | Method | Description |
---|---|---|
protected IntegerPolynomial |
decrypt(IntegerPolynomial e,
Polynomial priv_t,
IntegerPolynomial priv_fp) |
|
protected IntegerPolynomial |
encrypt(IntegerPolynomial m,
TernaryPolynomial r,
IntegerPolynomial pubKey) |
|
int |
getInputBlockSize() |
returns the largest size an input block can be.
|
int |
getOutputBlockSize() |
returns the maximum size of the block produced by this cipher.
|
void |
init(boolean forEncryption,
CipherParameters parameters) |
initialise the cipher.
|
byte[] |
processBlock(byte[] in,
int inOff,
int len) |
process the block of len bytes stored in in from offset inOff.
|
public NTRUEngine()
public void init(boolean forEncryption, CipherParameters parameters)
AsymmetricBlockCipher
init
in interface AsymmetricBlockCipher
forEncryption
- if true the cipher is initialised for
encryption, if false for decryption.parameters
- the key and other data required by the cipher.public int getInputBlockSize()
AsymmetricBlockCipher
getInputBlockSize
in interface AsymmetricBlockCipher
public int getOutputBlockSize()
AsymmetricBlockCipher
getOutputBlockSize
in interface AsymmetricBlockCipher
public byte[] processBlock(byte[] in, int inOff, int len) throws InvalidCipherTextException
AsymmetricBlockCipher
processBlock
in interface AsymmetricBlockCipher
in
- the input datainOff
- offset into the in array where the data startslen
- the length of the block to be processed.InvalidCipherTextException
- data decrypts improperly.protected IntegerPolynomial encrypt(IntegerPolynomial m, TernaryPolynomial r, IntegerPolynomial pubKey)
protected IntegerPolynomial decrypt(IntegerPolynomial e, Polynomial priv_t, IntegerPolynomial priv_fp)
e
- priv_t
- a polynomial such that if fastFp=true
, f=1+3*priv_t
; otherwise, f=priv_t
priv_fp
-