Cryptographic Primitives
Overview
Cryptographic and Mathematic Primitives
Reference Implementations
general primitives
Hash functions
SHA-2
difference between sha256 and kecakk256
- Argon 2
- Argon2: eference C implementation of Argon2.
- x/crypto Argon2 (go): Package argon2 implements the key derivation function Argon2.
- rust-argon2 (rust): Rust library for hashing passwords using Argon2.
- node-argon2 (typescript): Bindings to the reference Argon2 implementation.
- blake
- blake2 hash function
- ethereum-go-ethereum (go): Package blake2b implements the BLAKE2b hash algorithm defined by RFC 7693 and the extendable output function (XOF) BLAKE2Xb.
- bsc blake2b (go): Package blake2b implements the BLAKE2b hash algorithm defined by RFC 7693 and the extendable output function (XOF) BLAKE2Xb.
- blake3
- blake3 rust crate (rust): BLAKE3 is based on an optimized instance of the established hash function BLAKE2 and on the original Bao tree mode.
- zeebo blake3 (go) : Pure Go implementation of BLAKE3 with AVX2 and SSE4.1 acceleration.
- keccak256 hash function
- sha256
encryption
Random number generators
Serialization/DeSerialization
Threading
- prysm: contains generic containers that are protected either by Mutexes or atomics underneath the hood.
zero knowledge
- hash functions
- Poseidon: A New Hash Function for
Zero-Knowledge Proof Systems (video)
References
- Bloom Filter Wikipedia: A Bloom filter is a space-efficient probabilistic data structure, conceived by Burton Howard Bloom in 1970, that is used to test whether an element is a member of a set.
- Bloom Filters Explainer: The bloom filter essentially consists of a bit vector of length m, represented by the central column.
- Bloomfilter Lesson 11 - Blockchain Academy: Blockchain Introduction Technical – Beginner to Intermediate Lesson 11 – Bloomfilter.
- Cuckoo Hashing: a simple dictionary with worst case constant lookup time, equaling the theoretical performance of the classic dynamic perfect hashing scheme
of Dietzfelbinger et al.
- Cukoo Hashing Visualization: Visualization of Cukoo Hashing an elegant method for resolving collisions in hash tables.
- Fast Fourier Transforms: Vitaliks explaniner on Fast Fourier Transforms. Trigger warning: specialized mathematical topic, with
special thanks to Karl Floersch for feedback.
- Merkle Trees/Merkle Proofs Lesson 10 - Blockchain Academy: Blockchain Introduction Technical – Beginner to Intermediate Lesson 10 – Merkle Trees/Merkle Proofs.