org.bouncycastle.crypto.params

## Class FrodoKEMParameters

- java.lang.Object
- - org.bouncycastle.crypto.params.FrodoKEMParameters

- All Implemented Interfaces:
    CipherParameters, KEMParameters

      public class FrodoKEMParameters
      extends java.lang.Object
      implements KEMParameters

  Parameter sets for FrodoKEM as standardised in ISO/IEC 18033-2:2006/Amd 2:2026, Clause 14.

  For each of the two standardised security levels (976 and 1344) there are, in both a SHAKE128 and an AES-128 matrix-generation variant:

  - the salted "FrodoKEM" variant (`frodokem976shake`, `frodokem1344shake`, `frodokem976aes`, `frodokem1344aes`), which applies the Salted Fujisaki-Okamoto transform for tight multi-ciphertext security; and
  - the ephemeral "eFrodoKEM" variant (`efrodokem976shake`, `efrodokem1344shake`, `efrodokem976aes`, `efrodokem1344aes`), which omits the salt and must only be used where fewer than 2^8 ciphertexts are produced per public key.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static FrodoKEMParameters` | `efrodokem1344aes`
    `static FrodoKEMParameters` | `efrodokem1344shake`
    `static FrodoKEMParameters` | `efrodokem976aes`
    `static FrodoKEMParameters` | `efrodokem976shake`
    `static FrodoKEMParameters` | `frodokem1344aes`
    `static FrodoKEMParameters` | `frodokem1344shake`
    `static FrodoKEMParameters` | `frodokem976aes`
    `static FrodoKEMParameters` | `frodokem976shake`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getB()`
    `int` | `getD()`
    `int` | `getEncapsulationLength()`
    `int` | `getN()`
    `java.lang.String` | `getName()`
    `int` | `getSessionKeySize()`
    `boolean` | `isAes()`
    `boolean` | `isSalted()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### frodokem976shake

          public static final FrodoKEMParameters frodokem976shake

    - #### frodokem1344shake

          public static final FrodoKEMParameters frodokem1344shake

    - #### efrodokem976shake

          public static final FrodoKEMParameters efrodokem976shake

    - #### efrodokem1344shake

          public static final FrodoKEMParameters efrodokem1344shake

    - #### frodokem976aes

          public static final FrodoKEMParameters frodokem976aes

    - #### frodokem1344aes

          public static final FrodoKEMParameters frodokem1344aes

    - #### efrodokem976aes

          public static final FrodoKEMParameters efrodokem976aes

    - #### efrodokem1344aes

          public static final FrodoKEMParameters efrodokem1344aes

  - ### Method Detail

    - #### getName

          public java.lang.String getName()

    - #### getSessionKeySize

          public int getSessionKeySize()

    - #### getEncapsulationLength

          public int getEncapsulationLength()

    - #### getN

          public int getN()

    - #### getD

          public int getD()

    - #### getB

          public int getB()

    - #### isSalted

          public boolean isSalted()

    - #### isAes

          public boolean isAes()