Package org.bouncycastle.crypto.digests
Class AsconHash256
- java.lang.Object
-
- org.bouncycastle.crypto.digests.AsconHash256
-
- All Implemented Interfaces:
Digest
,ExtendedDigest
public class AsconHash256 extends java.lang.Object
Ascon-Hash256 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 int
ASCON_HASH_RATE
protected int
ASCON_PB_ROUNDS
protected int
CRYPTO_BYTES
protected byte[]
m_buf
protected int
m_bufPos
protected long
x0
protected long
x1
protected long
x2
protected long
x3
protected long
x4
-
Constructor Summary
Constructors Constructor Description AsconHash256()
-
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.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 void
p(int nr)
protected long
pad(int i)
protected void
padAndAbsorb()
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.
-
-
-
Field Detail
-
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:
- Constant Field Values
-
ASCON_HASH_RATE
protected final int ASCON_HASH_RATE
- See Also:
- Constant Field Values
-
ASCON_PB_ROUNDS
protected int ASCON_PB_ROUNDS
-
m_buf
protected final byte[] m_buf
-
m_bufPos
protected int m_bufPos
-
-
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)
-
getAlgorithmName
public java.lang.String getAlgorithmName()
Description copied from interface:Digest
return the algorithm name- Returns:
- the algorithm name
-
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.
-
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.
-
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.
-
padAndAbsorb
protected void padAndAbsorb()
-
squeeze
protected void squeeze(byte[] output, int outOff, int len)
-
hash
protected int hash(byte[] output, int outOff, int outLen)
-
-