| Package | Description |
|---|---|
| org.bouncycastle.pqc.crypto.ntru | |
| org.bouncycastle.pqc.math.ntru.polynomial | |
| org.bouncycastle.pqc.math.ntru.polynomial.test |
| Modifier and Type | Field and Description |
|---|---|
IntegerPolynomial |
NTRUSigningKeyPairGenerator.FGBasis.F |
IntegerPolynomial |
NTRUEncryptionPrivateKeyParameters.fp |
IntegerPolynomial |
NTRUSigningKeyPairGenerator.FGBasis.G |
IntegerPolynomial |
NTRUSigningPublicKeyParameters.h |
IntegerPolynomial |
NTRUEncryptionPrivateKeyParameters.h |
IntegerPolynomial |
NTRUSigningPrivateKeyParameters.Basis.h |
IntegerPolynomial |
NTRUEncryptionPublicKeyParameters.h |
| Modifier and Type | Method and Description |
|---|---|
protected IntegerPolynomial |
NTRUSigner.createMsgRep(byte[] msgHash,
int r)
Deprecated.
|
protected IntegerPolynomial |
NTRUEngine.decrypt(IntegerPolynomial e,
Polynomial priv_t,
IntegerPolynomial priv_fp) |
protected IntegerPolynomial |
NTRUEngine.encrypt(IntegerPolynomial m,
TernaryPolynomial r,
IntegerPolynomial pubKey) |
| Modifier and Type | Method and Description |
|---|---|
protected IntegerPolynomial |
NTRUEngine.decrypt(IntegerPolynomial e,
Polynomial priv_t,
IntegerPolynomial priv_fp) |
protected IntegerPolynomial |
NTRUEngine.encrypt(IntegerPolynomial m,
TernaryPolynomial r,
IntegerPolynomial pubKey) |
| Constructor and Description |
|---|
Basis(Polynomial f,
Polynomial fPrime,
IntegerPolynomial h,
NTRUSigningKeyGenerationParameters params)
Constructs a new basis from polynomials
f, f', h. |
NTRUEncryptionPrivateKeyParameters(IntegerPolynomial h,
Polynomial t,
IntegerPolynomial fp,
NTRUEncryptionParameters params)
Constructs a new private key from a polynomial
|
NTRUEncryptionPublicKeyParameters(IntegerPolynomial h,
NTRUEncryptionParameters params)
Constructs a new public key from a polynomial
|
NTRUSigningPublicKeyParameters(IntegerPolynomial h,
NTRUSigningParameters params)
Constructs a new public key from a polynomial
|
| Modifier and Type | Class and Description |
|---|---|
class |
DenseTernaryPolynomial
A
TernaryPolynomial with a "high" number of nonzero coefficients. |
| Modifier and Type | Method and Description |
|---|---|
static IntegerPolynomial |
IntegerPolynomial.fromBinary(byte[] data,
int N,
int q)
Returns a polynomial with N coefficients between
0 and q-1.q must be a power of 2.Ignores any excess bytes. |
static IntegerPolynomial |
IntegerPolynomial.fromBinary(InputStream is,
int N,
int q)
Returns a polynomial with N coefficients between
0 and q-1.q must be a power of 2.Ignores any excess bytes. |
static IntegerPolynomial |
IntegerPolynomial.fromBinary3Sves(byte[] data,
int N)
Decodes a byte array to a polynomial with
N ternary coefficientsIgnores any excess bytes. |
static IntegerPolynomial |
IntegerPolynomial.fromBinary3Tight(byte[] b,
int N)
Converts a byte array produced by
toBinary3Tight() to a polynomial. |
static IntegerPolynomial |
IntegerPolynomial.fromBinary3Tight(InputStream is,
int N)
Reads data produced by
toBinary3Tight() from an input stream and converts it to a polynomial. |
IntegerPolynomial |
IntegerPolynomial.invertF3()
Computes the inverse mod 3.
|
IntegerPolynomial |
IntegerPolynomial.invertFq(int q)
Computes the inverse mod
q; q must be a power of 2.Returns null if the polynomial is not invertible. |
IntegerPolynomial |
IntegerPolynomial.mult(IntegerPolynomial poly2)
Multiplies the polynomial with another, taking the indices mod N
|
IntegerPolynomial |
Polynomial.mult(IntegerPolynomial poly2)
Multiplies the polynomial by an
IntegerPolynomial,
taking the indices mod N. |
IntegerPolynomial |
ProductFormPolynomial.mult(IntegerPolynomial b) |
IntegerPolynomial |
SparseTernaryPolynomial.mult(IntegerPolynomial poly2) |
IntegerPolynomial |
TernaryPolynomial.mult(IntegerPolynomial poly2)
Multiplies the polynomial by an
IntegerPolynomial, taking the indices mod N |
IntegerPolynomial |
IntegerPolynomial.mult(IntegerPolynomial poly2,
int modulus)
Multiplies the polynomial with another, taking the values mod modulus and the indices mod N
|
IntegerPolynomial |
Polynomial.mult(IntegerPolynomial poly2,
int modulus)
Multiplies the polynomial by an
IntegerPolynomial,
taking the coefficient values mod modulus and the indices mod N. |
IntegerPolynomial |
ProductFormPolynomial.mult(IntegerPolynomial poly2,
int modulus) |
IntegerPolynomial |
SparseTernaryPolynomial.mult(IntegerPolynomial poly2,
int modulus) |
IntegerPolynomial |
DenseTernaryPolynomial.mult(IntegerPolynomial poly2,
int modulus) |
IntegerPolynomial |
IntegerPolynomial.toIntegerPolynomial() |
IntegerPolynomial |
Polynomial.toIntegerPolynomial()
Returns a polynomial that is equal to this polynomial (in the sense that
Polynomial.mult(IntegerPolynomial, int)
returns equal IntegerPolynomials). |
IntegerPolynomial |
LongPolynomial5.toIntegerPolynomial() |
IntegerPolynomial |
ProductFormPolynomial.toIntegerPolynomial() |
IntegerPolynomial |
SparseTernaryPolynomial.toIntegerPolynomial() |
IntegerPolynomial |
LongPolynomial2.toIntegerPolynomial() |
| Modifier and Type | Method and Description |
|---|---|
void |
IntegerPolynomial.add(IntegerPolynomial b)
Adds another polynomial which can have a different number of coefficients.
|
void |
IntegerPolynomial.add(IntegerPolynomial b,
int modulus)
Adds another polynomial which can have a different number of coefficients,
and takes the coefficient values mod
modulus. |
IntegerPolynomial |
IntegerPolynomial.mult(IntegerPolynomial poly2)
Multiplies the polynomial with another, taking the indices mod N
|
IntegerPolynomial |
Polynomial.mult(IntegerPolynomial poly2)
Multiplies the polynomial by an
IntegerPolynomial,
taking the indices mod N. |
IntegerPolynomial |
ProductFormPolynomial.mult(IntegerPolynomial b) |
IntegerPolynomial |
SparseTernaryPolynomial.mult(IntegerPolynomial poly2) |
IntegerPolynomial |
TernaryPolynomial.mult(IntegerPolynomial poly2)
Multiplies the polynomial by an
IntegerPolynomial, taking the indices mod N |
IntegerPolynomial |
IntegerPolynomial.mult(IntegerPolynomial poly2,
int modulus)
Multiplies the polynomial with another, taking the values mod modulus and the indices mod N
|
IntegerPolynomial |
Polynomial.mult(IntegerPolynomial poly2,
int modulus)
Multiplies the polynomial by an
IntegerPolynomial,
taking the coefficient values mod modulus and the indices mod N. |
IntegerPolynomial |
ProductFormPolynomial.mult(IntegerPolynomial poly2,
int modulus) |
IntegerPolynomial |
SparseTernaryPolynomial.mult(IntegerPolynomial poly2,
int modulus) |
IntegerPolynomial |
DenseTernaryPolynomial.mult(IntegerPolynomial poly2,
int modulus) |
void |
IntegerPolynomial.sub(IntegerPolynomial b)
Subtracts another polynomial which can have a different number of coefficients.
|
void |
IntegerPolynomial.sub(IntegerPolynomial b,
int modulus)
Subtracts another polynomial which can have a different number of coefficients,
and takes the coefficient values mod
modulus. |
| Constructor and Description |
|---|
BigIntPolynomial(IntegerPolynomial p)
Constructs a
BigIntPolynomial from a IntegerPolynomial. |
DenseTernaryPolynomial(IntegerPolynomial intPoly)
Constructs a
DenseTernaryPolynomial from a IntegerPolynomial. |
LongPolynomial2(IntegerPolynomial p)
Constructs a
LongPolynomial2 from a IntegerPolynomial. |
LongPolynomial5(IntegerPolynomial p)
Constructs a
LongPolynomial5 from a IntegerPolynomial. |
SparseTernaryPolynomial(IntegerPolynomial intPoly)
Constructs a
DenseTernaryPolynomial from a IntegerPolynomial. |
| Modifier and Type | Method and Description |
|---|---|
static IntegerPolynomial |
PolynomialGenerator.generateRandom(int N,
int q)
Creates a random polynomial with
N coefficients
between 0 and q-1. |
Copyright © 2015–2020 The veraPDF Consortium. All rights reserved.