Package org.bouncycastle.crypto.digests
Class SHA3Digest
java.lang.Object
org.bouncycastle.crypto.digests.KeccakDigest
org.bouncycastle.crypto.digests.SHA3Digest
- All Implemented Interfaces:
Digest,EncodableDigest,EncodableService,ExtendedDigest,SavableDigest,Memoable
implementation of SHA-3 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
ConstructorsConstructorDescriptionSHA3Digest(byte[] encoded) SHA3Digest(byte[] encoded, CryptoServicePurpose purpose) SHA3Digest(int bitLength) SHA3Digest(int bitLength, CryptoServicePurpose purpose) SHA3Digest(CryptoServicePurpose purpose) SHA3Digest(SHA3Digest source) -
Method Summary
Modifier and TypeMethodDescriptioncopy()Produce a copy of this object with its configuration and in its current state.intdoFinal(byte[] out, int outOff) close the digest, producing the final digest value.protected intdoFinal(byte[] out, int outOff, byte partialByte, int partialBits) return the algorithm namebyte[]Return an encoded byte array for the digest's internal statestatic SavableDigeststatic SavableDigestnewInstance(byte[] encoded, CryptoServicePurpose purpose) static SavableDigestnewInstance(int bitlen) static SavableDigestnewInstance(int bitlen, CryptoServicePurpose purpose) static SavableDigestnewInstance(CryptoServicePurpose purpose) static SavableDigestnewInstance(Digest digest) voidRestore a copied object state into this object.toString()Methods inherited from class org.bouncycastle.crypto.digests.KeccakDigest
absorb, absorb, absorbBits, copyIn, cryptoServiceProperties, getByteLength, getDigestSize, getEncodedState, reset, squeeze, update, updateMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.bouncycastle.crypto.Digest
getDigestSize, reset, update, updateMethods inherited from interface org.bouncycastle.crypto.ExtendedDigest
getByteLength
-
Constructor Details
-
SHA3Digest
public SHA3Digest() -
SHA3Digest
-
SHA3Digest
public SHA3Digest(int bitLength) -
SHA3Digest
-
SHA3Digest
-
SHA3Digest
public SHA3Digest(byte[] encoded) -
SHA3Digest
-
-
Method Details
-
newInstance
-
newInstance
-
newInstance
-
newInstance
-
newInstance
-
newInstance
-
getAlgorithmName
Description copied from interface:Digestreturn the algorithm name- Specified by:
getAlgorithmNamein interfaceDigest- Overrides:
getAlgorithmNamein classKeccakDigest- Returns:
- the algorithm name
-
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
protected int doFinal(byte[] out, int outOff, byte partialByte, int partialBits) - Overrides:
doFinalin classKeccakDigest
-
getEncodedState
public byte[] getEncodedState()Description copied from interface:EncodableDigestReturn an encoded byte array for the digest's internal state- Specified by:
getEncodedStatein interfaceEncodableDigest- Specified by:
getEncodedStatein interfaceEncodableService- Returns:
- an encoding of the digests internal state.
-
copy
Description copied from interface:MemoableProduce a copy of this object with its configuration and in its current state.The returned object may be used simply to store the state, or may be used as a similar object starting from the copied state.
-
reset
Description copied from interface:MemoableRestore a copied object state into this object.Implementations of this method should try to avoid or minimise memory allocation to perform the reset.
-
toString
-