kz.gamma.hash
Class GOST28147Engine

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

public class GOST28147Engine
extends java.lang.Object

implementation of GOST 28147-89


Field Summary
protected static int BLOCK_SIZE
           
private static byte[] DSbox_A
           
private static byte[] DSbox_Test
           
private static byte[] ESbox_A
           
private static byte[] ESbox_B
           
private static byte[] ESbox_C
           
private static byte[] ESbox_D
           
private static byte[] ESbox_Test
           
private  boolean forEncryption
           
private static byte[] S
           
private static java.util.Hashtable sBoxes
           
private  int[] workingKey
           
 
Constructor Summary
GOST28147Engine()
          standard constructor.
 
Method Summary
private  int bytesToint(byte[] in, int inOff)
           
private  int[] generateWorkingKey(boolean forEncryption, byte[] userKey)
           
 java.lang.String getAlgorithmName()
           
 int getBlockSize()
           
static byte[] getSBox(java.lang.String sBoxName)
          Return the S-Box associated with SBoxName
private  int GOST28147_mainStep(int n1, int key)
           
private  void GOST28147Func(int[] workingKey, byte[] in, int inOff, byte[] out, int outOff)
           
 void init(boolean forEncryption, CipherParameters params)
          initialise an GOST28147 cipher.
private  void intTobytes(int num, byte[] out, int outOff)
           
 int processBlock(byte[] in, int inOff, byte[] out, int outOff)
           
 void reset()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BLOCK_SIZE

protected static final int BLOCK_SIZE
See Also:
Constant Field Values

workingKey

private int[] workingKey

forEncryption

private boolean forEncryption

S

private static byte[] S

ESbox_Test

private static byte[] ESbox_Test

ESbox_A

private static byte[] ESbox_A

ESbox_B

private static byte[] ESbox_B

ESbox_C

private static byte[] ESbox_C

ESbox_D

private static byte[] ESbox_D

DSbox_Test

private static byte[] DSbox_Test

DSbox_A

private static byte[] DSbox_A

sBoxes

private static java.util.Hashtable sBoxes
Constructor Detail

GOST28147Engine

public GOST28147Engine()
standard constructor.

Method Detail

init

public void init(boolean forEncryption,
                 CipherParameters params)
initialise an GOST28147 cipher.

Parameters:
forEncryption - whether or not we are for encryption.
params - the parameters required to set up the cipher.
Throws:
java.lang.IllegalArgumentException - if the params argument is inappropriate.

getAlgorithmName

public java.lang.String getAlgorithmName()

getBlockSize

public int getBlockSize()

processBlock

public int processBlock(byte[] in,
                        int inOff,
                        byte[] out,
                        int outOff)

reset

public void reset()

generateWorkingKey

private int[] generateWorkingKey(boolean forEncryption,
                                 byte[] userKey)

GOST28147_mainStep

private int GOST28147_mainStep(int n1,
                               int key)

GOST28147Func

private void GOST28147Func(int[] workingKey,
                           byte[] in,
                           int inOff,
                           byte[] out,
                           int outOff)

bytesToint

private int bytesToint(byte[] in,
                       int inOff)

intTobytes

private void intTobytes(int num,
                        byte[] out,
                        int outOff)

getSBox

public static byte[] getSBox(java.lang.String sBoxName)
Return the S-Box associated with SBoxName

Parameters:
sBoxName - name of the S-Box
Returns:
byte array representing the S-Box


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