Package org.bouncycastle.crypto.digests
Class AsconCXof128
- java.lang.Object
-
- org.bouncycastle.crypto.digests.AsconCXof128
-
- All Implemented Interfaces:
Digest
,ExtendedDigest
,Xof
public class AsconCXof128 extends java.lang.Object
Ascon-CXOF128 was introduced in NIST Special Publication (SP) 800-232 (Initial Public Draft).Additional details and the specification can be found in: NIST SP 800-232 (Initial Public Draft). For reference source code and implementation details, please see: Reference, highly optimized, masked C and ASM implementations of Ascon (NIST SP 800-232).
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String
algorithmName
protected int
ASCON_PB_ROUNDS
protected int
BlockSize
protected int
DigestSize
protected byte[]
m_buf
protected int
m_bufPos
protected org.bouncycastle.crypto.digests.BufferBaseDigest.ProcessingBuffer
processor
-
Constructor Summary
Constructors Constructor Description AsconCXof128()
AsconCXof128(byte[] s)
AsconCXof128(byte[] s, int off, int len)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
doFinal(byte[] output, int outOff)
close the digest, producing the final digest value.int
doFinal(byte[] output, int outOff, int outLen)
Output the results of the final calculation for this digest to outLen number of bytes.int
doOutput(byte[] output, int outOff, int outLen)
Start outputting the results of the final calculation for this digest.protected void
ensureSufficientInputBuffer(byte[] input, int inOff, int len)
protected void
ensureSufficientOutputBuffer(byte[] output, int outOff)
protected void
ensureSufficientOutputBuffer(byte[] output, int outOff, int len)
protected void
finish(byte[] output, int outOff)
java.lang.String
getAlgorithmName()
return the algorithm nameint
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.protected int
hash(byte[] output, int outOff, int outLen)
protected long
loadBytes(byte[] bytes, int inOff)
protected long
loadBytes(byte[] bytes, int inOff, int n)
protected long
pad(int i)
protected void
padAndAbsorb()
protected void
processBytes(byte[] input, int inOff)
void
reset()
reset the digest back to it's initial state.protected void
setBytes(long w, byte[] bytes, int inOff)
protected void
setBytes(long w, byte[] bytes, int inOff, int n)
protected void
squeeze(byte[] output, int outOff, int len)
void
update(byte in)
update the message digest with a single byte.void
update(byte[] input, int inOff, int len)
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
-
Methods inherited from interface org.bouncycastle.crypto.Digest
doFinal, getAlgorithmName, getDigestSize
-
Methods inherited from interface org.bouncycastle.crypto.ExtendedDigest
getByteLength
-
-
-
-
Field Detail
-
ASCON_PB_ROUNDS
protected int ASCON_PB_ROUNDS
-
DigestSize
protected int DigestSize
-
BlockSize
protected int BlockSize
-
m_buf
protected byte[] m_buf
-
m_bufPos
protected int m_bufPos
-
algorithmName
protected java.lang.String algorithmName
-
processor
protected org.bouncycastle.crypto.digests.BufferBaseDigest.ProcessingBuffer processor
-
-
Method Detail
-
pad
protected long pad(int i)
-
loadBytes
protected long loadBytes(byte[] bytes, int inOff)
-
loadBytes
protected long loadBytes(byte[] bytes, int inOff, int n)
-
setBytes
protected void setBytes(long w, byte[] bytes, int inOff)
-
setBytes
protected void setBytes(long w, byte[] bytes, int inOff, int n)
-
reset
public void reset()
Description copied from interface:Digest
reset the digest back to it's initial state.
-
update
public void update(byte in)
Description copied from interface:Digest
update the message digest with a single byte.
-
update
public void update(byte[] input, int inOff, int len)
Description copied from interface:Digest
update the message digest with a block of bytes.
-
doOutput
public int doOutput(byte[] output, 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.
-
doFinal
public int doFinal(byte[] output, int outOff, int outLen)
Description copied from interface:Xof
Output the results of the final calculation for this digest to outLen number of bytes.
-
padAndAbsorb
protected void padAndAbsorb()
-
processBytes
protected void processBytes(byte[] input, int inOff)
-
finish
protected void finish(byte[] output, int outOff)
-
squeeze
protected void squeeze(byte[] output, int outOff, int len)
-
hash
protected int hash(byte[] output, int outOff, int outLen)
-
ensureSufficientOutputBuffer
protected void ensureSufficientOutputBuffer(byte[] output, int outOff, int len)
-
getAlgorithmName
public java.lang.String getAlgorithmName()
Description copied from interface:Digest
return the algorithm name- Specified by:
getAlgorithmName
in interfaceDigest
- 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 interfaceDigest
- Returns:
- the size, in bytes, of the digest produced by this message digest.
-
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 interfaceExtendedDigest
- Returns:
- byte length of the digests internal buffer.
-
doFinal
public int doFinal(byte[] output, int outOff)
Description copied from interface:Digest
close the digest, producing the final digest value. The doFinal call leaves the digest reset.
-
ensureSufficientInputBuffer
protected void ensureSufficientInputBuffer(byte[] input, int inOff, int len)
-
ensureSufficientOutputBuffer
protected void ensureSufficientOutputBuffer(byte[] output, int outOff)
-
-