cryptix.provider.md
Class HAVAL
MessageDigest
cryptix.provider.md.HAVAL
- Cloneable, Parameterized, VariableLengthDigest
public class HAVAL
extends MessageDigest
A Java class to digest input according to the HAVAL algorithm.
HAVAL is a variable length MD with a variable number of passes. The values
for these two parameters are read from the provider '.properties' file. Here
is an example of the two property lines that do that:
Alg.passes.HAVAL = 3
Alg.bitLength.HAVAL = 256
References:
- Y. Zheng, J. Pieprzyk and J. Seberry,
"HAVAL --- a one-way hashing algorithm with variable length of output",
Advances in Cryptology --- AUSCRYPT'92,
Lecture Notes in Computer Science,
Springer-Verlag, 1993.
Copyright © 1997
Systemics Ltd on behalf of the
Cryptix Development Team.
All rights reserved.
$Revision: 1.5 $
- Raif S. Naffah
- David Hopwood
- Cryptix 2.2.2
Object | clone() - Returns a copy of this MD object.
|
protected byte[] | engineDigest() - Completes the hash computation by performing final operations such
as padding.
|
protected int | engineGetDigestLength() - SPI: Returns the digest length in bytes.
|
protected Object | engineGetParameter(String param)
|
protected void | engineReset() - Resets this object disregarding any temporary data present at the
time of the invocation of this call.
|
protected void | engineSetParameter(String param, Object value)
|
protected void | engineUpdate(byte input) - Continues a HAVAL message digest using the input byte.
|
protected void | engineUpdate(byte[] input, int offset, int len) - Hashes a byte array from a given offset for a specified length.
|
static LinkStatus | getLinkStatus()
|
Object | getParameter(String param) - Gets the value of the specified algorithm parameter.
|
void | setBitLength(int len) - Sets the output length of this HAVAL object in bits, resetting all
internal variables.
|
void | setDigestLength(int len) - Sets the output length of this HAVAL object in bytes, resetting all
internal variables.
|
void | setParameter(String param, Object value) - Sets the specified algorithm parameter to the specified value.
|
void | setPasses(int p) - Sets the number of passes for this HAVAL object, resetting all
internal variables.
|
clone
public Object clone()
Returns a copy of this MD object.
engineDigest
protected byte[] engineDigest()
Completes the hash computation by performing final operations such
as padding. At the return of this engineDigest, the MD engine is
reset.
- the array of bytes for the resulting hash value.
engineGetDigestLength
protected int engineGetDigestLength()
SPI: Returns the digest length in bytes.
engineGetParameter
protected Object engineGetParameter(String param)
throws NoSuchParameterException,
InvalidParameterException
engineReset
protected void engineReset()
Resets this object disregarding any temporary data present at the
time of the invocation of this call.
engineUpdate
protected void engineUpdate(byte input)
Continues a HAVAL message digest using the input byte.
engineUpdate
protected void engineUpdate(byte[] input,
int offset,
int len)
Hashes a byte array from a given offset for a specified length.
to be used in conjunction with engineReset() and finish().
input
- byte array from which data is to be hashed.offset
- start index of bytes to hash in input.len
- number of bytes to hash.
getLinkStatus
public static LinkStatus getLinkStatus()
getParameter
public Object getParameter(String param)
throws NoSuchParameterException,
InvalidParameterException
Gets the value of the specified algorithm parameter.
This method supplies a general-purpose mechanism through which it
is possible to get the various parameters of this object. A uniform
algorithm-specific naming scheme for each parameter is desirable but
left unspecified at this time.
- getParameter in interface Parameterized
param
- the string name of the parameter.
- the object that represents the parameter value.
NoSuchParameterException
- if there is no parameter with name
param for this implementation.
setBitLength
public void setBitLength(int len)
Sets the output length of this HAVAL object in bits, resetting all
internal variables.
setDigestLength
public void setDigestLength(int len)
Sets the output length of this HAVAL object in bytes, resetting all
internal variables.
- setDigestLength in interface VariableLengthDigest
setParameter
public void setParameter(String param,
Object value)
throws NoSuchParameterException,
InvalidParameterException,
InvalidParameterTypeException
Sets the specified algorithm parameter to the specified value.
This method supplies a general-purpose mechanism through which it is
possible to set the various parameters of this object. A uniform
algorithm-specific naming scheme for each parameter is desirable but
left unspecified at this time.
- setParameter in interface Parameterized
param
- the string identifier of the parameter.value
- the parameter value.
NoSuchParameterException
- if there is no parameter with name
param for this cipher implementation.InvalidParameterTypeException
- if value is the wrong type
for this parameter.
setPasses
public void setPasses(int p)
Sets the number of passes for this HAVAL object, resetting all
internal variables.