org.bouncycastle.crypto.digests
Class SHAKEDigest
java.lang.Object
|
+--org.bouncycastle.crypto.digests.KeccakDigest
|
+--org.bouncycastle.crypto.digests.SHAKEDigest
- All Implemented Interfaces:
- Digest, ExtendedDigest, Xof
- Direct Known Subclasses:
- CSHAKEDigest
- public class SHAKEDigest
- extends KeccakDigest
- implements Xof
implementation of SHAKE based on following KeccakNISTInterface.c from http://keccak.noekeon.org/
Following the naming conventions used in the C source code to enable easy review of the implementation.
Method Summary |
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)
|
int |
doFinal(byte[] out,
int outOff,
int outLen)
Output the results of the final calculation for this digest to outLen number of bytes. |
protected int |
doFinal(byte[] out,
int outOff,
int outLen,
byte partialByte,
int partialBits)
|
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 |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SHAKEDigest
public SHAKEDigest()
SHAKEDigest
public SHAKEDigest(int bitLength)
SHAKEDigest
public SHAKEDigest(SHAKEDigest source)
getAlgorithmName
public java.lang.String getAlgorithmName()
- Description copied from interface:
Digest
- return the algorithm name
- Specified by:
getAlgorithmName
in interface Digest
- Overrides:
getAlgorithmName
in class KeccakDigest
- Following copied from interface:
org.bouncycastle.crypto.Digest
- Returns:
- the algorithm name
doFinal
public int doFinal(byte[] out,
int outOff)
- Description copied from interface:
Digest
- close the digest, producing the final digest value. The doFinal
call leaves the digest reset.
- Specified by:
doFinal
in interface Digest
- Overrides:
doFinal
in class KeccakDigest
- Following copied from interface:
org.bouncycastle.crypto.Digest
- Parameters:
out
- the array the digest is to be copied into.outOff
- the offset into the out array the digest is to start at.
doFinal
public int doFinal(byte[] out,
int outOff,
int outLen)
- Description copied from interface:
Xof
- Output the results of the final calculation for this digest to outLen number of bytes.
- Specified by:
doFinal
in interface Xof
- Following copied from interface:
org.bouncycastle.crypto.Xof
- Parameters:
out
- output array to write the output bytes to.outOff
- offset to start writing the bytes at.outLen
- the number of output bytes requested.- Returns:
- the number of bytes written
doOutput
public int doOutput(byte[] out,
int outOff,
int outLen)
- Description copied from interface:
Xof
- Start outputting the results of the final calculation for this digest. Unlike doFinal, this method
will continue producing output until the Xof is explicitly reset, or signals otherwise.
- Specified by:
doOutput
in interface Xof
- Following copied from interface:
org.bouncycastle.crypto.Xof
- Parameters:
out
- output array to write the output bytes to.outOff
- offset to start writing the bytes at.outLen
- the number of output bytes requested.- Returns:
- the number of bytes written
doFinal
protected int doFinal(byte[] out,
int outOff,
byte partialByte,
int partialBits)
- Overrides:
doFinal
in class KeccakDigest
doFinal
protected int doFinal(byte[] out,
int outOff,
int outLen,
byte partialByte,
int partialBits)