Package org.bouncycastle.crypto.digests
Class AsconXof128
java.lang.Object
org.bouncycastle.crypto.digests.AsconXof128
- All Implemented Interfaces:
Digest,ExtendedDigest,Xof
Ascon-XOF128 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
FieldsModifier and TypeFieldDescriptionprotected final intprotected intprotected final intprotected final byte[]protected intprotected longprotected longprotected longprotected longprotected long -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintdoFinal(byte[] output, int outOff) close the digest, producing the final digest value.intdoFinal(byte[] output, int outOff, int outLen) Output the results of the final calculation for this digest to outLen number of bytes.intdoOutput(byte[] output, 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 internal buffer the digest applies it's compression function to.intreturn the size, in bytes, of the digest produced by this message digest.protected inthash(byte[] output, int outOff, int outLen) protected longloadBytes(byte[] bytes, int inOff) protected longloadBytes(byte[] bytes, int inOff, int n) protected voidp(int nr) protected longpad(int i) protected voidvoidreset()reset the digest back to it's initial state.protected voidsetBytes(long w, byte[] bytes, int inOff) protected voidsetBytes(long w, byte[] bytes, int inOff, int n) protected voidsqueeze(byte[] output, int outOff, int len) voidupdate(byte in) update the message digest with a single byte.voidupdate(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, waitMethods inherited from interface org.bouncycastle.crypto.Digest
doFinal, getDigestSize
-
Field Details
-
x0
protected long x0 -
x1
protected long x1 -
x2
protected long x2 -
x3
protected long x3 -
x4
protected long x4 -
CRYPTO_BYTES
protected final int CRYPTO_BYTES- See Also:
-
ASCON_HASH_RATE
protected final int ASCON_HASH_RATE- See Also:
-
ASCON_PB_ROUNDS
protected int ASCON_PB_ROUNDS -
m_buf
protected final byte[] m_buf -
m_bufPos
protected int m_bufPos
-
-
Constructor Details
-
AsconXof128
public AsconXof128()
-
-
Method Details
-
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) -
padAndAbsorb
protected void padAndAbsorb() -
getAlgorithmName
Description copied from interface:Digestreturn the algorithm name- Specified by:
getAlgorithmNamein interfaceDigest- Returns:
- the algorithm name
-
update
public void update(byte in) Description copied from interface:Digestupdate the message digest with a single byte. -
update
public void update(byte[] input, int inOff, int len) Description copied from interface:Digestupdate the message digest with a block of bytes. -
doOutput
public int doOutput(byte[] output, 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
public int doFinal(byte[] output, int outOff, int outLen) Description copied from interface:XofOutput the results of the final calculation for this digest to outLen number of bytes. -
getByteLength
public int getByteLength()Description copied from interface:ExtendedDigestReturn the size in bytes of the internal buffer the digest applies it's compression function to.- Specified by:
getByteLengthin interfaceExtendedDigest- Returns:
- byte length of the digests internal buffer.
-
reset
public void reset()Description copied from interface:Digestreset the digest back to it's initial state. -
p
protected void p(int nr) -
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- Returns:
- the size, in bytes, of the digest produced by this message digest.
-
doFinal
public int doFinal(byte[] output, int outOff) Description copied from interface:Digestclose the digest, producing the final digest value. The doFinal call leaves the digest reset. -
squeeze
protected void squeeze(byte[] output, int outOff, int len) -
hash
protected int hash(byte[] output, int outOff, int outLen)
-