# Package org.bouncycastle.pqc.crypto.ntru

- Class Summary
  Class | Description
  --- | ---
  IndexGenerator | An implementation of the Index Generation Function in IEEE P1363.1.
  IndexGenerator.BitString | Represents a string of bits and supports appending, reading the head, and reading the tail.
  NTRUEncryptionKeyGenerationParameters | A set of parameters for NtruEncrypt.
  NTRUEncryptionKeyPairGenerator | Generates key pairs. The parameter p is hardcoded to 3.
  NTRUEncryptionKeyParameters |
  NTRUEncryptionParameters | A set of parameters for NtruEncrypt.
  NTRUEncryptionPrivateKeyParameters | A NtruEncrypt private key is essentially a polynomial named `f` which takes different forms depending on whether product-form polynomials are used, and on `fastP` The inverse of `f` modulo `p` is precomputed on initialization.
  NTRUEncryptionPublicKeyParameters | A NtruEncrypt public key is essentially a polynomial named `h`.
  NTRUEngine | Encrypts, decrypts data and generates key pairs. The parameter p is hardcoded to 3.
  NTRUParameters |
  NTRUSigner | Deprecated. the NTRUSigner algorithm was broken in 2012 by Ducas and Nguyen.
  NTRUSignerPrng | An implementation of the deterministic pseudo-random generator in EESS section 3.7.3.1
  NTRUSigningKeyGenerationParameters | A set of parameters for NtruSign.
  NTRUSigningKeyPairGenerator |
  NTRUSigningParameters | A set of parameters for NtruSign.
  NTRUSigningPrivateKeyParameters | A NtruSign private key comprises one or more `NTRUSigningPrivateKeyParameters.Basis` of three polynomials each, except the zeroth basis for which `h` is undefined.
  NTRUSigningPrivateKeyParameters.Basis | A NtruSign basis.
  NTRUSigningPublicKeyParameters | A NtruSign public key is essentially a polynomial named `h`.