org.bouncycastle.pqc.crypto.mlkem

## Class Symmetric.ShakeSymmetric

- java.lang.Object
- - org.bouncycastle.pqc.crypto.mlkem.Symmetric
  - - org.bouncycastle.pqc.crypto.mlkem.Symmetric.ShakeSymmetric

- Enclosing class:
    Symmetric

      static class Symmetric.ShakeSymmetric
      extends Symmetric

  SHAKE-based symmetric implementation for ML-KEM operations. Uses SHAKE extendable output functions for cryptographic hashing.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.bouncycastle.pqc.crypto.mlkem.Symmetric

      `Symmetric.ShakeSymmetric`

  - ### Field Summary

    - ### Fields inherited from class org.bouncycastle.pqc.crypto.mlkem.Symmetric

      `xofBlockBytes`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ShakeSymmetric()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `(package private) void` | `hash_g(byte[] out, byte[] in)`
    `(package private) void` | `hash_h(byte[] out, byte[] in, int outOffset)`
    `(package private) void` | `kdf(byte[] out, byte[] in)`
    `(package private) void` | `prf(byte[] out, byte[] seed, byte nonce)`
    `(package private) void` | `xofAbsorb(byte[] seed, byte a, byte b)`
    `(package private) void` | `xofSqueezeBlocks(byte[] out, int outOffset, int outLen)`

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

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

- - ### Constructor Detail

    - #### ShakeSymmetric

          ShakeSymmetric()

  - ### Method Detail

    - #### hash_g

          void hash_g(byte[] out,
                      byte[] in)

      Specified by:
        `hash_g` in class `Symmetric`

    - #### hash_h

          void hash_h(byte[] out,
                      byte[] in,
                      int outOffset)

      Specified by:
        `hash_h` in class `Symmetric`

    - #### kdf

          void kdf(byte[] out,
                   byte[] in)

      Specified by:
        `kdf` in class `Symmetric`

    - #### prf

          void prf(byte[] out,
                   byte[] seed,
                   byte nonce)

      Specified by:
        `prf` in class `Symmetric`

    - #### xofAbsorb

          void xofAbsorb(byte[] seed,
                         byte a,
                         byte b)

      Specified by:
        `xofAbsorb` in class `Symmetric`

    - #### xofSqueezeBlocks

          void xofSqueezeBlocks(byte[] out,
                                int outOffset,
                                int outLen)

      Specified by:
        `xofSqueezeBlocks` in class `Symmetric`