Website: www.iaik.tugraz.at
Author: Tomislav Nad
E-Mail: Tomislav.Nad@iaik.tugraz.at
The CodingTool Library
Overview
- Written in C++
- Depends only on the STL
- Multiplatform (Windows, Linux)
- Utilize 64-bit architecture
- Complete documentation
- Several examples
- Using GPL 3.0 license
The CodingTool library is a new collection of tools to use techniques from coding theory in cryptanalysis. It is completely independent from other libraries and can be used on Unix and Windows platforms. It benefits from the 64-bit architecture in terms of speed. The core part is an implementation of a probabilistic algorithm to search for code words with low Hamming weight. Additional functionalities like shortening and puncturing of a linear code or adding a weight to each bit of a code word are implemented. Furthermore, the library provides data structures to assist the user in creating a linear code for a specific problem. An easy to use interface to the provided algorithms, powerful data structures and a command line parser reduces the implementation work of a cryptanalyst to a minimum. Beside the existing functionality, the library can be extended very easily. A possible improvement is the implementation of faster search algorithms or the improvement of the existing one.
Examples
To demonstrate some of the functionalities we picked the SHA-1 message expansion. The minimum Hamming weight for the last 60 words of the SHA-1 message expansion is 25. We show how one can use the library to build the linear code, search for low Hamming weights and force specific bits to zero for this kind of problem.
Mailing list
If you are further interested in the development of the library or want to be informed of new realeases, please register at our mailing list.
Downloads
Please follow the link to the downloads section.
