Org.BouncyCastle.Crypto.Digests.KeccakDigest
Implementation of Keccak based on following KeccakNISTInterface.c from http://keccak.noekeon.org/
namespace Org.BouncyCastle.Crypto.Digests
{
public class KeccakDigest : IDigest, IMemoable
{
protected byte[] dataQueue;
protected int rate;
protected int bitsInQueue;
protected bool squeezing;
public virtual string AlgorithmName { get; }
public KeccakDigest();
public KeccakDigest(int bitLength);
public KeccakDigest(KeccakDigest source);
public virtual int GetDigestSize();
public virtual void Update(byte input);
public virtual void BlockUpdate(byte[] input, int inOff, int len);
public virtual int DoFinal(byte[] output, int outOff);
protected virtual int DoFinal(byte[] output, int outOff, byte partialByte, int partialBits);
public virtual void Reset();
public virtual int GetByteLength();
protected void Absorb(byte data);
protected void Absorb(byte[] data, int off, int len);
protected void AbsorbBits(int data, int bits);
protected void Squeeze(byte[] output, int offset, long outputLength);
public virtual IMemoable Copy();
public virtual void Reset(IMemoable other);
}
}