org.bouncycastle.crypto.digests
Class RIPEMD320Digest

java.lang.Object
  extended by org.bouncycastle.crypto.digests.GeneralDigest
      extended by org.bouncycastle.crypto.digests.RIPEMD320Digest
All Implemented Interfaces:
Digest, ExtendedDigest

public class RIPEMD320Digest
extends GeneralDigest

implementation of RIPEMD 320.

Note: this implementation offers the same level of security as RIPEMD 160.


Field Summary
private static int DIGEST_LENGTH
           
private  int H0
           
private  int H1
           
private  int H2
           
private  int H3
           
private  int H4
           
private  int H5
           
private  int H6
           
private  int H7
           
private  int H8
           
private  int H9
           
private  int[] X
           
private  int xOff
           
 
Constructor Summary
RIPEMD320Digest()
          Standard constructor
RIPEMD320Digest(RIPEMD320Digest t)
          Copy constructor.
 
Method Summary
 int doFinal(byte[] out, int outOff)
          close the digest, producing the final digest value.
private  int f1(int x, int y, int z)
           
private  int f2(int x, int y, int z)
           
private  int f3(int x, int y, int z)
           
private  int f4(int x, int y, int z)
           
private  int f5(int x, int y, int z)
           
 java.lang.String getAlgorithmName()
          return the algorithm name
 int getDigestSize()
          return the size, in bytes, of the digest produced by this message digest.
protected  void processBlock()
           
protected  void processLength(long bitLength)
           
protected  void processWord(byte[] in, int inOff)
           
 void reset()
          reset the chaining variables to the IV values.
private  int RL(int x, int n)
           
private  void unpackWord(int word, byte[] out, int outOff)
           
 
Methods inherited from class org.bouncycastle.crypto.digests.GeneralDigest
finish, getByteLength, update, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DIGEST_LENGTH

private static final int DIGEST_LENGTH
See Also:
Constant Field Values

H0

private int H0

H1

private int H1

H2

private int H2

H3

private int H3

H4

private int H4

H5

private int H5

H6

private int H6

H7

private int H7

H8

private int H8

H9

private int H9

X

private int[] X

xOff

private int xOff
Constructor Detail

RIPEMD320Digest

public RIPEMD320Digest()
Standard constructor


RIPEMD320Digest

public RIPEMD320Digest(RIPEMD320Digest t)
Copy constructor. This will copy the state of the provided message digest.

Method Detail

getAlgorithmName

public java.lang.String getAlgorithmName()
Description copied from interface: Digest
return the algorithm name

Returns:
the algorithm name

getDigestSize

public int getDigestSize()
Description copied from interface: Digest
return the size, in bytes, of the digest produced by this message digest.

Returns:
the size, in bytes, of the digest produced by this message digest.

processWord

protected void processWord(byte[] in,
                           int inOff)
Specified by:
processWord in class GeneralDigest

processLength

protected void processLength(long bitLength)
Specified by:
processLength in class GeneralDigest

unpackWord

private void unpackWord(int word,
                        byte[] out,
                        int outOff)

doFinal

public int doFinal(byte[] out,
                   int outOff)
Description copied from interface: Digest
close the digest, producing the final digest value. The doFinal call leaves the digest reset.

Parameters:
out - the array the digest is to be copied into.
outOff - the offset into the out array the digest is to start at.

reset

public void reset()
reset the chaining variables to the IV values.

Specified by:
reset in interface Digest
Overrides:
reset in class GeneralDigest

RL

private final int RL(int x,
                     int n)

f1

private final int f1(int x,
                     int y,
                     int z)

f2

private final int f2(int x,
                     int y,
                     int z)

f3

private final int f3(int x,
                     int y,
                     int z)

f4

private final int f4(int x,
                     int y,
                     int z)

f5

private final int f5(int x,
                     int y,
                     int z)

processBlock

protected void processBlock()
Specified by:
processBlock in class GeneralDigest