Table of Contents

Hashing & Cryptography - Guides

Recipe-style walk-throughs for the Hashing & Cryptography topic - Bodu.IO.Hashing (non-cryptographic fingerprints, checksums, and check digits) and Bodu.Security.Cryptography (ciphers, AEAD, MACs, digests, and KDFs with a formal adversary model).

The two libraries answer different questions, and picking the wrong one is the most common mistake in this topic. If you have not already, read the topic overview for the decision rule - can an attacker choose or tamper with the input, or does anything secret ride on the result? - and the topic concepts page for the full taxonomy.

Bodu.IO.Hashing guides

Fast, portable, non-adversarial hashing on the BCL NonCryptographicHashAlgorithm contract.

Overview

The full guide index for Bodu.IO.Hashing - namespace map across fingerprints, checksums, and check digits, and which guide covers each algorithm.

Using CRC

One engine, 112 named standards from the RevEng catalogue - CrcStandard selection, custom parameter sets, the shared lookup-table cache, and resumable hashing.

Using FNV

FNV-1 and FNV-1a at 32 and 64 bits - the textbook constant-memory fingerprint and the default when in doubt.

Using MurmurHash3

MurmurHash3_32 and MurmurHash3_128 - seeded, excellent avalanche, widely used in databases and distributed systems.

Check digits overview

Luhn, Damm, Verhoeff, EAN, GTIN, ISIN, IBAN, ISBN, SEDOL, CUSIP, ABA, LEI - compute-vs-validate surfaces for human-typed identifiers.

Using Fletcher

Twin-accumulator checksums in 16, 32, and 64 bits - catches the transpositions a simple sum or XOR misses.

Bodu.Security.Cryptography guides

Primitives with a formal adversary model, on the BCL SymmetricAlgorithm / HashAlgorithm contracts.

Overview

The full guide index for Bodu.Security.Cryptography - foundations, standard / tweakable / stream ciphers, AEAD, hashes, MACs, and the ASCON family.

Encryption basics

Key, IV, Tweak, BlockMode, Padding - the mental model every cipher in the library follows, plus key generation and safe disposal.

AEAD modes

GCM, CCM, OCB, EAX, SIV, GCM-SIV - authenticated encryption with associated data using AesBlockCipher plus a mode transform.

Hashing overview

Cross-cutting overview of keyed hashes (SipHash, Poly1305), cryptographic digests (Tiger, CubeHash, Snefru), and Merkle trees.

Merkle trees and proofs

The RFC 6962 tree over any inner HashAlgorithm - roots over entries, blocks, or a write-time accumulator; inclusion and consistency proofs; length-bound roots.

Using SipHash

SipHash-64 and SipHash-128 - the keyed PRF for hash-flooding-resistant tables and short-message authentication.

Using Argon2

Argon2id / Argon2i / Argon2d per RFC 9106 - memory-hard password hashing and key derivation, with the parameter guidance.

Asymmetric algorithms overview

The four families over AsymmetricAlgorithm - key agreement, signatures, and post-quantum KEM / signatures - with selection guidance and the shared key import / export shape.

Key agreement with X25519

X25519 (RFC 7748) - Diffie-Hellman over Curve25519 for deriving a shared secret between two parties.

Signatures with Ed25519

Ed25519 (RFC 8032) - deterministic EdDSA signing and verification over Curve25519.

ML-KEM post-quantum key encapsulation

MLKem512 / MLKem768 / MLKem1024 (FIPS 203) - lattice-based key encapsulation resistant to quantum attack.

ML-DSA post-quantum signatures

MLDsa44 / MLDsa65 / MLDsa87 (FIPS 204) - lattice-based digital signatures resistant to quantum attack.

Start here

  1. Topic overview - the adversary-model split, the contrast table, and the "which library do I need?" scenarios.
  2. Topic concepts - fingerprint vs. checksum vs. check digit vs. digest vs. MAC vs. AEAD vs. XOF vs. KDF.
  3. For cryptography, start with Encryption basics before any cipher walk-through - the Key / IV / Tweak / mode / padding model carries across every algorithm. Then take AEAD modes for authenticated encryption or the hashing overview for digests and MACs.
  4. For non-cryptographic hashing, start with the guide overview to pick a subfamily, then the per-algorithm walk-through - CRC for channel checksums, FNV or MurmurHash3 for fingerprints, check digits for identifiers.

Where to go next