Package 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
implementation of SHAKE based on following KeccakNISTInterface.c from https://keccak.noekeon.org/
Following the naming conventions used in the C source code to enable easy review of the implementation.
-
Field Summary
Fields inherited from class org.bouncycastle.crypto.digests.KeccakDigest
bitsInQueue, dataQueue, fixedOutputLength, purpose, rate, squeezing, state -
Constructor Summary
ConstructorsConstructorDescriptionSHAKEDigest(int bitStrength) Base constructor.SHAKEDigest(int bitStrength, CryptoServicePurpose purpose) Base constructor.SHAKEDigest(CryptoServicePurpose purpose) SHAKEDigest(SHAKEDigest source) Clone constructor -
Method Summary
Modifier and TypeMethodDescriptionprotected CryptoServicePropertiesintdoFinal(byte[] out, int outOff) close the digest, producing the final digest value.protected intdoFinal(byte[] out, int outOff, byte partialByte, int partialBits) intdoFinal(byte[] out, int outOff, int outLen) Output the results of the final calculation for this digest to outLen number of bytes.protected intdoFinal(byte[] out, int outOff, int outLen, byte partialByte, int partialBits) intdoOutput(byte[] out, int outOff, int outLen) Start outputting the results of the final calculation for this digest.return the algorithm nameintreturn the size, in bytes, of the digest produced by this message digest.Methods inherited from class org.bouncycastle.crypto.digests.KeccakDigest
absorb, absorb, absorbBits, getByteLength, reset, squeeze, update, updateMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.bouncycastle.crypto.ExtendedDigest
getByteLength
-
Constructor Details
-
SHAKEDigest
public SHAKEDigest() -
SHAKEDigest
-
SHAKEDigest
public SHAKEDigest(int bitStrength) Base constructor.- Parameters:
bitStrength- the security strength in bits of the XOF.
-
SHAKEDigest
Base constructor.- Parameters:
bitStrength- the security strength in bits of the XOF.purpose- the purpose of the digest will be used for.
-
SHAKEDigest
Clone constructor- Parameters:
source- the other digest to be copied.
-
-
Method Details
-
getAlgorithmName
Description copied from interface:Digestreturn the algorithm name- Specified by:
getAlgorithmNamein interfaceDigest- Overrides:
getAlgorithmNamein classKeccakDigest- Returns:
- the algorithm name
-
getDigestSize
public int getDigestSize()Description copied from interface:Digestreturn the size, in bytes, of the digest produced by this message digest.- Specified by:
getDigestSizein interfaceDigest- Overrides:
getDigestSizein classKeccakDigest- Returns:
- the size, in bytes, of the digest produced by this message digest.
-
doFinal
public int doFinal(byte[] out, int outOff) Description copied from interface:Digestclose the digest, producing the final digest value. The doFinal call leaves the digest reset.- Specified by:
doFinalin interfaceDigest- Overrides:
doFinalin classKeccakDigest- 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:XofOutput the results of the final calculation for this digest to outLen number of bytes. -
doOutput
public int doOutput(byte[] out, int outOff, int outLen) Description copied from interface:XofStart 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. -
doFinal
protected int doFinal(byte[] out, int outOff, byte partialByte, int partialBits) - Overrides:
doFinalin classKeccakDigest
-
doFinal
protected int doFinal(byte[] out, int outOff, int outLen, byte partialByte, int partialBits) -
cryptoServiceProperties
- Overrides:
cryptoServicePropertiesin classKeccakDigest
-