Solutions to https://cryptopals.com problems
-
Updated
Apr 25, 2025 - Java
Solutions to https://cryptopals.com problems
A repository I'm using to learn hashing with GLib.
A zero-dependency C++17 AES encryption library supporting AES-128, AES-192, and AES-256 in ECB, CBC, CTR, and GCM modes, with SIMD-accelerated backends and runtime CPU dispatch
AES-GCM AEAD IP core in SystemVerilog. NIST SP 800-38D compliant. TLS 1.3 + IPsec + MACsec ready.
Browser-based AES-GCM vs AES-GCM-SIV comparison — live nonce reuse attack showing keystream XOR recovery and GHASH key extraction, synthetic IV construction visualizer, and side-by-side misuse-resistance comparison. RFC 8452. Part of crypto-lab.
Browser-based key-commitment demo — invisible salamanders, DGRW 2019. One AES-GCM ciphertext decrypts to two different plaintexts under two different keys, both tags valid. AEAD never promised a ciphertext maps to one key. Real GF(2^128) collision, accepted by WebCrypto's own verifier. No backends.
Browser-based MAC demo — HMAC, CMAC, Poly1305, and GHASH compared with live length extension attack, timing attack, and nonce reuse demonstrations. Real WebCrypto operations. No backends. No simulated math.
Browser demo: one nonce reused under one key across CTR, AES-GCM, ChaCha20-Poly1305, and CBC — four constructions, four different catastrophes, none graceful.
To associate your repository with the ghash topic, visit your repo's landing page and select "manage topics."