DerivationFunction (Bouncy Castle Library 1.85 API Specification)
Date: 2026-07-12

org.bouncycastle.crypto

## Interface DerivationFunction

- All Known Subinterfaces:
    DigestDerivationFunction, MacDerivationFunction
  All Known Implementing Classes:
    BaseKDFBytesGenerator, ConcatenationKDFGenerator, DHKEKGenerator, ECDHKEKGenerator, EthereumIESEngine.HandshakeKDFFunction, GSKKFDGenerator, HKDFBytesGenerator, KDF1BytesGenerator, KDF2BytesGenerator, KDFCounterBytesGenerator, KDFDoublePipelineIterationBytesGenerator, KDFFeedbackBytesGenerator, MGF1BytesGenerator

      public interface DerivationFunction

  base interface for general purpose byte derivation functions.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `generateBytes(byte[] out, int outOff, int len)`
    `void` | `init(DerivationParameters param)`

- - ### Method Detail

    - #### init

          void init(DerivationParameters param)

    - #### generateBytes

          int generateBytes(byte[] out,
                            int outOff,
                            int len)
                     throws DataLengthException,
                            java.lang.IllegalArgumentException

      Throws:
        `DataLengthException`
        `java.lang.IllegalArgumentException`