|
JRandTest Change Log
version 0.4 - 20 April, 2005
Fourth version with Algorithms' additions and changes and small enhancements
- 30 Mar 2005: add prng algorithm Lcg1Prng class based on NIST test suite
- 30 Mar 2005: add algorithm Lcg1 class with Lcg1Prng class
- 30 Mar 2005: add prng algorithm BbsPrng class
- 30 Mar 2005: add algorithm BBS class with BbsPrng class
- 31 Mar 2005: add algorithm MicaliSchnorr class with MicaliSchnorrPrng class
- 01 Apr 2005: add method reset() to BbsPrng and MicaliSchnorrPrng classes to restore x to x0.
- added code to keep initial x in x0.
- this change will cause prng to deliver same stream for each openInput() stream.
- 02 Apr 2005: add algorithm QuadraticResidue1 class with QuadraticResidue1Prng class
- 02 Apr 2005: add algorithm QuadraticResidue2 class with QuadraticResidue2Prng class
- 02 Apr 2005: add algorithm CubicResidue class with CubicResiduePrng class
- 02 Apr 2005: add algorithm ModulusExponentResidue class with ModulusExponentPrng class
- 03 Apr 2005: plan to add algos.html with algorithms descrption:
- 08 Apr 2005: modified SHA1 class, from package lapint.crypto, to support init IV and returns internal vector.
- 08 Apr 2005: add SHA1Random class as a random stream, based on SHA1 class.
- 09 Apr 2004: add ZAC3 encryption algorithm
- 09 Apr 2005: add ZAC3Random class as a random stream, based on ZAC3 class.
- 10 Apr 2005: rename MT19937.class (old name) algorithm to MT19937Prng.class
- 10 Apr 2005: rename MT.class (old name) algorithm to MT19937.class
- 17 Apr 2004: add ZAC5 encryption algorithm
- 12 Apr 2005: add ZAC5Random class as a random stream, based on ZAC5 class.
- 16 Apr 2004: added finalize() method to clear internal buffers to RC4Key, ZAC3 and ZAC5.
- 17 Apr 2004: add Skipjack encryption algorithm
- 17 Apr 2004: add SkipjackRandom class as a random stream, based on Skipjack class
- 19 Apr 2004: add Cipher class as a base class to all algorithms. Note: no variables. Few classes use the methods in this class.
- 19 Apr 2004: change all ciphers/prngs algorithms to extends Cipher class.
- 19 Apr 2004: fix some javadoc documentations
version 0.3 - 26 March, 2005
Third version with GUI changes and small enhancements
- 13 Mar 2005: plan help
- 14 Mar 2005: add tests description in tests.html
- 14 Mar 2005: now openInputStream in algorithm will open both file (f any) and setup() method to reset
all setup of keys. Needed by several tests "reading" the "file" several times.
- 15 Mar 2005: small changes in OPSO - remove unnecessary paramter in method get_w in OverlappingPairsSparseOccupancy
class.
- 15 Mar 2005: small change in Overlapping20TuplesBitstream class. w20 int is now long, to
calculate correctly "w20 += 1" (java does not support unsigned 32 bits). Calculation is
done on 64 bits, long, and the loweset 32 bits are used (as before).
- 16 Mar 2005: add RSA
- 17 Mar 2005: change RSA to encrypt (0 || random 32 bits || data).
- 17 Mar 2005: change formatting of output data. use DecimalFormat.
java.text.DecimalFormat df = new java.text.DecimalFormat();
df.setMaximumFraction(4);
df.setMinimumFraction(4);
- 18 Mar 2005: added tests to BlowFish.
some changes... but need to test. chain for CBC and CFB.
http://www.schneier.com/code/vectors.txt
chaining mode test data
key[16] = 0123456789ABCDEFF0E1D2C3B4A59687
iv[8] = FEDCBA9876543210
data[29] = "7654321 Now is the time for " (includes trailing '\0')
data[29] = 37363534333231204E6F77206973207468652074696D6520666F722000
cbc cipher text
cipher[32]= 6B77B4D63006DEE605B156E27403979358DEB9E7154616D959F1652BD5FF92CC
cfb64 cipher text cipher[29]=
E73214A2822139CAF26ECF6D2EB9E76E3DA3DE04D1517200519D57A6C3
ofb64 cipher text cipher[29]=
E73214A2822139CA62B343CC5B65587310DD908D0C241B2263C2CF80DA
- 18 Mar 2005: change BlowFish class to use BFcipher written by Andrew Tuman.
Use iv bytes array.
- 20 Mar 2005: change loadAllTests to loadPropFile. Returns vector of two elements:
array of string names, array of string values.
- 20 Mar 2005: Now support allalgos.txt file. Dynamic list of algorithm names (and classes).
- 20 Mar 2005: rename SimplePaenl to SimplePanel (!)
- 20 Mar 2005: fix some bugs in JavaRandom and JabaSecuredRandom. Private buffer handling (not shared
with input file buffer).
- 20 Mar 2005: add DES algorithm. Based on JCE algorithm.
- 20 Mar 2005: add AES algorithm. Based on JCE algorithm.
- 20 Mar 2005: add TripleDES (DESEDE) algorithm. Based on JCE algorithm.
- 25 Mar 2005: add actualSize to FileRandomStream to correct last buffer handling (< SIZE).
- 25 Mar 2005: change AES to ecnrypt large buffer, and not 16 bytes buffer. This speeds up processing.
- 25 Mar 2005: change AES to use actualSize.
- 25 Mar 2005: add run.bat and run.sh to jrandtest-03 directory. add bin to classpath.
run.bat runs com.fasteasytrade.JRandTest.GUI.Gui class.
- 25 Mar 2005: add to ant javadoc.xml a link to http://java.sun.com/j2se/1.4.2/docs/api/
also added copyright (at bottom of javadoc html page).
- 25 Mar 2005: add "Javadoc" in "Help" menu. Use "start javadoc\\index.html" command, so we assume
current directory is jrandtest-x.y (with bin and javadoc folders in it).
Works with Windows 95/98/ME.
Windows NT/2000/XP needs "cmd /c \"start javadoc\\index.html\""
- 25 Mar 2005: add "Homepage" in "Help" menu. Use "start http://hrandtest.sourceforge.net" command.
- 25 Mar 2005: change CmdLine class to support algorithm and/or filename with several runs of tests.
- 25 Mar 2005: add runCmdLine.bat and runCmdLine.sh to jrandtest-03 directory. add bin to classpath.
runCmdLine.bat runs com.fasteasytrade.JRandTest.Tests.CmdLine class.
- 26 Mar 2005: add license.txt to package zip file.
- 26 Mar 2005: add readm.txt to package zip file.
version 0.2 - 12 March, 2005
Second version with GUI changes and small enhancements
- 4 March 2005: bug: count3bits print "count 2 bits for ...". should be "count 3 bits for ..."
- 7 Mar 2005: add AlgoRandomStream interface
- 7 Mar 2005: add FileAlgoRandomStream class, implements AlgoRandomStream interface.
- 7 Mar 2005: change ARC4 to extends FileAlgoRandomStream
- 8 Mar 2005: add "Exit" in menu. With System.exit(0).... too harsh....
- 8 Mar 2005: change file textfield to be null, and with size 45. (was full of spaces!).
- 8 Mar 2005: remove option: filename with "algo@xyz" with xyz algorithm class name.
- 8 Mar 2005: add list of algorithm names, optionally, to be selected.
- 8 Mar 2005: add set/getFilename to AlgoRandomStream
- 8 Mar 2005: support 4 input sources to tests:
- input filename. Example: check randomness of already encrypted file.
- algorithm as PRNG. Example: check randomness of ARC4.
- algorithm with filename. Example: check randomness of running algorithm with input filename.
- input data from HTTP URL.
- 9 Mar 2005: gui change - show list of tests as list (was radio buttons)
- 9 Mar 2005: add "<<" "<" "Run.." ">" ">>" to scroll and run tests
- 9 Mar 2005: add "edit" in menu with "Font size x", where x from 13 to 33. This will change all text area / test printouts.
- 10 Mar 2005: add "clear" button to clear current test listing (text area).
- 10 Mar 2005: add "clear all" button to clear all test listings (text area).
- 10 Mar 2005: change algo/tests list from java.awt.List to java.awt.Choice. A pull down menu.
- 10 Mar 2005: add SimpleButton with preferred size so all buttons has width=100 and height=20.
- 11 March 2005: change MT19937 to new interface
- 11 March 2005: add BlowFish algorithm. Implementation with bugs?
- 11 March 2005: add a very simple interface implementation / algorithm demonstration using
Java Random class. Named JavaRandom.
- 11 March 2005: add a very simple interface implementation / algorithm demonstration using
Java SecuredRandom class. Named JavaSecuredRandom.
- 12 March 2005: add setCursor to wait/default while running test. Set it to frame and textarea listing.
- 12 March 2005: change SimpleButton as public class (moved from Gui class)
- 12 March 2005: change SimpleDialog as public class (moved from Gui class)
- 12 March 2005: rename SimpeDialog class to SimplePanel class.
- 12 March 2005: add MsgBox class to display short messages. Show warning if user click run but no algorithm
and/or file is set.
- 12 March 2005: fix javadoc comments.
version 0.1 - 4 March, 2005
Initial version
- 31 Jan 2005: add Runtest (from DieHard)
- 2 Feb 2005: description is separated in a help method
- 2 Feb 2005: test and help methods are abstract methods in base
- 3 Feb 2005: Added throw exception
- 4 Feb 2005: Now, test and help methods are NOT abstract methods in base. base is a simple class.
- 6 Feb 2005 - add erf and cerf (derf class)
- 9 Feb 2005 - add queeze test (from DieHard)
- 11 Feb 2005 - change test buttons to radio buttons
- 11 Feb 2005 - add minimum distance test (from DieHard)
- 11 Feb 2005 - add d4 method to base class to return double with 4 decimal places (similar to C formatting with "%.4f").
- 11 Feb 2005 - move all tests to com.fasteasytrade.com.JRandTest.Tests
- 11 Feb 2005 - move all io interfaces and classes to com.fasteasytrade.com.JRandTest.IO
- 11 Feb 2005 - move all GUI classes to com.fasteasytrade.com.JRandTest.GUI
- 11 Feb 2005 - move derf class to com.fasteasytrade.com.JRandTest.Utils
- 11 Feb 2005 - add menu: file/file... and help/about. remove About button.
- 11 Feb 2005 - add title to page and copyright name year.
- 12 Feb 2005: list of tests:
Runs=com.fasteasytrade.JRandTest.Tests.Runtest
1 Bit=com.fasteasytrade.JRandTest.Tests.TestCount1Bit
2 Bits=com.fasteasytrade.JRandTest.Tests.TestCount2Bits
3 Bits=com.fasteasytrade.JRandTest.Tests.TestCount3Bits
4 Bits=com.fasteasytrade.JRandTest.Tests.TestCount4Bits
8 Bits=com.fasteasytrade.JRandTest.Tests.TestCount8Bits
1 6Bits=com.fasteasytrade.JRandTest.Tests.TestCount16Bits
Monte Carlo=com.fasteasytrade.JRandTest.Tests.TestMonteCarlo - diehard
Squeeze=com.fasteasytrade.JRandTest.Tests.SqueezeTest - diehard
Min Distance=com.fasteasytrade.JRandTest.Tests.MinimumDistanceTest - diehard
- 12 Feb 2005: add CountThe1s (from DieHard)
- 12 Feb 2005: add CountThe1sSpecificBytes (from DieHard)
- 12 Feb 2005: add BirthdaySpacingsTest (from DieHard)
- 12 Feb 2005: add BinaryRankTestFor6x8Matrices (from DieHard)
- 12 Feb 2005: add BinaryRankTestFor31x31Matrices (from DieHard)
- 12 Feb 2005: add BinaryRankTestFor32x32Matrices (from DieHard)
- 12 Feb 2005: add Overlapping20TuplesBitstream (from DieHard)
- 12 Feb 2004: list of tests:
Runs = com.fasteasytrade.JRandTest.Tests.Runtest
1 Bit = com.fasteasytrade.JRandTest.Tests.TestCount1Bit
2 Bits = com.fasteasytrade.JRandTest.Tests.TestCount2Bits
3 Bits = com.fasteasytrade.JRandTest.Tests.TestCount3Bits
4 Bits = com.fasteasytrade.JRandTest.Tests.TestCount4Bits
8 Bits = com.fasteasytrade.JRandTest.Tests.TestCount8Bits
1 6Bits = com.fasteasytrade.JRandTest.Tests.TestCount16Bits
Monte Carlo = com.fasteasytrade.JRandTest.Tests.TestMonteCarlo
Squeeze = com.fasteasytrade.JRandTest.Tests.SqueezeTest
Min Distance = com.fasteasytrade.JRandTest.Tests.MinimumDistanceTest
CountThe1s = com.fasteasytrade.JRandTest.Tests.CountThe1s
CountThe1sSpecificBytes = com.fasteasytrade.JRandTest.Tests.CountThe1sSpecificBytes
BirthdaySpacingsTest = com.fasteasytrade.JRandTest.Tests.BirthdaySpacingsTest
BinaryRank6x8Matrices = com.fasteasytrade.JRandTest.Tests.BinaryRankTestFor6x8Matrices
BinaryRank31x31Matrices = com.fasteasytrade.JRandTest.Tests.BinaryRankTestFor31x31Matrices
BinaryRank32x32Matrices = com.fasteasytrade.JRandTest.Tests.BinaryRankTestFor32x32Matrices
Overlapping20TuplesBitstream = com.fasteasytrade.JRandTest.Tests.Overlapping20TuplesBitstream
- 13 Feb 2005: add OverlappingPairsSparseOccupancy (from DieHard)
- 13 Feb 2005: add OverlappingQuadruplesSparseOccupancy (from DieHard)
- 13 Feb 2005: add DNA (from DieHard)
- 13 Feb 2005: rename several classes. removing the verb "test".
- 12 Feb 2005: list of tests:
Runs = com.fasteasytrade.JRandTest.Tests.Run
1 Bit = com.fasteasytrade.JRandTest.Tests.Count1Bit
2 Bits = com.fasteasytrade.JRandTest.Tests.Count2Bits
3 Bits = com.fasteasytrade.JRandTest.Tests.Count3Bits
4 Bits = com.fasteasytrade.JRandTest.Tests.Count4Bits
8 Bits = com.fasteasytrade.JRandTest.Tests.Count8Bits
1 6Bits = com.fasteasytrade.JRandTest.Tests.Count16Bits
Monte Carlo = com.fasteasytrade.JRandTest.Tests.MonteCarlo
Squeeze = com.fasteasytrade.JRandTest.Tests.Squeeze
Min Distance = com.fasteasytrade.JRandTest.Tests.MinimumDistance
CountThe1s = com.fasteasytrade.JRandTest.Tests.CountThe1s
CountThe1sSpecificBytes = com.fasteasytrade.JRandTest.Tests.CountThe1sSpecificBytes
BirthdaySpacings = com.fasteasytrade.JRandTest.Tests.BirthdaySpacings
BinaryRank6x8Matrices = com.fasteasytrade.JRandTest.Tests.BinaryRankTestFor6x8Matrices
BinaryRank31x31Matrices = com.fasteasytrade.JRandTest.Tests.BinaryRankTestFor31x31Matrices
BinaryRank32x32Matrices = com.fasteasytrade.JRandTest.Tests.BinaryRankTestFor32x32Matrices
Overlapping20TuplesBitstream = com.fasteasytrade.JRandTest.Tests.Overlapping20TuplesBitstream
OverlappingPairsSparseOccupancy = com.fasteasytrade.JRandTest.Tests.OverlappingPairsSparseOccupancy
OverlappingQuadruplesSparseOccupancy = com.fasteasytrade.JRandTest.Tests.OverlappingQuadruplesSparseOccupancy
DNA = com.fasteasytrade.JRandTest.Tests.DNA
- 16 Feb 2005: add HttpGetUrlRandomStream to read http get resource
- 16 Feb 2005: change GUI.class to support text field for file name, so user can type "http://...".
- 17 Feb 2005: change method d4 in Baseclass to return a string of exactly 4 decimal places.
- 17 Feb 2005: add MT19937.class algorithm. Runs MT.class. Located at com.fasteasytrade.JRandTest.Algo package.
- 17 Feb 2005: change filename mthod d4 in Baseclass to return a string of exactly 4 decimal places.
- 17 Feb 2005: change syntax of filename in Gui.class as "algo@name" so name algorithm/class is loaded
from "com.fasteasytrade.JRandTest.Algo.name".
- 17 Feb 2005: MT19937 works fast for tests with 32 integers. Runs slow for byte oriented tests. Need to check performance.
- 17 Feb 2005: add ARC4.class algorithm. Runs RC4Key.class. Located at com.fasteasytrade.JRandTest.Algo package.
- 17 Feb 2005: change method d4 in Baseclass to return a string of exactly length 10 or more. So format is ZZZZZ.DDDD.
- 19 Feb 2005: add ant javadoc.xml to copy src + compile + javadoc + build src.jar/classes.jar/javadoc.jar in lib.
use "ant -f javadoc.xml" to run.
To be used by developers.
- 19 Feb 2005: add javadoc.xml. ant build only the javadoc. add it to eclipse project.
- 19 Feb 2005: build.xml is a developer utility to generate (run ant) copy/compile/jar/javadoc. add it to eclipse project.
- 19 Feb 2005: add and fix javadoc comments in source code.
- 19 Feb 2005: remove all main mthods from each test. going to write a command line / main application to request
input from user and run tests.
- 19 Feb 2005: add CmdLine to run all tests with input file. Input from console, line mode. Can run several test on
one input file.
- 20 Feb 2005: fix java imports.
- 20 Feb 2005: change methods base.readByte/int/long/uni(String filename) to be readXXX().
Add openInputStream()/closeInputStream()to handle RandomStream. Eliminate implicit open/close while reading data.
- 20 Feb 2005: send SourceForge registration for jrandtest open source software project.
|