Class SipHash128

java.lang.Object
org.bouncycastle.crypto.macs.SipHash
org.bouncycastle.crypto.macs.SipHash128
All Implemented Interfaces:
Mac

public class SipHash128 extends SipHash
Implementation of SipHash with 128 bit output.

Based on the SipHash and the C reference implementation https://github.com/veorq/SipHash.

  • Constructor Details

    • SipHash128

      public SipHash128()
      SipHash128-2-4
    • SipHash128

      public SipHash128(int c, int d)
      SipHash128-c-d
      Parameters:
      c - the number of compression rounds
      d - the number of finalization rounds
  • Method Details

    • getAlgorithmName

      public String getAlgorithmName()
      Description copied from interface: Mac
      Return the name of the algorithm the MAC implements.
      Specified by:
      getAlgorithmName in interface Mac
      Overrides:
      getAlgorithmName in class SipHash
      Returns:
      the name of the algorithm the MAC implements.
    • getMacSize

      public int getMacSize()
      Description copied from interface: Mac
      Return the block size for this MAC (in bytes).
      Specified by:
      getMacSize in interface Mac
      Overrides:
      getMacSize in class SipHash
      Returns:
      the block size for this MAC in bytes.
    • doFinal

      public long doFinal() throws DataLengthException, IllegalStateException
      Overrides:
      doFinal in class SipHash
      Throws:
      DataLengthException
      IllegalStateException
    • doFinal

      public int doFinal(byte[] out, int outOff) throws DataLengthException, IllegalStateException
      Description copied from interface: Mac
      Compute the final stage of the MAC writing the output to the out parameter.

      doFinal leaves the MAC in the same state it was after the last init.

      Specified by:
      doFinal in interface Mac
      Overrides:
      doFinal in class SipHash
      Parameters:
      out - the array the MAC is to be output to.
      outOff - the offset into the out buffer the output is to start at.
      Throws:
      DataLengthException - if there isn't enough space in out.
      IllegalStateException - if the MAC is not initialised.
    • reset

      public void reset()
      Description copied from interface: Mac
      Reset the MAC. At the end of resetting the MAC should be in the in the same state it was after the last init (if there was one).
      Specified by:
      reset in interface Mac
      Overrides:
      reset in class SipHash