22 January 2009

Introducing KeccakTools

We make available KeccakTools v1.0, a set of C++ classes that can help analyze Keccak. KeccakTools provides the following features:

  • the implementation of the seven Keccak-f permutations, from Keccak-f[25] to Keccak-f[1600], possibly with a specified number of rounds;
  • the implementation of the inverses of the seven Keccak-f permutations;
  • the generation of look-up tables for Keccak-f[25];
  • the generation of GF(2) equations of the round functions and step mappings in the Keccak-f's and their inverses;
  • the generation of optimized C code for the round functions, including lane complementing and bit interleaving techniques;
  • the implementation of the sponge construction using any transformation or permutation, and of the Keccak sponge function family.

The code is documented with comments in the Doxygen format. The documentation can also be browsed online.

Since this is the first public release of KeccakTools, do not hesitate to report problems, e.g., in the compilation process (it has been tested with GCC 4.3 and Microsoft Visual C++ 2008 Express Edition), or things that are not clear in the documentation. All feedback and questions are welcome any time of course.