public class TupleHash extends java.lang.Object implements Xof, SavableDigest
From NIST Special Publication 800-185 - SHA-3 Derived Functions:cSHAKE, KMAC, TupleHash and ParallelHash
| Constructor and Description |
|---|
TupleHash(byte[] state) |
TupleHash(int bitLength,
byte[] S)
Base constructor.
|
TupleHash(int bitLength,
byte[] S,
int outputSize) |
TupleHash(TupleHash original) |
| Modifier and Type | Method and Description |
|---|---|
Memoable |
copy()
Produce a copy of this object with its configuration and in its current state.
|
int |
doFinal(byte[] out,
int outOff)
close the digest, producing the final digest value.
|
int |
doFinal(byte[] out,
int outOff,
int outLen)
Output the results of the final calculation for this digest to outLen number of bytes.
|
int |
doOutput(byte[] out,
int outOff,
int outLen)
Start outputting the results of the final calculation for this digest.
|
java.lang.String |
getAlgorithmName()
return the algorithm name
|
int |
getByteLength()
Return the size in bytes of the internal buffer the digest applies it's compression
function to.
|
int |
getDigestSize()
return the size, in bytes, of the digest produced by this message digest.
|
byte[] |
getEncodedState()
Return an encoded byte array for the digest's internal state
|
void |
reset()
reset the digest back to it's initial state.
|
void |
reset(Memoable other)
Restore a copied object state into this object.
|
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.
|
public TupleHash(int bitLength,
byte[] S)
bitLength - bit length of the underlying SHAKE function, 128 or 256.S - the customization string - available for local use.public TupleHash(int bitLength,
byte[] S,
int outputSize)
public TupleHash(TupleHash original)
public TupleHash(byte[] state)
public java.lang.String getAlgorithmName()
DigestgetAlgorithmName in interface Digestpublic int getByteLength()
ExtendedDigestgetByteLength in interface ExtendedDigestpublic int getDigestSize()
DigestgetDigestSize in interface Digestpublic void update(byte in)
throws java.lang.IllegalStateException
Digestpublic void update(byte[] in,
int inOff,
int len)
throws DataLengthException,
java.lang.IllegalStateException
Digestupdate in interface Digestin - the byte array containing the data.inOff - the offset into the byte array where the data starts.len - the length of the data.DataLengthExceptionjava.lang.IllegalStateExceptionpublic int doFinal(byte[] out,
int outOff)
throws DataLengthException,
java.lang.IllegalStateException
DigestdoFinal in interface Digestout - the array the digest is to be copied into.outOff - the offset into the out array the digest is to start at.DataLengthExceptionjava.lang.IllegalStateExceptionpublic int doFinal(byte[] out,
int outOff,
int outLen)
Xofpublic int doOutput(byte[] out,
int outOff,
int outLen)
Xofpublic void reset()
Digestpublic byte[] getEncodedState()
EncodableDigestgetEncodedState in interface EncodableDigestgetEncodedState in interface EncodableServicepublic Memoable copy()
MemoableThe returned object may be used simply to store the state, or may be used as a similar object starting from the copied state.