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

org.bouncycastle.crypto

## Class DefaultMultiBlockCipher

- java.lang.Object
- - org.bouncycastle.crypto.DefaultMultiBlockCipher

- All Implemented Interfaces:
    BlockCipher, MultiBlockCipher
  Direct Known Subclasses:
    AESEngine, CBCBlockCipher, StreamBlockCipher

      public abstract class DefaultMultiBlockCipher
      extends java.lang.Object
      implements MultiBlockCipher

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `DefaultMultiBlockCipher()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getMultiBlockSize()` Return the multi-block size for this cipher (in bytes).
    `int` | `processBlocks(byte[] in, int inOff, int blockCount, byte[] out, int outOff)` Process blockCount blocks from input in offset inOff and place the output in out from offset outOff.

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

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

    - ### Methods inherited from interface org.bouncycastle.crypto.BlockCipher

      `getAlgorithmName, getBlockSize, init, processBlock, reset`

- - ### Constructor Detail

    - #### DefaultMultiBlockCipher

          protected DefaultMultiBlockCipher()

  - ### Method Detail

    - #### getMultiBlockSize

          public int getMultiBlockSize()

      Description copied from interface: `MultiBlockCipher`
      Return the multi-block size for this cipher (in bytes).
      Specified by:
        `getMultiBlockSize` in interface `MultiBlockCipher`
      Returns:
        the multi-block size for this cipher in bytes.

    - #### processBlocks

          public int processBlocks(byte[] in,
                                   int inOff,
                                   int blockCount,
                                   byte[] out,
                                   int outOff)
                            throws DataLengthException,
                                   java.lang.IllegalStateException

      Description copied from interface: `MultiBlockCipher`
      Process blockCount blocks from input in offset inOff and place the output in out from offset outOff.
      Specified by:
        `processBlocks` in interface `MultiBlockCipher`
      Parameters:
        `in` - input data array.
        `inOff` - start of input data in in.
        `blockCount` - number of blocks to be processed.
        `out` - output data array.
        `outOff` - start position for output data.
      Returns:
        number of bytes written to out.
      Throws:
        `DataLengthException`
        `java.lang.IllegalStateException`