Top Description Fields Constructors Methods
org.bouncycastle.pqc.crypto.ntru

pack-priv Class NTRUOWCPA

extends Object
Class Inheritance
Imports
org.bouncycastle.pqc.math.ntru.HPSPolynomial, .Polynomial, org.bouncycastle.pqc.math.ntru.parameters.NTRUHPSParameterSet, .NTRUHRSSParameterSet, .NTRUParameterSet, org.bouncycastle.util.Arrays

An OW-CPA secure deterministic public key encryption scheme (DPKE).
See Also
NTRU specification section 1.11

Field Summary

Modifier and TypeField and Description
private final NTRUParameterSet
private final NTRUSampling

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
private int
checkCiphertext(byte[] ciphertext)

private int

Returns:

0 on success (t=0), 1 on failure
checkM
(HPSPolynomial m)

Check that m is in message space, i.e. (1) |{i : m[i] = 1}| = |{i : m[i] = 2}|, and (2) |{i : m[i] != 0}| = NTRU_WEIGHT.

private int
public OWCPADecryptResult

Returns:

an instance of OWCPADecryptResult containing packed_rm and fail flag
decrypt
(byte[] ciphertext, byte[] privateKey)

DPKE decryption.

public byte[]

Returns:

DPKE ciphertext
encrypt
(Polynomial r, Polynomial m, byte[] publicKey)

DPKE encryption.

public OWCPAKeyPair

Returns:

DPKE key pair
keypair
(byte[]
a random byte array
seed
)

Generate a DPKE key pair.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

paramsback to summary
private final NTRUParameterSet params
samplingback to summary
private final NTRUSampling sampling

Constructor Detail

NTRUOWCPAback to summary
public NTRUOWCPA(NTRUParameterSet params)

Method Detail

checkCiphertextback to summary
private int checkCiphertext(byte[] ciphertext)
checkMback to summary
private int checkM(HPSPolynomial m)

Check that m is in message space, i.e. (1) |{i : m[i] = 1}| = |{i : m[i] = 2}|, and (2) |{i : m[i] != 0}| = NTRU_WEIGHT.

Note

We may assume that m has coefficients in {0,1,2}.

Returns:int

0 on success (t=0), 1 on failure

checkRback to summary
private int checkR(Polynomial r)
decryptback to summary
public OWCPADecryptResult decrypt(byte[] ciphertext, byte[] privateKey)

DPKE decryption.

Returns:OWCPADecryptResult

an instance of OWCPADecryptResult containing packed_rm and fail flag

See Also
NTRU specification section 1.11.4
encryptback to summary
public byte[] encrypt(Polynomial r, Polynomial m, byte[] publicKey)

DPKE encryption.

Returns:byte[]

DPKE ciphertext

See Also
NTRU specification section 1.11.3
keypairback to summary
public OWCPAKeyPair keypair(byte[] seed)

Generate a DPKE key pair.

Parameters
seed:byte[]

a random byte array

Returns:OWCPAKeyPair

DPKE key pair

See Also
NTRU specification section 1.11.1