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

pack-priv Class NTRUSampling

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

NTRU sampling.
See Also
NTRU specification section 1.10

Field Summary

Modifier and TypeField and Description
private final NTRUParameterSet

Constructor Summary

AccessConstructor and Description
public
NTRUSampling(NTRUParameterSet
an NTRU parameter set
params
)

Constructor

Method Summary

Modifier and TypeMethod and Description
private static int
mod3(int a)

public PolynomialPair

Returns:

a pair of polynomial f and g
sampleFg
(byte[]
random byte array
uniformBytes
)

public HPSPolynomial

Returns:

a ternary polynomial with exactly q/16 − 1 coefficients equal to 1 and q/16 − 1 coefficient equal to −1
sampleFixedType
(byte[]
random byte array
uniformBytes
)

public Polynomial

Returns:

a ternary polynomial
sampleIid
(byte[]
random byte array
uniformBytes
)

public HRSSPolynomial

Returns:

a ternary polynomial that satisfies the non-negative correlation property
sampleIidPlus
(byte[]
random byte array
uniformBytes
)

public PolynomialPair

Returns:

a pair of polynomial r and m
sampleRm
(byte[]
random byte array
uniformBytes
)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

paramsback to summary
private final NTRUParameterSet params

Constructor Detail

NTRUSamplingback to summary
public NTRUSampling(NTRUParameterSet params)

Constructor

Parameters
params:NTRUParameterSet

an NTRU parameter set

Method Detail

mod3back to summary
private static int mod3(int a)
sampleFgback to summary
public PolynomialPair sampleFg(byte[] uniformBytes)
Parameters
uniformBytes:byte[]

random byte array

Returns:PolynomialPair

a pair of polynomial f and g

See Also
NTRU specification section 1.10.1
sampleFixedTypeback to summary
public HPSPolynomial sampleFixedType(byte[] uniformBytes)
Parameters
uniformBytes:byte[]

random byte array

Returns:HPSPolynomial

a ternary polynomial with exactly q/16 − 1 coefficients equal to 1 and q/16 − 1 coefficient equal to −1

See Also
NTRU specification section 1.10.5
sampleIidback to summary
public Polynomial sampleIid(byte[] uniformBytes)
Parameters
uniformBytes:byte[]

random byte array

Returns:Polynomial

a ternary polynomial

See Also
NTRU specification section 1.10.3
sampleIidPlusback to summary
public HRSSPolynomial sampleIidPlus(byte[] uniformBytes)
Parameters
uniformBytes:byte[]

random byte array

Returns:HRSSPolynomial

a ternary polynomial that satisfies the non-negative correlation property

See Also
NTRU specification section 1.10.4
sampleRmback to summary
public PolynomialPair sampleRm(byte[] uniformBytes)
Parameters
uniformBytes:byte[]

random byte array

Returns:PolynomialPair

a pair of polynomial r and m

See Also
NTRU specification section 1.10.2