Bouncy Castle Cryptography Library 1.82

org.bouncycastle.crypto.digests
Class CSHAKEDigest

java.lang.Object
  extended byorg.bouncycastle.crypto.digests.KeccakDigest
      extended byorg.bouncycastle.crypto.digests.SHAKEDigest
          extended byorg.bouncycastle.crypto.digests.CSHAKEDigest
All Implemented Interfaces:
Digest, EncodableDigest, EncodableService, ExtendedDigest, Memoable, SavableDigest, Xof

public class CSHAKEDigest
extends SHAKEDigest

Customizable SHAKE function.


Field Summary
 
Fields inherited from class org.bouncycastle.crypto.digests.KeccakDigest
bitsInQueue, dataQueue, fixedOutputLength, purpose, rate, squeezing, state
 
Constructor Summary
CSHAKEDigest(byte[] encodedState)
           
CSHAKEDigest(CSHAKEDigest source)
           
CSHAKEDigest(int bitLength, byte[] N, byte[] S)
          Base constructor.
CSHAKEDigest(int bitLength, CryptoServicePurpose purpose, byte[] N, byte[] S)
          Base constructor.
 
Method Summary
 Memoable copy()
          Produce a copy of this object with its configuration and in its current state.
 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
 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.
 
Methods inherited from class org.bouncycastle.crypto.digests.SHAKEDigest
cryptoServiceProperties, doFinal, doFinal, doFinal, doFinal, getDigestSize
 
Methods inherited from class org.bouncycastle.crypto.digests.KeccakDigest
absorb, absorb, absorbBits, copyIn, getByteLength, getEncodedState, squeeze, update, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.bouncycastle.crypto.ExtendedDigest
getByteLength
 
Methods inherited from interface org.bouncycastle.crypto.Digest
update, update
 

Constructor Detail

CSHAKEDigest

public CSHAKEDigest(int bitLength,
                    byte[] N,
                    byte[] S)
Base constructor.

Parameters:
bitLength - security strength (in bits) of the underlying SHAKE function, 128 or 256.
N - the function name string, note this is reserved for use by NIST. Avoid using it if not required.
S - the customization string - available for local use.

CSHAKEDigest

public CSHAKEDigest(int bitLength,
                    CryptoServicePurpose purpose,
                    byte[] N,
                    byte[] S)
Base constructor.

Parameters:
bitLength - security strength (in bits) of the underlying SHAKE function, 128 or 256.
purpose - the purpose for constructing the CSHAKEDigest
N - the function name string, note this is reserved for use by NIST. Avoid using it if not required.
S - the customization string - available for local use.

CSHAKEDigest

public CSHAKEDigest(CSHAKEDigest source)

CSHAKEDigest

public CSHAKEDigest(byte[] encodedState)
Method Detail

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 SHAKEDigest

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
Overrides:
doOutput in class SHAKEDigest

reset

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

Specified by:
reset in interface Digest
Overrides:
reset in class KeccakDigest

getEncodedState

public byte[] getEncodedState()
Description copied from interface: EncodableDigest
Return an encoded byte array for the digest's internal state

Specified by:
getEncodedState in interface EncodableDigest
Overrides:
getEncodedState in class SHAKEDigest

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
Overrides:
copy in class SHAKEDigest

reset

public void reset(Memoable other)
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
Overrides:
reset in class SHAKEDigest

Bouncy Castle Cryptography Library 1.82