Bouncy Castle Cryptography Library 1.77.0

org.bouncycastle.crypto.digests
Class Blake3Digest

java.lang.Object
  |
  +--org.bouncycastle.crypto.digests.Blake3Digest
All Implemented Interfaces:
Digest, ExtendedDigest, Memoable, Xof

public class Blake3Digest
extends java.lang.Object
implements ExtendedDigest, Memoable, Xof

Blake3 implementation.


Constructor Summary
Blake3Digest()
          Constructor.
Blake3Digest(Blake3Digest pSource)
          Constructor.
Blake3Digest(int pDigestSize)
          Constructor.
Blake3Digest(int pDigestSize, CryptoServicePurpose purpose)
          Base constructor with purpose.
 
Method Summary
 Memoable copy()
          Produce a copy of this object with its configuration and in its current state.
 int doFinal(byte[] pOutput, int pOutOffset)
          close the digest, producing the final digest value.
 int doFinal(byte[] pOut, int pOutOffset, int pOutLen)
          Output the results of the final calculation for this digest to outLen number of bytes.
 int doOutput(byte[] pOut, int pOutOffset, int pOutLen)
          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.
 void init(Blake3Parameters pParams)
          Initialise.
 void reset()
          reset the digest back to it's initial state.
 void reset(Memoable pSource)
          Restore a copied object state into this object.
 void update(byte b)
          update the message digest with a single byte.
 void update(byte[] pMessage, int pOffset, int pLen)
          update the message digest with a block of bytes.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Blake3Digest

public Blake3Digest()
Constructor.

Blake3Digest

public Blake3Digest(int pDigestSize)
Constructor.
Parameters:
pDigestSize - the default digest size (in bits)

Blake3Digest

public Blake3Digest(int pDigestSize,
                    CryptoServicePurpose purpose)
Base constructor with purpose.
Parameters:
pDigestSize - size of digest (in bits)
purpose - usage purpose.

Blake3Digest

public Blake3Digest(Blake3Digest pSource)
Constructor.
Parameters:
pSource - the source digest.
Method Detail

getByteLength

public int getByteLength()
Description copied from interface: ExtendedDigest
Return the size in bytes of the internal buffer the digest applies it's compression function to.
Specified by:
getByteLength in interface ExtendedDigest
Following copied from interface: org.bouncycastle.crypto.ExtendedDigest
Returns:
byte length of the digests internal buffer.

getAlgorithmName

public java.lang.String getAlgorithmName()
Description copied from interface: Digest
return the algorithm name
Specified by:
getAlgorithmName in interface Digest
Following copied from interface: org.bouncycastle.crypto.Digest
Returns:
the algorithm name

getDigestSize

public int getDigestSize()
Description copied from interface: Digest
return the size, in bytes, of the digest produced by this message digest.
Specified by:
getDigestSize in interface Digest
Following copied from interface: org.bouncycastle.crypto.Digest
Returns:
the size, in bytes, of the digest produced by this message digest.

init

public void init(Blake3Parameters pParams)
Initialise.
Parameters:
pParams - the parameters.

update

public void update(byte b)
Description copied from interface: Digest
update the message digest with a single byte.
Specified by:
update in interface Digest
Following copied from interface: org.bouncycastle.crypto.Digest
Parameters:
in - the input byte to be entered.

update

public void update(byte[] pMessage,
                   int pOffset,
                   int pLen)
Description copied from interface: Digest
update the message digest with a block of bytes.
Specified by:
update in interface Digest
Following copied from interface: org.bouncycastle.crypto.Digest
Parameters:
in - the byte array containing the data.
inOff - the offset into the byte array where the data starts.
len - the length of the data.

doFinal

public int doFinal(byte[] pOutput,
                   int pOutOffset)
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
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[] pOut,
                   int pOutOffset,
                   int pOutLen)
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[] pOut,
                    int pOutOffset,
                    int pOutLen)
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

reset

public void reset()
Description copied from interface: Digest
reset the digest back to it's initial state.
Specified by:
reset in interface Digest

reset

public void reset(Memoable pSource)
Description copied from interface: Memoable
Restore a copied object state into this object.

Implementations of this method should try to avoid or minimise memory allocation to perform the reset.

Specified by:
reset in interface Memoable
Following copied from interface: org.bouncycastle.util.Memoable
Parameters:
other - an object originally copied from an object of the same type as this instance.
Throws:
java.lang.ClassCastException - if the provided object is not of the correct type.
MemoableResetException - if the other parameter is in some other way invalid.

copy

public Memoable copy()
Description copied from interface: Memoable
Produce 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.

Specified by:
copy in interface Memoable

Bouncy Castle Cryptography Library 1.77.0