Ko- / cpm

Software to search linear and differential trails for permutations/ciphers based on a column parity mixer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Column Parity Mixer trail search

This repository contains software to search truncated linear and differential trails for permutations/ciphers based on a column parity mixer, as is described in this this academic research paper. It is currently instantiated with Mixifer.

Compiling

Compiling requires a reasonably up-to-date C++ compiler that can deal with C++14. Just type 'make' to compile.

What's in there

main.cpp contains the main function, which is currently empty. Uncomment one of the functions to test them. distribution.cpp and bruteforce.cpp are standalone tools that have been used at some point.

The software is loosely based on an earlier version of code that is now in the KeccakTools repository. However, a lot has been modified to be able to deal with truncated trails and strong alignment.

Note that the code is not very polished/clean. It also still contains some old stuff that is not even touched/working anymore. Sorry about that.

The code contains several parts that are specific to the case of m=4, i.e. a state with 4 rows. So only changing Permutation.cpp is not going to be enough to try this on a different cipher. Although this was the goal originally, optimization were possible for this particular case that were deemed necessary to be able to cover a larger search space.

About

Software to search linear and differential trails for permutations/ciphers based on a column parity mixer


Languages

Language:C++ 99.2%Language:Makefile 0.8%