Using RSA Securely in 2022

If you really must support RSA in 2022, here’s some things to keep in mind. | Continue reading


@soatok.blog | 2 years ago

Understanding HKDF

HKDF has poorly-understood subtleties. Let’s explore them in detail. | Continue reading


@soatok.blog | 3 years ago

Threema: Three Strikes, You’re Out

Threema boldly claims to be more secure than Signal. Does this hold up to scrutiny? | Continue reading


@soatok.blog | 3 years ago

Timing Attack on SQL Queries Through Lobste.rs Password Reset

Just to assuage any panic, let me state this up front. If you’re reading this blog post wondering if your Lobste.rs account is at risk, good news: I didn’t publish it until after the vu… | Continue reading


@soatok.blog | 3 years ago

Blue Alerts: Security Theater and Copaganda

Last week, Floridians were startled by an emergency alert sent to all of our cell phones. Typically when this sort of alert happens, it’s an Amber Alert, which means a child was abducted. In … | Continue reading


@soatok.blog | 3 years ago

Programmers Don’t Understand Hash Functions

Programmers don’t understand hash functions, and I can demonstrate this to most of the people that will read this with a single observation: When you saw the words “hash function”… | Continue reading


@soatok.blog | 3 years ago

Safer Illinois, Isn’t

Wherein some furry casually saves a University tens of thousands of dollars on a NIST SP 800-171 audit they were doomed to fail anyway. | Continue reading


@soatok.blog | 3 years ago

Canonicalization Attacks Against Macs and Signatures

Canonicalization Attacks occur when a protocol that feeds data into a hash function used in a MAC or Digital Signature calculation fails to ensure some property that’s expected of the overall… | Continue reading


@soatok.blog | 3 years ago

Trivial Proof of the Collatz Conjecture

A trivial proof for the Collatz conjecture that doesn’t fuss around with cycles. | Continue reading


@soatok.blog | 3 years ago

Why Furries Make Excellent Hackers

Briefly explaining the Infursec prevalence within InfoSec | Continue reading


@soatok.blog | 3 years ago

Avoiding the Frigid Hellscape of Online Marketing

An Internet Marketer Offered Me $100 to Betray Myself and My Community | Continue reading


@soatok.blog | 3 years ago

Why I Chose to Be Vaccinated Against Covid-19

#WhyIGotVaxxed | Continue reading


@soatok.blog | 3 years ago

A Furry’s Guide to Cryptocurrency

Normally when you see an article that talks about cryptocurrency come across your timeline, you can safely sort it squarely into two camps: For and Against. If you’re like me, you might even … | Continue reading


@soatok.blog | 3 years ago

On the Toxicity of Zed A. Shaw (With Bonus 0days)

Boycott Zed Shaw’s writing. (With bonus zero-days in his work.) | Continue reading


@soatok.blog | 3 years ago

Crackpot Cryptography and Security Theater

Tales from the Crypt[ography]. | Continue reading


@soatok.blog | 3 years ago

Please Stop Encrypting with RSA Directly

RSA is for encrypting symmetric keys, not entire messages. Pass it on. | Continue reading


@soatok.blog | 3 years ago

The Subtle Hazards of Real-World Cryptography

Imagine you’re a software developer, and you need to authenticate users based on a username and password. If you’re well-read on the industry standard best practices, you’ll proba… | Continue reading


@soatok.blog | 3 years ago

Going Bark: A Furry's Guide to End-to-End Encryption

Governments are back on their anti-encryption bullshit again. Between the U.S. Senate’s “EARN IT” Act, the E.U.’s slew of anti-encryption proposals, and Australia’s ne… | Continue reading


@soatok.blog | 4 years ago

A Brief Introduction to Deniability

Earlier this week, security researcher Ryan Castellucci published a blog post with a somewhat provocative title: DKIM: Show Your Privates. After reading the ensuing discussions on Hacker News and R… | Continue reading


@soatok.blog | 4 years ago

Bizarre Design Choices in Zoom’s End-to-End Encryption

Zoom recently announced that they were going to make end-to-end encryption available to all of their users–not just customers. This is a good move, especially for people living in countries w… | Continue reading


@soatok.blog | 4 years ago

Bizarre Design Choices in Zoom's End-to-End Encryption

Zoom recently announced that they were going to make end-to-end encryption available to all of their users–not just customers. This is a good move, especially for people living in countries w… | Continue reading


@soatok.blog | 4 years ago

Dead Ends in Cryptanalysis: Length Extension Attacks

This is the first entry in a (potentially infinite) series of dead end roads in the field of cryptanalysis. Cryptography engineering is one of many specialties within the wider field of security en… | Continue reading


@soatok.blog | 4 years ago

Vanity, Vendors, and Vulnerabilities

Tonight on InfoSec Twitter, this gem was making the rounds: Hello cybersecurity and election security people,I sometimes embed your tweets in the Cybersecurity 202 newsletter. Some of you have a ha… | Continue reading


@soatok.blog | 4 years ago

Dead Ends in Cryptanalysis: Length Extension Attacks

This is the first entry in a (potentially infinite) series of dead end roads in the field of cryptanalysis. Cryptography engineering is one of many specialties within the wider field of security en… | Continue reading


@soatok.blog | 4 years ago

EduTech Spyware Is Still Spyware: Proctorio Edition

Spyware written for educational institutions to flex their muscles of control over students and their families when learning from their home computer is still, categorically, spyware. Depending on … | Continue reading


@soatok.blog | 4 years ago

Designing New Cryptography for Non-Standard Threat Models

Since the IETF’s CFRG decided to recommend OPAQUE as a next-generation Password Authenticated Key Exchange, there has been a lot of buzz in the cryptography community about committing authent… | Continue reading


@soatok.blog | 4 years ago

Soatok's Guide to Side-Channel Attacks

If you’re ever tasked with implementing a cryptography feature–whether a high-level protocol or a low-level primitive–you will have to take special care to ensure you’re not… | Continue reading


@soatok.blog | 4 years ago

Soatok's Guide to Side-Channel Attacks

If you’re ever tasked with implementing a cryptography feature–whether a high-level protocol or a low-level primitive–you will have to take special care to ensure you’re not… | Continue reading


@soatok.blog | 4 years ago

Dorking Your Way to Search Results That Don't Suck

I recently needed to find an image that I didn’t have saved on my computer in order to share with a group chat. For laughs. Naturally, I did the first thing most of us do when that happens: I… | Continue reading


@soatok.blog | 4 years ago

GNU: A Heuristic for Bad Cryptography

If you see the letters GNU in a systems design, and that system intersects with cryptography, I can almost guarantee that it will be badly designed to an alarming degree. This is as true of GnuPG (… | Continue reading


@soatok.blog | 4 years ago

Kerlissions: Trivial Collisions in Iota's Hash Function (Kerl)

Historical Context of Iota’s Hash Functions Once upon a time, researchers discovered that the hash function used within the Iota cryptocurrency (Curl-P), was vulnerable to practical collision… | Continue reading


@soatok.blog | 4 years ago

GNU: A Heuristic for Bad Cryptography

If you see the letters GNU in a systems design, and that system intersects with cryptography, I can almost guarantee that it will be badly designed to an alarming degree. This is as | Continue reading


@soatok.blog | 4 years ago

Guide to Transition into a Tech Career Without Prior Experience for Nearly $0

I probably don’t need to remind anyone reading this while it’s fresh about the current state of affairs in the world, but for the future readers looking back on this time, let me set th… | Continue reading


@soatok.blog | 4 years ago

How to Learn Cryptography as a Programmer

A question I get asked frequently is, “How did you learn cryptography?” I could certainly tell everyone my history as a self-taught programmer who discovered cryptography when, after my… | Continue reading


@soatok.blog | 4 years ago

How to Learn Cryptography as a Programmer

The Pop iconoclast obsessively documented his life, but he also lied constantly, almost recreationally. | Continue reading


@soatok.blog | 4 years ago

Learning from LadderLeak: Is ECDSA Broken?

A paper was published on the IACR’s ePrint archive yesterday, titled LadderLeak: Breaking ECDSA With Less Than One Bit of Nonce Leakage. The ensuing discussion on /r/crypto led to several int… | Continue reading


@soatok.blog | 4 years ago

Why AES-GCM Sucks (Cryptography)

If you’re reading this wondering if you should stop using AES-GCM in some standard protocol (TLS 1.3), the short answer is “No, you’re fine”. I specialize in secure implemen… | Continue reading


@soatok.blog | 4 years ago

Exposing Websites' Real IP Address from Behind CloudFlare

Furry Twitter is currently abuzz about a new site selling knock-off fursuits and illegally using photos from the owners of the actual fursuits without permission. The website in question. Understan… | Continue reading


@soatok.blog | 4 years ago

The Easy Way to Obtain a Website's IP Address That Hides Behind CloudFlare

Furry Twitter is currently abuzz about a new site selling knock-off fursuits and illegally using photos from the owners of the actual fursuits without permission. The website in question. Understan… | Continue reading


@soatok.blog | 4 years ago

A Furry's Guide to Authenticated Key Exchanges

Authenticated Key Exchanges are an interesting and important building block in any protocol that aims to allow people to communicate privately over an untrusted medium (i.e. the Internet). WhatR… | Continue reading


@soatok.blog | 4 years ago

Fraudulent Apps on the Google Play Store: Covid-19 Contact Tracing Edition

Cryptographers around the world are still designing privacy-preserving contact tracing systems for combating the spread of COVID-19. Even though some papers have been published (one using zero-know… | Continue reading


@soatok.blog | 4 years ago

Fun with Cryptographic Hash Functions

There are several different methods for securely hashing a password server-side for storage and future authentication. The most common one (a.k.a. the one that FIPS allows you to use, if compliance… | Continue reading


@soatok.blog | 4 years ago

Putting the “Fun” in “Hash Functions”

There are several different methods for securely hashing a password server-side for storage and future authentication. The most common one (a.k.a. the one that FIPS allows you to use, if compliance… | Continue reading


@soatok.blog | 4 years ago

Hedged Signatures with Libsodium (Ed25519)

In 2017, cryptography researchers from Kudelski Security demonstrated practical fault attacks against EdDSA (specifically Ed25519; RFC 8032). Their techniques are also applicable to Deterministic E… | Continue reading


@soatok.blog | 4 years ago

Hedged Signatures with Libsodium (Ed25519)

In 2017, cryptography researchers from Kudelski Security demonstrated practical fault attacks against EdDSA (specifically Ed25519; RFC 8032). Their techniques are also applicable to Deterministic E… | Continue reading


@soatok.blog | 4 years ago

An Approachable Introduction to Elliptic Curve Diffie-Hellman

Suppose you need to encrypt data between two peer-to-peer devices over an untrusted medium (i.e. the Internet), and you have an authenticated low-bandwidth channel that can be used to send and auth… | Continue reading


@soatok.blog | 4 years ago

Authenticated Key Exchanges

Authenticated Key Exchanges are an interesting and important building block in any protocol that aims to allow people to communicate privately over an untrusted medium (i.e. the Internet). WhatR… | Continue reading


@soatok.blog | 4 years ago

Twitter Thinks My Gender Is [EICAR String] (Or “Server-Side Checks Matter”)

I was recently made aware of a change to Twitter, which exposes a new Gender field. If you’ve never specified your gender before, they guessed what it was (which is a really shitty thing to d… | Continue reading


@soatok.blog | 4 years ago