|
Bouncy Castle Cryptography Library 1.77.0 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.bouncycastle.crypto.digests.SkeinDigest
Implementation of the Skein parameterised hash function in 256, 512 and 1024 bit block sizes,
based on the Threefish
tweakable block cipher.
This is the 1.3 version of Skein defined in the Skein hash function submission to the NIST SHA-3 competition in October 2010.
Skein was designed by Niels Ferguson - Stefan Lucks - Bruce Schneier - Doug Whiting - Mihir Bellare - Tadayoshi Kohno - Jon Callas - Jesse Walker.
SkeinEngine
,
SkeinParameters
Field Summary | |
static int |
SKEIN_1024
1024 bit block size - Skein-1024 |
static int |
SKEIN_256
256 bit block size - Skein-256 |
static int |
SKEIN_512
512 bit block size - Skein-512 |
Constructor Summary | |
SkeinDigest(int stateSizeBits,
int digestSizeBits)
Constructs a Skein digest with an internal state size and output size. |
|
SkeinDigest(int stateSizeBits,
int digestSizeBits,
CryptoServicePurpose purpose)
|
|
SkeinDigest(SkeinDigest digest)
|
Method Summary | |
Memoable |
copy()
Produce a copy of this object with its configuration and in its current state. |
int |
doFinal(byte[] out,
int outOff)
close the digest, producing the final digest value. |
java.lang.String |
getAlgorithmName()
return the algorithm name |
int |
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. |
void |
init(SkeinParameters params)
Optionally initialises the Skein digest with the provided parameters. |
void |
reset()
reset the digest back to it's initial state. |
void |
reset(Memoable other)
Restore a copied object state into this object. |
void |
update(byte in)
update the message digest with a single byte. |
void |
update(byte[] in,
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 |
Field Detail |
public static final int SKEIN_256
public static final int SKEIN_512
public static final int SKEIN_1024
Constructor Detail |
public SkeinDigest(int stateSizeBits, int digestSizeBits)
stateSizeBits
- the internal state size in bits - one of SKEIN_256
, SKEIN_512
or
SKEIN_1024
.digestSizeBits
- the output/digest size to produce in bits, which must be an integral number of
bytes.public SkeinDigest(int stateSizeBits, int digestSizeBits, CryptoServicePurpose purpose)
public SkeinDigest(SkeinDigest digest)
Method Detail |
public void reset(Memoable other)
Memoable
Implementations of this method should try to avoid or minimise memory allocation to perform the reset.
reset
in interface Memoable
org.bouncycastle.util.Memoable
other
- an object originally copied
from an object of the same type as this instance.java.lang.ClassCastException
- if the provided object is not of the correct type.MemoableResetException
- if the other parameter is in some other way invalid.public Memoable copy()
Memoable
The returned object may be used simply to store the state, or may be used as a similar object starting from the copied state.
copy
in interface Memoable
public java.lang.String getAlgorithmName()
Digest
getAlgorithmName
in interface Digest
org.bouncycastle.crypto.Digest
public int getDigestSize()
Digest
getDigestSize
in interface Digest
org.bouncycastle.crypto.Digest
public int getByteLength()
ExtendedDigest
getByteLength
in interface ExtendedDigest
org.bouncycastle.crypto.ExtendedDigest
public void init(SkeinParameters params)
SkeinParameters
for details on the parameterisation of the Skein hash function.params
- the parameters to apply to this engine, or null to use no parameters.public void reset()
Digest
reset
in interface Digest
public void update(byte in)
Digest
update
in interface Digest
org.bouncycastle.crypto.Digest
in
- the input byte to be entered.public void update(byte[] in, int inOff, int len)
Digest
update
in interface Digest
org.bouncycastle.crypto.Digest
in
- the byte array containing the data.inOff
- the offset into the byte array where the data starts.len
- the length of the data.public int doFinal(byte[] out, int outOff)
Digest
doFinal
in interface Digest
org.bouncycastle.crypto.Digest
out
- the array the digest is to be copied into.outOff
- the offset into the out array the digest is to start at.
|
Bouncy Castle Cryptography Library 1.77.0 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |