(Re-)learning about block ciphers

It’s been a weirdly cryptographically-focused week. I don’t mean in the sense of blockchain, but working with SSL/TLS certificates, including working out why OpenSSL was changing the chain order when exporting from a .pfx file - thankfully a bright colleague is looking at the resolution of that one for me.

Today I dusted off the cobwebs on block ciphers (as opposed to stream ciphers), remembered some bits, and came across plenty I don’t think I’d known before. Through trial and error, I found that CBC uses an initialisation vector, whereas ECB does not. This ubiqsecurity post explains it better than I can.

I was looking at implementations in PowerShell, when I stumbled across the fact that OpenSSL supports many different encryption ciphers, which had completely passed me by as one of its functions.

What it mainly reminded me of what the excellent course on Encryption I’d watched by Brian Sletten several years ago. Looks like it’s still on O’Reilly learning

Aha, we see that it says “Explore stream ciphers, block ciphers, authenticated encryption systems, and symmetric key encryption”

I’d still recommend the course, and from the few messages I exchanged with him, Brian’s a lovely guy too.