The scripts in this repository may be run using Octave. The code, which may be used to generate preimage-aware compression functions in the random oracle model, is based on the characterization of preimage awareness presented in the paper "Preimage Awareness in Linicrypt" by Z. Javar and B.M. Kapron.
This code generates all 76 possible PrA compression functions with 2 inputs and 2 random oracle calls. Each function is presented as a 3
This code generates all 532 compression functions which utilize a constant
This example shows how to write the PrA function given the matrix representation.
The equivalent compression function is