You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Opening the Blackbox: Collision Attacks on Round-Reduced Tip5, Tip4, Tip4′ and Monolith
This repository accompanies the paper Opening the Blackbox: Collision Attacks on Round-Reduced Tip5, Tip4, Tip4′ and Monolith, accepted to ToSC 2024.4 (full version on ePrint). It contains the code used to produce the pratical collision attacks against round-reduced Tip5, Tip4, Tip4′ and Monolith.
Repository structure
Targeted permutations:
Tip5.sage: This file contains a Sage implementation of the Tip5 permutation family, including Tip5 and Tip4 & Tip4'.
Monolith.sage: This file contains a Sage implementation of the Monolith permutation family.
Code to generate valid S-box differences:
Diff_Property_of_Sbox_and_Finding_Diffs.cpp: This is the code to test the differential properties of the special S-boxes used in Tip5 and Monolith family. The code can also be used to search for the desired input-output differences for our efficient attacks.
sys.sage: This a script to generate the coefficient matrix
(after Gaussian elimination) for the linear equation systems.
The obtained matrices will be used in the file Diff_Property_of_Sbox_and_Finding_Diffs.cpp.
Algebraic attacks:
collisionAttacks.ipynb: This file generates the equation systems for all practical attacks and creates the Magma scripts for running the Gröbner basis attack.
All Magma scripts are saved in the directory magma/. If Gaussian elimination was performed on the equation system to reduce the number of equations and variables (as described in the paper), the attack scripts are saved in the magma/GE/ subdirectory. The output logs of running the collision attacks using Magma are saved in magma/results/ and magma/GE/results/, respectively.
results.ipynb: Summary and verification of the results.