2022
-
Self-obfuscating value objects
Feb 22
Sometimes, certain design patterns can aid in security as well as reusability of code. Let’s look at value objects as an example.
-
Securing tokens in PHP
Feb 21
Learn how password reset and other tokens can be secured by splitting the data and leveraging common password hash methodologies.
-
Cryptopals: Set 1 – challenge 5
Feb 19
Breaking encryption is fun. Building an encryption cipher is even more so! Let’s continue our Cryptopals journey with XOR.
-
Cryptopals: Set 1 – challenge 4
Feb 18
Now that we know how to crack a single-byte XOR cipher, let’s expand and crack even more through Cryptopals’ next challenge.
-
Cryptopals: Set 1 – challenge 3
Feb 17
Next up in our Cryptopals walkthrough is some frequency analysis against simple cryptographic keys. Let’s have some fun!
-
Cryptopals: Set 1 – challenge 2
Feb 16
Building on our cryptopals encoding work last time, let’s introduce byte-based XOR operations.
-
Cryptopals: Set 1 – challenge 1
Feb 15
Challenge 1 in the cryptopals suite is to juggle between Base64 and Hex encoding of byte strings. Let’s do just that, with value objects!
-
The Cryptopals challenges
Feb 14
Starting today I kick off a series on the cryptopals crypto challenges, with my implementations in PHP. Feel free to join in the fun!
-
Basic cryptography – the Vigenere cipher
Jan 30
The Vigenere cipher is more complicated that the Caesar cipher but based on the same idea. It uses a running key to keep your message secure.
-
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.
-
Reducing associative arrays in PHP
Jan 21
PHP doesn’t natively support passing associative arrays into array_map(). But there are ways to work around this limitation.