The megiddo library (alternative name mediggo) implements generic cryptanalysis techniques to detect weak or insecure cryptosystems or learn and practice with cryptanalysis. Current cases covered are:
- Detection of weak, misused or trapdoored cryptosystems. The system may remain totally unknown. This can be applied to a large number of current cases: satellite communications, binary executables (e.g. Stuxnet embeds such a weak stream cipher), telecommunication encryption…
- Cryptanalysis of those systems in polynomial time without any time-consumming brute-force key search. The system may still remain unknown.
- Practice of trapdoors in cryptosystems
This library is open source (LGPL licence) and written in C programming language. Samples and test cases are provided with each techniques:
- solutions are not always given to make people practice,
- solutions can always be obtained by contacting the development team.
The different resources available by now are: