Interface SkippingCipher

All Known Subinterfaces:
CTRModeCipher, SkippingStreamCipher
All Known Implementing Classes:
ChaCha7539Engine, ChaChaEngine, Salsa20Engine, SICBlockCipher, XSalsa20Engine

public interface SkippingCipher
Ciphers producing a key stream which can be reset to particular points in the stream implement this.
  • Method Summary

    Modifier and Type
    Method
    Description
    long
    Return the current "position" of the cipher
    long
    seekTo(long position)
    Reset the cipher and then skip forward to a given position.
    long
    skip(long numberOfBytes)
    Skip numberOfBytes forwards, or backwards.
  • Method Details

    • skip

      long skip(long numberOfBytes)
      Skip numberOfBytes forwards, or backwards.
      Parameters:
      numberOfBytes - the number of bytes to skip (positive forward, negative backwards).
      Returns:
      the number of bytes actually skipped.
      Throws:
      IllegalArgumentException - if numberOfBytes is an invalid value.
    • seekTo

      long seekTo(long position)
      Reset the cipher and then skip forward to a given position.
      Parameters:
      position - the number of bytes in to set the cipher state to.
      Returns:
      the byte position moved to.
    • getPosition

      long getPosition()
      Return the current "position" of the cipher
      Returns:
      the current byte position.