For the latest news and information visit
The GNU Crypto project

gnu.crypto.hash
Class Sha160

java.lang.Object
  |
  +--gnu.crypto.hash.BaseHash
        |
        +--gnu.crypto.hash.Sha160
All Implemented Interfaces:
java.lang.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.6 $

Fields inherited from class gnu.crypto.hash.BaseHash
blockSize, buffer, count, hashSize, name
 
Constructor Summary
Sha160()
          Trivial 0-arguments constructor.
 
Method Summary
 java.lang.Object clone()
          Returns a clone copy of this instance.
static int[] G(int h0, int h1, int h2, int h3, int h4, byte[] in, int offset)
           
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 offset)
          The block digest transformation per se.
 
Methods inherited from class gnu.crypto.hash.BaseHash
blockSize, digest, hashSize, name, reset, update, update
 
Methods inherited from class java.lang.Object
, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Sha160

public Sha160()
Trivial 0-arguments constructor.
Method Detail

G

public static final int[] G(int h0,
                            int h1,
                            int h2,
                            int h3,
                            int h4,
                            byte[] in,
                            int offset)

clone

public java.lang.Object clone()
Description copied from interface: IMessageDigest

Returns a clone copy of this instance.

Overrides:
clone in class BaseHash
Following copied from interface: gnu.crypto.hash.IMessageDigest
Returns:
a clone copy of this instance.

transform

protected void transform(byte[] in,
                         int offset)
Description copied from class: BaseHash

The block digest transformation per se.

Overrides:
transform in class BaseHash
Following copied from class: gnu.crypto.hash.BaseHash
Parameters:
in - the blockSize long block, as an array of bytes to digest.
offset - the index where the data to digest is located within the input buffer.

padBuffer

protected byte[] padBuffer()
Description copied from class: BaseHash

Returns the byte array to use as padding before completing a hash operation.

Overrides:
padBuffer in class BaseHash
Following copied from class: gnu.crypto.hash.BaseHash
Returns:
the bytes to pad the remaining bytes in the buffer before completing a hash operation.

getResult

protected byte[] getResult()
Description copied from class: BaseHash

Constructs the result from the contents of the current context.

Overrides:
getResult in class BaseHash
Following copied from class: gnu.crypto.hash.BaseHash
Returns:
the output of the completed hash operation.

resetContext

protected void resetContext()
Description copied from class: BaseHash
Resets the instance for future re-use.
Overrides:
resetContext in class BaseHash

selfTest

public boolean selfTest()
Description copied from interface: IMessageDigest

A basic test. Ensures that the digest of a pre-determined message is equal to a known pre-computed value.

Overrides:
selfTest in class BaseHash
Following copied from interface: gnu.crypto.hash.IMessageDigest
Returns:
true if the implementation passes a basic self-test. Returns false otherwise.

For the latest news and information visit
The GNU Crypto project

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