gnu.crypto.hash

Class Sha160

Implemented Interfaces:
Cloneable, IMessageDigest

public class Sha160
extends BaseHash

The Secure Hash Algorithm (SHA-1) is required for use with the Digital Signature Algorithm (DSA) as specified in the Digital Signature Standard (DSS) and whenever a secure hash algorithm is required for federal applications. For a message of length less than 2^64 bits, the SHA-1 produces a 160-bit condensed representation of the message called a message digest. The message digest is used during generation of a signature for the message. The SHA-1 is also used to compute a message digest for the received version of the message during the process of verifying the signature. Any change to the message in transit will, with very high probability, result in a different message digest, and the signature will fail to verify.

The SHA-1 is designed to have the following properties: it is computationally infeasible to find a message which corresponds to a given message digest, or to find two different messages which produce the same message digest.

References:

  1. SECURE HASH STANDARD
    Federal Information, Processing Standards Publication 180-1, 1995 April 17.

Version:
$Revision: 1.9 $

Field Summary

Fields inherited from class gnu.crypto.hash.BaseHash

blockSize, buffer, count, hashSize, name

Constructor Summary

Sha160()
Trivial 0-arguments constructor.

Method Summary

static int[]
G(int hh0, int hh1, int hh2, int hh3, int hh4, byte[] in, int offset)
Object
clone()
protected byte[]
getResult()
protected byte[]
padBuffer()
protected void
resetContext()
boolean
selfTest()
protected void
transform(byte[] in, int offset)

Methods inherited from class gnu.crypto.hash.BaseHash

blockSize, clone, digest, getResult, hashSize, name, padBuffer, reset, resetContext, selfTest, transform, update, update

Constructor Details

Sha160

public Sha160()
Trivial 0-arguments constructor.

Method Details

G

public static final int[] G(int hh0,
                            int hh1,
                            int hh2,
                            int hh3,
                            int hh4,
                            byte[] in,
                            int offset)


clone

public Object clone()
Specified by:
clone in interface IMessageDigest
Overrides:
clone in interface BaseHash


getResult

protected byte[] getResult()
Overrides:
getResult in interface BaseHash


padBuffer

protected byte[] padBuffer()
Overrides:
padBuffer in interface BaseHash


resetContext

protected void resetContext()
Overrides:
resetContext in interface BaseHash


selfTest

public boolean selfTest()
Specified by:
selfTest in interface IMessageDigest
Overrides:
selfTest in interface BaseHash


transform

protected void transform(byte[] in,
                         int offset)
Overrides:
transform in interface BaseHash


Copyright © 2001, 2002, 2003 Free Software Foundation, Inc. All Rights Reserved.