Security Engineering What is Security Engineering? Engineering is about enabling outcomes, but security engineering is about preventing the wrong ones. It’s a discipline rooted in risk management, requiring both technical skill and an adversarial mindset to protect systems from misuse, not just make them function.
Encryption Series: The Vigenère Cipher I have always had a particular fondness for this cipher. When I first embarked upon a serious exploration of cyber security, I found the introductory Caesar and Rot13 ciphers, ubiquitous staples of cryptographic tutorials, rather tiresome. They seemed closer to simple encoding exercises than true encryption methods. The Vigenère cipher,
Cryptanalysis Encryption Series: Breaking a Substitution Cypher We automate the cryptanalysis of a substitution cipher using Rust. With letter frequency data and a dictionary, the script makes educated guesses, applies substitutions, and iteratively refines them to recover plaintext.
Classical Cryptography Encryption Series: The Monoalphabetic Substitution Cipher An introduction to the monoalphabetic substitution cipher, its historical roots, keyspace complexity, and a full implementation in Rust. We demonstrate how it improves on Caesar’s cipher, and where it still falls short.
Encryption Encryption Series: A Civilised Introduction to the Caesar Cipher Discover the historical Caesar cipher, understand its elegant mathematics, and follow a concise implementation in Rust. Learn the cipher’s inherent vulnerabilities through an engaging demonstration of brute-force cryptanalysis.
Building a Minimal Blockchain: Genesis Blocks, Integrity, and Chain Validation You're still here! That means I haven't bored you, or you just really want to make a blockchain crypto. If this isn't the first post you're reading, you should know it's actually part 3 of my Blockchain crypto series. Check
Blockchain Breaking Blocks: How Hashing Holds the Blockchain Together Blockchain security relies on one key principle: once data is recorded, it can't be altered without breaking the chain. This post dives into how blocks are structured, the magic of hashing, and how a small change can unravel everything. Plus, we build a simple blockchain block in TypeScript!
Blockchain Build Your Own Blockchain: The First Step to Building a Decentralised Future Curious about blockchains? This hands-on series guides you through building your own blockchain from scratch. While coding your functional blockchain, learn about decentralised systems, cryptographic security, and trust minimisation. Perfect for developers and anyone eager to understand blockchain!