Overview | Package | Class | Tree | Deprecated | Index | Help
| Bouncy Castle Cryptography Library 1.85
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.bouncycastle.crypto.kems.frodo
Class FrodoKEMEngine

    java.lang.Object
      org.bouncycastle.crypto.kems.frodo.FrodoKEMEngine

public class FrodoKEMEngine
extends java.lang.Object

FrodoKEM as standardised in ISO/IEC 18033-2:2006/Amd 2:2026, Clause 14, for the SHAKE parameter sets at security levels 976 and 1344. A single engine implements both the salted "FrodoKEM" (Salted Fujisaki-Okamoto transform) and the ephemeral "eFrodoKEM" (no salt) variants, selected by the flag: when salted, the seed seedSE is enlarged to 2*len_mu bits and a salt of 2*len_mu bits is folded into the G_2 hash and the shared secret and carried in the ciphertext; when not salted, len_salt is zero and every salt operation below is a no-op.

Field Summary
`static int` | `nbar`

Method Summary
`int` | `getCipherTextSize()`
`static FrodoKEMEngine` | `getInstance(FrodoKEMParameters params)`
`int` | `getPrivateKeySize()`
`int` | `getPublicKeySize()`
`int` | `getSessionKeySize()`
`void` | `kem_dec(byte[] ss, byte[] ct, byte[] sk)`
`void` | `kem_enc(byte[] ct, byte[] ss, byte[] pk, java.security.SecureRandom random)`
`void` | `kem_keypair(byte[] pk, byte[] sk, java.security.SecureRandom random)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### nbar

    public static final int nbar

See Also:
  Constant Field Values

Method Detail

### getInstance

    public static FrodoKEMEngine getInstance(FrodoKEMParameters params)

### getCipherTextSize

    public int getCipherTextSize()

### getSessionKeySize

    public int getSessionKeySize()

### getPrivateKeySize

    public int getPrivateKeySize()

### getPublicKeySize

    public int getPublicKeySize()

### kem_keypair

    public void kem_keypair(byte[] pk,
                            byte[] sk,
                            java.security.SecureRandom random)

### kem_enc

    public void kem_enc(byte[] ct,
                        byte[] ss,
                        byte[] pk,
                        java.security.SecureRandom random)

### kem_dec

    public void kem_dec(byte[] ss,
                        byte[] ct,
                        byte[] sk)

Overview | Package | Class | Tree | Deprecated | Index | Help
| Bouncy Castle Cryptography Library 1.85
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD