gnu.crypto.hash
Class Haval
- Cloneable, IMessageDigest
The
HAVAL message-digest algorithm is a variable output length,
with variable number of rounds. By default, this implementation allows
HAVAL to be used as a drop-in replacement for
MD5.
References:
- HAVAL - A One-Way Hashing Algorithm with Variable Length of Output
Advances in Cryptology - AUSCRYPT'92, Lecture Notes in Computer Science,
Springer-Verlag, 1993;
Y. Zheng, J. Pieprzyk and J. Seberry.
Haval() - Calls the constructor with two argument using
HAVAL_128_BIT as
the value for the output size (i.e.
|
Haval(int size) - Calls the constructor with two arguments using the designated output
size, and
HAVAL_3_ROUND for the value of number of rounds.
|
Haval(int size, int rounds) - Constructs a
Haval instance with the designated output
size (in bytes).
|
Object | clone() - Returns a clone copy of this instance.
|
protected byte[] | getResult() - Constructs the result from the contents of the current context.
|
protected byte[] | padBuffer() - Returns the byte array to use as padding before completing a hash
operation.
|
protected void | resetContext() - Resets the instance for future re-use.
|
boolean | selfTest() - A basic test.
|
protected void | transform(byte[] in, int i) - The block digest transformation per se.
|
blockSize , clone , digest , getResult , hashSize , name , padBuffer , reset , resetContext , selfTest , transform , update , update , update |
HAVAL_128_BIT
public static final int HAVAL_128_BIT
HAVAL_160_BIT
public static final int HAVAL_160_BIT
HAVAL_192_BIT
public static final int HAVAL_192_BIT
HAVAL_224_BIT
public static final int HAVAL_224_BIT
HAVAL_256_BIT
public static final int HAVAL_256_BIT
HAVAL_3_ROUND
public static final int HAVAL_3_ROUND
HAVAL_4_ROUND
public static final int HAVAL_4_ROUND
HAVAL_5_ROUND
public static final int HAVAL_5_ROUND
HAVAL_VERSION
public static final int HAVAL_VERSION
Haval
public Haval()
Calls the constructor with two argument using
HAVAL_128_BIT
as
the value for the output size (i.e.
128
bits, and
HAVAL_3_ROUND
for the value of number of rounds.
Haval
public Haval(int size)
Calls the constructor with two arguments using the designated output
size, and
HAVAL_3_ROUND
for the value of number of rounds.
size
- the output size in bytes of this instance.
Haval
public Haval(int size,
int rounds)
Constructs a Haval
instance with the designated output
size (in bytes). Valid output size
values are 16
,
20
, 24
, 28
and 32
.
Valid values for rounds
are in the range 3..5
inclusive.
size
- the output size in bytes of this instance.rounds
- the number of rounds to apply when transforming data.
getResult
protected byte[] getResult()
Constructs the result from the contents of the current context.
- getResult in interface BaseHash
- the output of the completed hash operation.
padBuffer
protected byte[] padBuffer()
Returns the byte array to use as padding before completing a hash
operation.
- padBuffer in interface BaseHash
- the bytes to pad the remaining bytes in the buffer before
completing a hash operation.
resetContext
protected void resetContext()
Resets the instance for future re-use.
- resetContext in interface BaseHash
selfTest
public boolean selfTest()
A basic test. Ensures that the digest of a pre-determined message is equal
to a known pre-computed value.
- selfTest in interface IMessageDigest
- selfTest in interface BaseHash
- true if the implementation passes a basic self-test.
Returns false otherwise.
transform
protected void transform(byte[] in,
int i)
The block digest transformation per se.
- transform in interface BaseHash
in
- the blockSize long block, as an array of bytes to digest.
Copyright © 2001, 2002, 2003
Free Software Foundation,
Inc. All Rights Reserved.