Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

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 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.


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






No releases published


No packages published