# Is there any general description language for block ciphers?

In page 9 (16 in the PDF) of Final report of European project IST-1999-12324 (NESSIE), it is mentioned that:

The NESSIE project is also developing a new generic tool to analyze block ciphers with differential [78] and linear cryptanalysis [422]. This tool is based on a general description language for block ciphers.

• Is this "description language" publicly available?
• Is there any other general description language for block ciphers or stream ciphers?
• Is This tool publicly available?
-

## 1 Answer

I think what is meant by this paragraph is the language defined in report NES/DOC/TEC/WP2/007/2, "A System for Assisting Analysis of Some Block Ciphers", by Arueh Bibliowicz, Pnina Cohen, Eli Biham. It is listed on the "NESSIE public reports" page.

The language is something like a special-purpose programming language for block ciphers. It supports functions (with special notations for S-boxes and "Selections", rounds, key schedules), variables, constants, primitive arithmetic/binary operations (AND, OR, XOR, ADD, SUB, MULT, ROL, ROR, SHIFTL, SHIFTR).

The appendix contains DES as an example.

The analyzer tool mentioned there (which interprets the language and does some automated cryptanalysis) seems to be not public, though.

-