kz.gamma.hash
Class GOST3411Digest

java.lang.Object
  extended by kz.gamma.hash.GOST3411Digest

public class GOST3411Digest
extends java.lang.Object

implementation of GOST R 34.11-94


Field Summary
(package private)  byte[] a
           
private  long byteCount
           
private  byte[][] C
           
private static byte[] C2
          reset the chaining variables to the IV values.
private  GOST28147Engine cipher
           
private static int DIGEST_LENGTH
           
private  byte[] H
           
private  byte[] K
           
private  byte[] L
           
private  byte[] M
           
(package private)  byte[] S
           
private  byte[] Sum
           
(package private)  byte[] U
           
(package private)  byte[] V
           
(package private)  byte[] W
           
(package private)  short[] w_S
           
(package private)  short[] wS
           
private  byte[] xBuf
           
private  int xBufOff
           
 
Constructor Summary
GOST3411Digest()
          Standard constructor
GOST3411Digest(GOST3411Digest t)
          Copy constructor.
GOST3411Digest(java.lang.String sBoxName)
          Constructor with option to choose initialization vector
 
Method Summary
private  byte[] A(byte[] in)
           
private  void cpyBytesToShort(byte[] S, short[] wS)
           
private  void cpyShortToBytes(short[] wS, byte[] S)
           
 int doFinal(byte[] out, int outOff)
           
private  void E(byte[] key, byte[] s, int sOff, byte[] in, int inOff)
           
private  void finish()
           
private  void fw(byte[] in)
           
 java.lang.String getAlgorithmName()
           
 int getByteLength()
           
 int getDigestSize()
           
private  void LongToBytes(long r, byte[] out, int outOff)
           
private  byte[] P(byte[] in)
           
protected  void processBlock(byte[] in, int inOff)
           
 void reset()
           
private  void sumByteArray(byte[] in)
           
 void update(byte in)
           
 void update(byte[] in, int inOff, int len)
           
 
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

H

private byte[] H

L

private byte[] L

M

private byte[] M

Sum

private byte[] Sum

C

private byte[][] C

xBuf

private byte[] xBuf

xBufOff

private int xBufOff

byteCount

private long byteCount

cipher

private GOST28147Engine cipher

K

private byte[] K

a

byte[] a

wS

short[] wS

w_S

short[] w_S

S

byte[] S

U

byte[] U

V

byte[] V

W

byte[] W

C2

private static final byte[] C2
reset the chaining variables to the IV values.

Constructor Detail

GOST3411Digest

public GOST3411Digest()
Standard constructor


GOST3411Digest

public GOST3411Digest(java.lang.String sBoxName)
Constructor with option to choose initialization vector


GOST3411Digest

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

Method Detail

getAlgorithmName

public java.lang.String getAlgorithmName()

getDigestSize

public int getDigestSize()

update

public void update(byte in)

update

public void update(byte[] in,
                   int inOff,
                   int len)

P

private byte[] P(byte[] in)

A

private byte[] A(byte[] in)

E

private void E(byte[] key,
               byte[] s,
               int sOff,
               byte[] in,
               int inOff)

fw

private void fw(byte[] in)

processBlock

protected void processBlock(byte[] in,
                            int inOff)

finish

private void finish()

doFinal

public int doFinal(byte[] out,
                   int outOff)

reset

public void reset()

sumByteArray

private void sumByteArray(byte[] in)

LongToBytes

private void LongToBytes(long r,
                         byte[] out,
                         int outOff)

cpyBytesToShort

private void cpyBytesToShort(byte[] S,
                             short[] wS)

cpyShortToBytes

private void cpyShortToBytes(short[] wS,
                             byte[] S)

getByteLength

public int getByteLength()


Copyright © 1998-2014 Gamma Technologies. All Rights Reserved.