Interface AEADBlockCipher

All Superinterfaces:
AEADCipher
All Known Implementing Classes:
CCMBlockCipher, EAXBlockCipher, GCMBlockCipher, OCBBlockCipher

public interface AEADBlockCipher extends AEADCipher
A block cipher mode that includes authenticated encryption with a streaming mode and optional associated data.

Implementations of this interface may operate in a packet mode (where all input data is buffered and processed dugin the call to AEADCipher.doFinal(byte[], int)), or in a streaming mode (where output data is incrementally produced with each call to AEADCipher.processByte(byte, byte[], int) or AEADCipher.processBytes(byte[], int, int, byte[], int).
This is important to consider during decryption: in a streaming mode, unauthenticated plaintext data may be output prior to the call to AEADCipher.doFinal(byte[], int) that results in an authentication failure. The higher level protocol utilising this cipher must ensure the plaintext data is handled appropriately until the end of data is reached and the entire ciphertext is authenticated.

See Also:
  • Method Details

    • getUnderlyingCipher

      BlockCipher getUnderlyingCipher()
      return the cipher this object wraps.
      Returns:
      the cipher this object wraps.