retter, upholds cryptography
It's a collection of the most important things.
NOTE: retter is not yet finished!!!
BLA BLA BLA BLA BLA BLA BLA
- Definitions: bla bla bla bla bla
- List of hash functions: bla bla bla bla bla
- Cyclic redundancy checks: bla bla bla
- Checksums: bla bla bla
- Non-cryptographic hash functions: bla bla bla
- Cryptographic hash functions: bla bla bla
- Tools: bla bla bla
- Libraries: bla bla bla bla
- Articles: bla bla bla
Avalanche - a measure of how the output bits change based on each input bit. Ideally each input bit will affect each output bit with 1/2 probability.
Realistically, many hash functions do not achieve perfect avalanche and are still useable for many sets of keys.
Cipher - an algorithm for performing encryption or decryption—a series of well-defined steps that can be followed as a procedure.
This is a list of hash functions, including cyclic redundancy checks, checksum functions, and cryptographic hash functions.
For each function are included: description, implementations and materials.
A cyclic redundancy check (CRC) is an error-detecting code commonly used in digital networks and storage devices to detect accidental changes to raw data.
A checksum or hash sum is a small-size datum from an arbitrary block of digital data for the purpose of detecting errors which may have been introduced during its transmission or storage.
A cryptographic hash function is a hash function which is considered practically impossible to invert, that is, to recreate the input data from its hash value alone.
A cryptographic hash function is a hash function which is considered practically impossible to invert, that is, to recreate the input data from its hash value alone.
Name | Length | Type | Authors | Information |
---|---|---|---|---|
MD5 | 128 bits | Merkle-Damgård construction | Ronald Rivest | more |
MD5 | 128 bits | Merkle-Damgård construction | Ronald Rivest | more |
Test your hash functions.
- Authors - Smhasher team
- Download - https://code.google.com/p/smhasher/
SMHasher is a test suite designed to test the distribution, collision, and performance properties of non-cryptographic hash functions - it aims to be the "DieHarder" of hash testing, and does a pretty good job of finding flaws with a number of popular hashes.
Extension of the Toolkit for Counting Active S-boxes using Mixed-Integer Linear Programming (MILP).
- Authors - Laura Winnen
- Download - http://www.ecrypt.eu.org/tools/uploads/sage_sbox_milp.zip
This toolkit can be used to prove the security of cryptographic ciphers against linear and differential cryptanalysis. Includes the implementation in Sage for AES, small AES, Present, Led, mCrypton, Klein and Enocoro.
A set of documented C++ classes to help analyze Keccak-f.
- Authors - Guido Bertoni, Joan Daemen, Michaël Peeters, Gilles Van Assche
- Download - http://keccak.noekeon.org/KeccakTools-3.3.zip
- Documentation - http://keccak.noekeon.org/KeccakTools-doc/
KeccakTools is a set of C++ classes aimed at helping analyze the sponge function family Keccak.
Toolkit for Counting Active S-boxes using Mixed-Integer Linear Programming (MILP).
- Authors - Nicky Mouha
- Download - http://www.ecrypt.eu.org/tools/uploads/sbox-milp.zip
- Documentation - http://www.cosic.esat.kuleuven.be/publications/article-2080.pdf
This toolkit can be used to prove the security of cryptographic ciphers against linear and differential cryptanalysis.
Framework for MD5 & SHA-1 Differential Path Construction and Chosen-Prefix Collisions for MD5.
- Authors - Marc Stevens
- Download - http://code.google.com/p/hashclash/
This framework contains tools for the constructions of differential paths for MD5 and SHA-1, including chosen-prefix collisions for MD5.
The ARX toolkit is a set of tools to study ARX ciphers and hash functions.
- Authors - Gaëtan Leurent
- Download - http://www.di.ens.fr/~leurent/arxtools.html
The ARX toolkit was presented at the SHA-3 conference in March 2012 in Washington, DC.
A tool for information set decoding.
- Authors - ISD team
- Download - https://github.com/isd-dev/isd
This library, written in C++, is reasonably efficient at finding low weight codewords of a linear code using information set decoding.
Toolkit for the differential cryptanalysis of S-functions.
- Authors - Nicky Mouha, Vesselin Velichkov, Christophe De Cannière, Bart Preneel
- Download - http://www.ecrypt.eu.org/tools/uploads/s-function_toolkit_v2.zip
- Documentation - http://www.cosic.esat.kuleuven.be/publications/article-1473.pdf
An increasing number of cryptographic primitives use operations such as addition modulo 2^n, multiplication by a constant and bitwise Boolean functions as a source of non-linearity.
Toolkit for SAT-based attacks on cryptographic primitives.
- Authors - Paweł Morawiecki, Marian Srebrny, Mateusz Srebrny
- Download - http://www.pawelmorawiecki.pl/cryptlogver
CryptLogVer is a toolkit that can be used to mount SAT-based attacks on cryptographic primitives (block ciphers, stream ciphers, hash functions).
A tool to compute linear hulls for PRESENT.
- Authors - Bingsheng Zhang
- Download - http://www.ecrypt.eu.org/tools/uploads/present-linear-hull.zip
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.
A simple tool for the automatic algebraic cryptanalysis of a large array of stream- and block ciphers.
- Authors - Paul Stankovski
- Download - http://www.eit.lth.se/index.php?id=260&uhpuid=dhs.pas&hpuid=584&L=1
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.
A Fully Symbolic Polynomial System Generator for AES-128.
- Authors - Vesselin Velichkov, Vincent Rijmen, Bart Preneel
- Download - http://www.ecrypt.eu.org/tools/uploads/symaes-v1.1.tgz
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.
Tools for the algebraic cryptanalysis of cryptographic primitives.
- Authors - Martin Albrecht
- Download - https://bitbucket.org/malb/research-snippets/src
Algebraic cryptanalysis of cryptographic primitives such as block ciphers, stream ciphers and hash functions usually proceeds in two steps.
An automated way to test stream ciphers through SAT solvers.
- Authors - Mate Soos
- Download - http://planete.inrialpes.fr/~soos/GrainOfSalt/
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.
Free open-source mathematics software system, also containing many modules for cryptography.
- Authors - William A. Stein
- Download - http://www.sagemath.org/
- Documentation - http://www.sagemath.org/doc/reference/cryptography.html
Sage is a free open-source mathematics software system licensed under the GPL. It combines the power of many existing open-source packages into a common Python-based interface. It also contains modules to perform both basic and more advanced computations in cryptography and cryptanalysis.
- C
- libsodium: a modern and easy-to-use crypto library.
- AESLib: arduino Library for AES Encryption (source based on avr-crypto-lib).
- crypto-algorithms: basic implementations of standard cryptography algorithms, like AES and SHA-1.
- sha3sum: SHA-3 and Keccak checksum utility.
- cryptlib: an open source cross-platform software security toolkit library.
- Nettle: a cryptographic library that is designed to fit easily in more or less any context.
- C++
- Javascript
- jsHashes: pure JavaScript implementation of the most extended hash algorithms.
- javascript-crypto-library: provides web developers with an extensive and efficient set of cryptographic functions.
- cryptojs: provide standard and secure cryptographic algorithms for NodeJS.
- hmacsha1.js: a JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined.
- Clojure
- pandect: fast and easy-to-use Message Digest, Checksum and HMAC library for Clojure.
- ActionScript
- as3corelib: an ActionScript 3 Library that contains a number of classes and utilities.
- Ruby
- BozoCrack: a silly & effective MD5 cracker in Ruby.
- Objective-c
- CocoaSecurity: encrypt/Decrypt: AES. Hash: MD5, SHA(SHA1, SHA224, SHA256, SHA384, SHA512). Encode/Decode: Base64, Hex.
- Rust
- rust-crypto: a (mostly) pure-Rust implementation of various cryptographic algorithms.
- Java
- Bouncy Castle: a collection of APIs used in cryptography. It includes APIs for both the Java and the C# programming languages.
- Cryptology for Beginners
- Differential Cryptanalysis of MD5
- Cryptography - Wikibooks
- Universal One-Way Hash Functions and their Cryptographic Applications
- Bloom filters, fast and simple
- Lecture Notes on Cryptography
- Cryptograpy Lecture Notes
- Non-Cryptographic Hash Function Zoo
- Dongxia Bai, Tsinghua University in China
- Mike Sharov (@msharov)