public class KeccakDigest extends java.lang.Object implements ExtendedDigest
Following the naming conventions used in the C source code to enable easy review of the implementation.
Modifier and Type | Field and Description |
---|---|
protected int |
bitsInQueue |
protected byte[] |
dataQueue |
protected int |
fixedOutputLength |
protected CryptoServicePurpose |
purpose |
protected int |
rate |
protected boolean |
squeezing |
protected long[] |
state |
Constructor and Description |
---|
KeccakDigest() |
KeccakDigest(CryptoServicePurpose purpose) |
KeccakDigest(int bitLength) |
KeccakDigest(int bitLength,
CryptoServicePurpose purpose) |
KeccakDigest(KeccakDigest source) |
Modifier and Type | Method and Description |
---|---|
protected void |
absorb(byte data) |
protected void |
absorb(byte[] data,
int off,
int len) |
protected void |
absorbBits(int data,
int bits) |
protected CryptoServiceProperties |
cryptoServiceProperties() |
int |
doFinal(byte[] out,
int outOff)
close the digest, producing the final digest value.
|
protected int |
doFinal(byte[] out,
int outOff,
byte partialByte,
int partialBits) |
java.lang.String |
getAlgorithmName()
return the algorithm name
|
int |
getByteLength()
Return the size of block that the compression function is applied to in bytes.
|
int |
getDigestSize()
return the size, in bytes, of the digest produced by this message digest.
|
void |
reset()
reset the digest back to it's initial state.
|
protected void |
squeeze(byte[] output,
int offset,
long outputLength) |
void |
update(byte in)
update the message digest with a single byte.
|
void |
update(byte[] in,
int inOff,
int len)
update the message digest with a block of bytes.
|
protected CryptoServicePurpose purpose
protected long[] state
protected byte[] dataQueue
protected int rate
protected int bitsInQueue
protected int fixedOutputLength
protected boolean squeezing
public KeccakDigest()
public KeccakDigest(CryptoServicePurpose purpose)
public KeccakDigest(int bitLength)
public KeccakDigest(int bitLength, CryptoServicePurpose purpose)
public KeccakDigest(KeccakDigest source)
public java.lang.String getAlgorithmName()
Digest
getAlgorithmName
in interface Digest
public int getDigestSize()
Digest
getDigestSize
in interface Digest
public void update(byte in)
Digest
public void update(byte[] in, int inOff, int len)
Digest
public int doFinal(byte[] out, int outOff)
Digest
protected int doFinal(byte[] out, int outOff, byte partialByte, int partialBits)
public void reset()
Digest
public int getByteLength()
getByteLength
in interface ExtendedDigest
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)
protected CryptoServiceProperties cryptoServiceProperties()