Learn
Short, technical guides to how digital signatures actually work — the algorithms, the byte-level formats, and the configuration mistakes that make verification fail. Written for the moments when a signature refuses to verify and the error message tells you nothing.
Algorithms
ECDSA vs RSA: which signature algorithm and when
Key and signature sizes at equal security, signing vs verification speed, where each algorithm dominates (TLS, SSH, JWT, blockchains), the ECDSA nonce problem — and what the post-quantum timeline means for both.
JWT
ES256 vs RS256 for JWTs: how to choose and how not to get burned
What the alg names actually mean, why ES256 tokens are ~250 bytes smaller, the algorithm-confusion mistake that breaks verification guarantees, and why JWS signatures are raw r‖s — not DER.
Formats
ECDSA signature formats: DER vs raw (P1363), high-S and cross-library pitfalls
One signature, two encodings. How ASN.1 DER and fixed-length raw r‖s differ byte by byte, which libraries default to which, and why high-S signatures verify in one stack and get rejected in another.
Failure modes
ECDSA nonce reuse: how one repeated number reveals a private key
The four-line derivation that turns two signatures sharing an r into the private key, the PS3 and Android SecureRandom failures behind it, real repeated-r data still sitting in the Bitcoin blockchain, and how RFC 6979 and hedged nonces close it.
Prefer to poke at real bytes? The Signature Lab tools run entirely in your browser.