Package org.bouncycastle.crypto.digests
Class AsconCXof128
java.lang.Object
org.bouncycastle.crypto.digests.AsconCXof128
- All Implemented Interfaces:
Digest
,ExtendedDigest
,Xof
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
FieldsModifier and TypeFieldDescriptionprotected final int
protected int
protected final int
protected final byte[]
protected int
protected long
protected long
protected long
protected long
protected long
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionint
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.return the algorithm nameint
Return the size in bytes of the internal buffer the digest applies it's compression function to.int
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 void
p
(int nr) protected long
pad
(int i) protected void
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, getDigestSize
Methods inherited from interface org.bouncycastle.crypto.ExtendedDigest
getByteLength
-
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
-
AsconCXof128
public AsconCXof128() -
AsconCXof128
public AsconCXof128(byte[] s) -
AsconCXof128
public AsconCXof128(byte[] s, int off, int len)
-
-
Method Details
-
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. -
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:Digest
return the algorithm name- Specified by:
getAlgorithmName
in interfaceDigest
- Returns:
- the algorithm name
-
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. -
reset
public void reset()Description copied from interface:Digest
reset the digest back to it's initial state. -
p
protected void p(int nr) -
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. -
squeeze
protected void squeeze(byte[] output, int outOff, int len) -
hash
protected int hash(byte[] output, int outOff, int outLen)
-