2022
-
Modulo arithmetic with large numbers
Jan 27
Modulo arithmetic with numbers large enough to ensure cryptographic security is complicated, particularly in PHP. Let’s work around that…
-
Modulo exponentiation in PHP – three ways
Jan 26
Modulo exponentiation lies at the core of most modern crypto. Learn three different ways to perform this calculation in PHP.
-
Understanding modulo arithmetic with clock functions
Jan 23
Modulo arithmetic is at the core of most every secure asymmetric cryptography algorithm. Clock functions make it an easier topic to master.
-
Hashing is not encryption – redux
Jan 20
Hashing and encryption are two different things, even if they’re built upon the same cryptographic foundation.
-
Why is it important never to reuse a nonce?
Jan 16
A nonce is an important element in cryptography and keep your data secure. But if you ever reuse a nonce, you’ve lost any hope for secrecy.
-
Verifying randomness in PHP [Part 2]
Jan 10
How random is random_bytes() in PHP? Are you sure?
-
Verifying randomness in PHP [Part 1]
Jan 9
How random is PHP’s random_int() function really?
-
Hashing is not encryption
Jan 8
Encryption, encoding, and hashing are three related but distinct concepts. It’s important for you to understand all three.
-
Demystifying forms of encryption
Jan 5
There are three types of encryption every developer should know: symmetric, asymmetric, and envelope (which is a combination of the previous two).
-
End-to-end encrypted secret sharing
Jan 3
Secret sharing typically requires a trusted third party to communicate a secret from point A to B. Encrypting those secrets at point A and only allowing point B to decrypt them removes any risk in the transfer.
2020
-
Cracking the Uncrackable – Background
Nov 9
Before trying to crack a Bitcoin wallet, it helps to know why recovery is possible at all. A 256-bit private key is beyond guessing, but Bitcoin Core wraps it in encryption keyed to a password — and that password is where recovery starts.
-
Cracking the Uncrackable
Nov 2
A client once paid a $100 invoice in Bitcoin. I lost the wallet — now worth over a million dollars. After mining earned me fifteen cents, I bought a stranger’s forgotten, password-locked wallet instead, hoping to crack it.