Package org.bouncycastle.crypto.digests
Class SparkleDigest
java.lang.Object
org.bouncycastle.crypto.digests.SparkleDigest
- All Implemented Interfaces:
Digest
,ExtendedDigest
Sparkle v1.2, based on the current round 3 submission, https://sparkle-lwc.github.io/
Reference C implementation: https://github.com/cryptolu/sparkle
Specification: https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/documents/finalist-round/updated-spec-doc/sparkle-spec-final.pdf
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
static enum
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected String
protected int
protected int
protected byte[]
protected int
protected org.bouncycastle.crypto.digests.BufferBaseDigest.ProcessingBuffer
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionint
doFinal
(byte[] output, int outOff) close the digest, producing the final digest value.protected void
ensureSufficientInputBuffer
(byte[] input, int inOff, int len) protected void
ensureSufficientOutputBuffer
(byte[] output, int outOff) protected void
finish
(byte[] output, int outOff) 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 void
processBytes
(byte[] input, int inOff) void
reset()
reset the digest back to it's initial state.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 Details
-
DigestSize
protected int DigestSize -
BlockSize
protected int BlockSize -
m_buf
protected byte[] m_buf -
m_bufPos
protected int m_bufPos -
algorithmName
-
processor
protected org.bouncycastle.crypto.digests.BufferBaseDigest.ProcessingBuffer processor
-
-
Constructor Details
-
SparkleDigest
-
-
Method Details
-
processBytes
protected void processBytes(byte[] input, int inOff) -
finish
protected void finish(byte[] output, int outOff) -
reset
public void reset()Description copied from interface:Digest
reset the digest back to it's initial state. -
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.
-
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. -
ensureSufficientInputBuffer
protected void ensureSufficientInputBuffer(byte[] input, int inOff, int len) -
ensureSufficientOutputBuffer
protected void ensureSufficientOutputBuffer(byte[] output, int outOff)
-