Skip to main content
  1. All Posts/

Tools-for-Cryptanalysis

Tools HTML

Crypto-Tools

A curated list of cryptography and cryptanalysis related tools and libraries.

Motivation

The motivation of curating a list of cryptography and cryptanalysis related tools was born from desire to have a centralized point where all such tools can be found. Attempts will be made to keep it updated as frequently as possible. If you find any tools/library that are missing feel free to contribute.

Contents

  1. Lineartrails
  2. KeccakTools
  3. S-Box Mixed-Integer Linear Programming tool
  4. HashClash
  5. ARX Toolkit
  6. Information Set Decoding
  7. Linear Hull Cryptanalysis PRESENT
  8. CodingTool Library
  9. Grain of Salt
  10. SYMAES
  11. Automated Algebric Cryptanalysis
  12. Algebraic Preimage Attack on Hash functions
  13. Lex Toolkit
  14. Yafu
  15. Msieve
  16. CADO-NFS
  17. sha1collisiondetection
  18. S-function Toolkit
  19. SIMON/SPECK Cryptanalysis
  20. CryptoSMT
  21. YAARX
  22. CTF Tool
  23. SHA-1 GPU near-collision attacks
  24. Improved Conditional Cube Attacks on Keccak Key Modes with MILP Method
  25. Conditional Cube Attack on Round-Reduced ASCON
  26. Yoyo Tricks with AES
  27. sboxgates
  28. SoCracked key-recovery attack on SoDark
  29. Cryptanalysis of ISEA
  30. Bucketing Computational Analysis Attack
  31. SPARX Differential Attacks
  32. Attack on 721-round Trivium
  33. MILP on SPECK
  34. SoCracked
  35. Peigen SBoxes
  36. Cryptanalysis of Persichetti’s One-Time Signature (OTS)
  37. Key-dependent cube attack on Frit-AE
  38. Extended Expectation Cryptanalysis on Round-reduced AES and Small-AES
  39. Cryptanalysis of MORUS
  40. Boomerang probablities on Kiasu-BC
  41. Mixture Integral Attacks on Reduced-Round AES
  42. Integral Cryptanalysis of CRAFT
  43. Integral Cryptanalysis of MIBS
  44. License

lineartrails

Tool to automatically search for linear characteristics

  • Developers: Christoph Dobraunig, Maria Eichlseder, Florian Mendel
  • Official Repository

A tool that searches for linear characteristics for given S-Box. The tool was born
from the paper Heuristic Tool for Linear Cryptanalysis with Applications to CAESAR Candidates.

KeccakTools

A set of C++ classes that can help analyze the Keccak sponge function family

KeccakTools is a set of C++ classes aimed as an assistant in analyzing the sponge function family Keccak. These classes and methods were used to obtain the results reported in the paper Differential propagation analysis of Keccak presented at FSE 2012 (available here IACR ePrint 2012/163).

S-Box Mixed-Integer Linear Programming tool

Toolkit for Counting Active S-boxes using Mixed-Integer Linear Programming (MILP)

This toolkit can be used to prove the security of cryptographic ciphers against linear and differential cryptanalysis. This toolkit generates Mixed-Integer Linear Programming problem which counts the minimum number of (linearly or differentially) active S-boxes for a given cipher. The toolkit currently supports AES and xAES (both in the single-key and related-key setting), as well as Enocoro-128v2 (in the related-key setting). The paper that introduced this toolkit is available online.

HashClash

Framework for MD5 & SHA-1 Differential Path Construction and Chosen-Prefix Collisions for MD5

This framework contains tools for the constructions of differential paths for MD5 and SHA-1, including chosen-prefix collisions for MD5.

ARX Toolkit

The ARX toolkit is a set of tools to study ARX ciphers and hash functions

The ARX toolkit is a set of tools to study ARX ciphers and hash functions. This toolkit was presented at the SHA-3 conference in March 2012.

Information Set Decoding

A tool for information set decoding

  • Developers: Unknown?
  • Official source
  • Location within this repo

This library, written in C++ that is efficient at finding low weight codewords of a linear code using information set decoding.

Linear Hull Cryptanalysis of PRESENT

A tool to compute linear hulls for PRESENT cipher

This tool computes linear hulls for the original PRESENT cipher. It confirms and even improves on the predicted bias (and the corresponding attack complexities) of conventional linear relations based on a single linear trail.

CodingTool Library

Tool for cryptanalysis based on coding theory

The CodingTool library is a collection of tools to use techniques from coding theory in cryptanalysis. The core part is an implementation of a probabilistic algorithm to search for code words with low Hamming weight. Additional functionalities like shortening and puncturing of a linear code or adding a weight to each bit of a code word are implemented. Furthermore, the library provides data structures to assist the user in creating a linear code for a specific problem. An easy to use interface to the provided algorithms, powerful data structures and a command line parser reduces the implementation work of a cryptanalyst to a minimum.

Grain of Salt

An automated way to test stream ciphers through SAT solvers

Grain of Salt is a tool developed to automatically test stream ciphers against standard SAT solver-based attacks. The tool takes as input a set of configuration options and the definition of each filter and feedback function of the stream cipher. It outputs a problem in the language of SAT solvers describing the cipher. The tool can automatically generate SAT problem instances for Crypto-1, HiTag2, Grain, Bivium-B and Trivium.

SYMAES

A Fully Symbolic Polynomial System Generator for AES-128

  • Developers: Vesselin Velichkov, Vincent Rijmen, Bart Preneel
  • Paper

SYMAES is a software tool that generates a system of polynomials in GF(2), corresponding to the round transformation and key schedule of the block cipher AES-128.

Automated Algebraic Cryptanalysis

A simple tool for the automatic algebraic cryptanalysis of a large array of stream- and block ciphers

A simple tool for the automatic algebraic cryptanalysis of a large array of stream and block ciphers. Three tests have been implemented and the best results have led to continued work on a computational cluster.

Algebraic Preimage Attack on Hash functions (AlPAtH)

A software framework AlPAtH (Algebraic Preimage Attack on Hash functions) to run algebraic attacks on hash function

AlPAtH is a software framework to run algebraic attacks on hash functions. This framework is intended to run algebraic attacks on hash functions, but could be extended to any kind of ciphers (block, stream). It provides a framework to generate equations, solve these equations and interpret the results.

Lex Toolkit

A Tool for Algebraic Analysis of Stream Cipher LEX

  • Developer: V. Velichkov, V. Rijmen, and B. Preneel
  • Official Repository
  • Location within this repo

The Lex Toolkit is a collection of Python programs for the computer algebra system Sage. The programs generate Boolean algebraic equations for a small-scale version of stream cipher LEX.

Yafu (Yet Another Factorization Utility

YAFU software that has implemented integer factoring algorithms

YAFU (with assistance from other free software) uses the most powerful modern algorithms (and implementations of them) to factor input integers in a completely automated way. Useful for RSA attacks.

Msieve

Useful library for RSA attacks

Msieve is a C library implementing a suite of algorithms to factor large integers. It contains an implementation of the SIQS and GNFS algorithms. Useful for RSA attacks.

CADO-NFS

Toolkit for NFS verification