README for Maraca, by Robert J Jenkins Jr The submission will contain two disks, which will be identical copies of this directory structure. README: This file, which is a description of all files in the submission. cover_sheet.pdf: cover sheet, in pdf cover.html: source for cover_sheet.pdf Statement By Reference Implementation Owner.doc: a statement by the reference implementation owner Statement by the Submitter.doc: a statement by the submitter Reference_Implementation: A directory containing reference implementation. reference.c: reference implementation of Maraca reference.h: declare interface & state structure for reference implementation Optimized_32bit: A directory containing optimized version. There is only one optimized version. It runs on both the 32 and 64 bit platform. It uses 128-bit SSE intrinsics. gcc needs -msse2 to compile it, visual studio can compile it as-is. optimized.c: optimized implemention of Maraca optimized.h: declare interface & state structure for optimized implementation Optimized_64bit: A directory that is an exact copy of the directory Optimized_32bit. KAT_MCT: A directory containing the results of NIST's KAT and Monte Carlo test suite run on the optimized version. reference.c: reference implementation of Maraca reference.h: declare interface & state structure for reference implementation optimized.c: optimized implemention of Maraca optimized.h: declare interface & state structure for optimized implementation zero_intermediate.txt: intermediate values for null string one_intermediate.txt: intermediate values for one block, all byte 42 two_intermediate.txt: intermediate values for two blocks, all byte 42 The other files are NIST's, modified to reference Maraca Supporting_Documentation: A directory containing algorithm.pdf: a description of the algorithm, including 2.B.1 Specification of the Maraca 2.B.2 Efficiency measurements and estimates for Maraca 2.B.4 Statement of Strength 2.B.5 Known Attacks 2.B.6 Advantages and Limitations algorithm.html: source for algorithm.pdf maraca.GIF: a picture used by algorithm.html game.GIF: a picture used by algorithm.html spacing.c: a program used in finding the block scheduling pattern findingc: a directory containing a program that looks for characeristics makechar.txt: make -f makechar.txt builds the program char which looks for characteristics mix.c: a file with the permutation to be tested other files required by makechar.txt Intermediate_Values: A directory containing zero_intermediate.txt: intermediate values for computing the empty string one_intermediate.txt: "" for one block containing all byte value=42 two_intermediate.txt: "" for two blocks containing all byte value=42 Additional_Implementations: nisthash17.c: Maraca, but input lengths are in bytes, it cannot hash fractional bytes. It produced the bitflip table shown in algorithm.pdf . It was used to design Maraca and debug the reference and optimized implementations.