Bouncy Castle Cryptography Library 1.77.0

org.bouncycastle.crypto.macs
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.


Fields inherited from class org.bouncycastle.crypto.macs.SipHash
c, d, k0, k1, m, v0, v1, v2, v3, wordCount, wordPos
 
Constructor Summary
SipHash128()
          SipHash128-2-4
SipHash128(int c, int d)
          SipHash128-c-d
 
Method Summary
 long doFinal()
           
 int doFinal(byte[] out, int outOff)
          Compute the final stage of the MAC writing the output to the out parameter.
 java.lang.String getAlgorithmName()
          Return the name of the algorithm the MAC implements.
 int getMacSize()
          Return the block size for this MAC (in bytes).
 void reset()
          Reset the MAC.
 
Methods inherited from class org.bouncycastle.crypto.macs.SipHash
applySipRounds, init, processMessageWord, rotateLeft, update, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

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 Detail

getAlgorithmName

public java.lang.String getAlgorithmName()
Description copied from interface: Mac
Return the name of the algorithm the MAC implements.
Overrides:
getAlgorithmName in class SipHash
Following copied from interface: org.bouncycastle.crypto.Mac
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).
Overrides:
getMacSize in class SipHash
Following copied from interface: org.bouncycastle.crypto.Mac
Returns:
the block size for this MAC in bytes.

doFinal

public long doFinal()
             throws DataLengthException,
                    java.lang.IllegalStateException
Overrides:
doFinal in class SipHash

doFinal

public int doFinal(byte[] out,
                   int outOff)
            throws DataLengthException,
                   java.lang.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.

Overrides:
doFinal in class SipHash
Following copied from interface: org.bouncycastle.crypto.Mac
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.
java.lang.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).
Overrides:
reset in class SipHash

Bouncy Castle Cryptography Library 1.77.0