The Futility of Lava Lamps: What Random Really Means
Lava lamps are cool, but there are better ways to get random numbers.
Lava lamps are cool, but there are better ways to get random numbers.
The so called SOLID "principles" are not nearly as useful as their reputation suggest. Not that surprising, considering their origins.
Common wisdom says the only way to cheap software is to skimp on quality or performance. On the contrary, quality and performance arefor cheap software.
How a paid assignment had me reconsider Monocypher's API, leading to sweeping changes and simplifications.
The way the TPM is done leads to bloat. The TKey shows a better way.
Readability is more objective than you'd think
Crypto is often treated like a black art only anointed experts can hope to wield safely. It's not. There are laws, and we can learn them.
How I implemented Elligator mappings from the original paper, with almost no other reference.
Efficient elliptic curves tend not to have a prime order. This discusses the problems this causes, and the solutions.
Depending on whether we talk about ciphers and hashes, "bits of security" don't really mean the same thing. This explains the differences, and how it might affect the security of your cryptographic systems.
Public key cryptography often need fast scalar multiplication over a group with pretty slow additions. This explains the tricks.
Despite advice to the contrary, I have implemented my own crypto for serious use. Here's how.
Monocypher 1.0 is out! Now ready for production.
I had a ring made for me, to represent my trade.
Poly1305 is a state of the art one time authenticator. Let's take a look.
Chacha20 is a secure, fast, and amazingly simple encryption algorithm. Let's take a look.