Cryptography
Deep-dives into the maths that secures the internet: hash functions, digital signatures, the SHA family and the SHAttered collision that gave this site its name. Explainers and reporting for people who want to understand how the primitives actually work.
ChaCha20-Poly1305 vs AES-256-GCM: 3x Faster on ARM [2026]
Two authenticated encryption schemes control nearly every encrypted byte on the modern internet: ChaCha20-Poly1305 and AES-256-GCM. Both ship inside TLS 1.3. Both appear in WireGuard, Signal, and OpenSSH.…
Ed25519 vs RSA: 50x Faster, 8x Smaller Keys [2026]
Ed25519 signs a message in roughly 20 microseconds. RSA-2048 takes 667 microseconds for the same operation. That 33x speed gap, combined with signatures that are 4x smaller and…
TLS 1.3 in Node.js: 12 Steps to Secure HTTPS in 30 Min [2026]
Every HTTPS connection your Node.js server makes starts with a TLS handshake. That handshake negotiates which cipher to use, verifies the server certificate, and establishes the symmetric key…
SHA-256 vs SHA3-256: 3.5x Speed Gap, Same 128-bit Security [2026]
Pick the wrong hash function today and you may face a painful migration before 2030. SHA-256 vs SHA3-256 is the most consequential cryptography decision for engineers building secure…
Symmetric vs Asymmetric Encryption: 1000x Speed Gap [2026]
Every time you open a browser, send a message, or unlock your laptop, two families of encryption algorithms are quietly dividing the work. Symmetric encryption handles the heavy…
HMAC-SHA256 in Node.js: 10 Steps, 20 Min [2026]
Every webhook your server receives is an unauthenticated HTTP request until you prove otherwise. A payment confirmation from Stripe, a push event from GitHub, an order from Shopify:…
bcrypt Password Hashing in Node.js: 11 Steps [2026]
bcrypt remains the most widely deployed password hashing function in the Node.js ecosystem, and in 2026 it still earns its place. The OWASP Password Storage Cheat Sheet lists…
RSA Encryption in Node.js: 11 Steps [2026]
RSA encryption turns 49 years old in 2026, and it still protects a large share of the TLS handshakes, signed software updates, and API tokens you touch every…
AES-256 Encryption in Node.js: 12 Steps [2026]
AES encryption protects more data on the planet than any other cipher, and most of it runs through code that gets the details wrong. A 96-bit nonce reused…
Argon2 Password Hashing in Node.js: 11 Steps [2026]
Passwords still protect most of the internet, and most applications still store them badly. If your Node.js app hashes passwords with plain SHA-256, an unsalted MD5, or even…



