Java Randomness Test Suite

JRandTest at SourceForge

com.fasteasytrade.JRandTest.Algo
Class SHA1Random

java.lang.Object
  extended bycom.fasteasytrade.JRandTest.IO.FileRandomStream
      extended bycom.fasteasytrade.JRandTest.IO.FileAlgoRandomStream
          extended bycom.fasteasytrade.JRandTest.Algo.SHA1Random
All Implemented Interfaces:
AlgoRandomStream, RandomStream

public class SHA1Random
extends FileAlgoRandomStream

SHA1 algorithm as a random stream based on SHA1 message digest class.

Implementation is based on SHA1 algorithm in NIST test package.

Author:
Zur Aougav

Field Summary
(package private)  SHA1 algo
           
(package private)  byte[] iv
          random IV to SHA1 class
(package private)  byte[] key
          random Key to SHA1 class.
(package private)  byte[] outAlgoBuffer
          outAlgoBuffer is filled with key array, the first time.
(package private)  int outAlgoBufferIx
           
 
Fields inherited from class com.fasteasytrade.JRandTest.IO.FileAlgoRandomStream
maxCount, privateKey, privateKeyLength, publicKey, publicKeyLength
 
Fields inherited from class com.fasteasytrade.JRandTest.IO.FileRandomStream
actualSize, buffer, count, countLastRead, filename, open, SIZE
 
Constructor Summary
SHA1Random()
           
SHA1Random(String keyFileName)
           
 
Method Summary
static void main(String[] args)
           
 boolean openInputStream()
          open the input stream.
 byte readByte()
          read one byte from a file.
 int readInt()
          Processing is similar to readByte.
 long readLong()
          Processing is similar to readByte.
 void setup()
          setup will be implemented by each subclass
 void setupKeys()
          set up length and new arrays to public and private keys will be implemented by each algorithm
 
Methods inherited from class com.fasteasytrade.JRandTest.IO.FileAlgoRandomStream
getFilename, setFilename, setPrivateKey, setPrivateKeyFromFile, setPublicKey, setPublicKeyFromFile
 
Methods inherited from class com.fasteasytrade.JRandTest.IO.FileRandomStream
closeInputStream, finalize, isOpen
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.fasteasytrade.JRandTest.IO.RandomStream
closeInputStream, isOpen
 

Field Detail

algo

SHA1 algo

outAlgoBuffer

byte[] outAlgoBuffer
outAlgoBuffer is filled with key array, the first time. The buffer is used as an input and output to SHA1.


outAlgoBufferIx

int outAlgoBufferIx

iv

byte[] iv
random IV to SHA1 class


key

byte[] key
random Key to SHA1 class. Used as the first update input buffer to SHA1 (key is copied into outAlgoBuffer).

Constructor Detail

SHA1Random

public SHA1Random()

SHA1Random

public SHA1Random(String keyFileName)
Method Detail

setupKeys

public void setupKeys()
Description copied from interface: AlgoRandomStream
set up length and new arrays to public and private keys

will be implemented by each algorithm

Specified by:
setupKeys in interface AlgoRandomStream
Overrides:
setupKeys in class FileAlgoRandomStream
See Also:
AlgoRandomStream.setupKeys()

setup

public void setup()
Description copied from class: FileAlgoRandomStream
setup will be implemented by each subclass

Specified by:
setup in interface AlgoRandomStream
Overrides:
setup in class FileAlgoRandomStream
See Also:

makes only once a new SHA1 object and an IV vector.


openInputStream

public boolean openInputStream()
                        throws Exception
Description copied from interface: RandomStream
open the input stream.

Specified by:
openInputStream in interface RandomStream
Overrides:
openInputStream in class FileRandomStream
Throws:
Exception
See Also:

if filename exists (not null), we open file and later will encrypt it. Else, algorithm will generate random data (as PRNG).


readByte

public byte readByte()
              throws Exception
Description copied from interface: RandomStream
read one byte from a file.

first time ( if !isOpen() ) open file/stream, and return byte

at end of file close stream and returns -1

Specified by:
readByte in interface RandomStream
Overrides:
readByte in class FileAlgoRandomStream
Throws:
Exception
See Also:
RandomStream.readByte()

readInt

public int readInt()
            throws Exception
Description copied from interface: RandomStream
Processing is similar to readByte.

Specified by:
readInt in interface RandomStream
Overrides:
readInt in class FileAlgoRandomStream
Throws:
Exception
See Also:
RandomStream.readInt()

readLong

public long readLong()
              throws Exception
Description copied from interface: RandomStream
Processing is similar to readByte.

Specified by:
readLong in interface RandomStream
Overrides:
readLong in class FileAlgoRandomStream
Throws:
Exception
See Also:
RandomStream.readLong()

main

public static void main(String[] args)

Java Randomness Test Suite

JRandTest at SourceForge

JRandTest at SourceForge
Copyright © 2005 Zur Aougav. All Rights Reserved.