Org.BouncyCastle.Crypto.Macs.SipHash
Implementation of SipHash as specified in "SipHash: a fast short-input PRF", by Jean-Philippe
Aumasson and Daniel J. Bernstein (https://131002.net/siphash/siphash.pdf).
namespace Org.BouncyCastle.Crypto.Macs
{
public class SipHash : IMac
{
protected readonly int c;
protected readonly int d;
protected long k0;
protected long k1;
protected long v0;
protected long v1;
protected long v2;
protected long v3;
protected long m;
protected int wordPos;
protected int wordCount;
public virtual string AlgorithmName { get; }
public SipHash();
public SipHash(int c, int d);
public virtual int GetMacSize();
public virtual void Init(ICipherParameters parameters);
public virtual void Update(byte input);
public virtual void BlockUpdate(byte[] input, int offset, int length);
public virtual long DoFinal();
public virtual int DoFinal(byte[] output, int outOff);
public virtual void Reset();
protected virtual void ProcessMessageWord();
protected virtual void ApplySipRounds(int n);
protected static long RotateLeft(long x, int n);
}
}