Reference
Comparisons
40 comparisons of algorithms, formats, tokens and protocols that people choose between, each with a verdict, a table of the differences and measured numbers where they matter.
Signatures · 9 comparisons
- Deterministic vs randomized ECDSA: RFC 6979, random and hedged noncesHow ECDSA nonces can be random, deterministic (RFC 6979) or hedged: failure modes, fault attacks, testing, library defaults in OpenSSL, Python, Node and noble.
- ECDSA vs EdDSA: P-256 or Ed25519 for signaturesECDSA vs EdDSA compared: nonce handling, malleability, sizes, measured speed, hardware and protocol support, standards status, and how to migrate keys.
- ECDSA vs Schnorr signatures: what Taproot changedECDSA vs Schnorr compared on secp256k1: the math, linearity and multi-signatures, malleability, key recovery, sizes, batch verification and where each is used.
- Ed25519 vs Ed448: 128-bit or 224-bit EdDSAEd25519 vs Ed448 compared: security level, key and signature sizes, measured speed, SHA-512 versus SHAKE256, contexts, and where each is supported today.
- Ed25519 vs RSA keys: which SSH key type to generateEd25519 vs RSA for SSH and signing: key and signature sizes, measured speed, OpenSSH defaults, rsa-sha2 versus ssh-rsa, platform gaps and how to rotate keys.
- P-256 vs P-384: when 192-bit ECDSA is worth itP-256 vs P-384 compared: 128 versus 192-bit security, key, signature and certificate sizes, measured OpenSSL speed, CNSA and WebPKI requirements, and migration.
- P-256 vs secp256k1: two 256-bit curves, two ecosystemsP-256 vs secp256k1 compared: curve parameters and origins, security, measured speed in OpenSSL and JavaScript, platform support, low-S and key recovery rules.
- RSA-2048 vs RSA-4096: key size, speed, the 2030 deadlineRSA-2048 vs RSA-4096 (and 3072): security levels, measured signing, verification and key generation speed, sizes, NIST deprecation dates and hardware limits.
- RSA-PSS vs PKCS#1 v1.5: which RSA signature paddingRSA-PSS vs PKCS#1 v1.5 signatures compared: security proofs, determinism, salt-length interop traps, TLS 1.3 and JOSE rules, X.509 identifiers and migration.
JOSE and JWT · 6 comparisons
- ES256 vs EdDSA (Ed25519) for JWTsES256 vs EdDSA (Ed25519) JWT signing compared: token and JWK sizes, RFC 9864 alg names, library and KMS support, encoding traps, determinism and key migration.
- HMAC vs digital signatures: shared secret or key pairHMAC vs digital signatures compared: trust model, who can forge, non-repudiation, key distribution, sizes, measured speed, what webhooks, JWTs and APIs need.
- HS256 vs RS256: shared-secret or public-key JWTsHS256 vs RS256 for JWTs: who can mint tokens, key distribution with JWKS, secret strength, algorithm confusion, token size and speed, and a safe migration path.
- JWK vs PEM: JSON keys or ASN.1 keysJWK vs PEM key formats compared: structure, members per key type, conversion in Node.js and OpenSSL, thumbprints vs SPKI fingerprints, and who expects which.
- JWS vs JWE: signed or encrypted JOSE tokensJWS vs JWE compared: integrity vs confidentiality, compact formats, alg and enc choices, measured token sizes, sign-then-encrypt, pitfalls, when TLS is enough.
- JWT vs PASETO: flexible standard or fixed-cryptography tokensJWT vs PASETO compared: algorithm negotiation versus versioned protocols, v4.public and v4.local, measured token sizes, ecosystem support, when a JWT is enough.
PKI and certificates · 6 comparisons
- CRL vs OCSP: how certificate revocation works in 2026CRL vs OCSP: privacy, availability, measured sizes, CA/Browser Forum rules, Let's Encrypt's OCSP shutdown, CRLite, stapling and short-lived certificates.
- DV vs OV vs EV certificates: what validation actually buysDV vs OV vs EV TLS certificates: what each validates, policy OIDs, browser display since 2019, automation, SC-081v3 reuse periods and when each is worth it.
- PEM vs DER: the same certificate in text or binaryPEM vs DER explained: what each encoding is, measured size difference, file extensions, which tools expect which, conversion commands and common load errors.
- PKCS#1 vs PKCS#8: BEGIN RSA PRIVATE KEY or PRIVATE KEYPKCS#1 vs PKCS#8 private keys: the PEM labels, OpenSSL 3 defaults, encrypted keys, SEC 1 EC keys, conversion commands and the library errors each causes.
- PKCS#12 (.pfx/.p12) vs PEM: bundling keys and certificatesPKCS#12 vs PEM compared: what a .pfx contains, OpenSSL 3 defaults versus -legacy, Windows, macOS and Java compatibility, conversion commands and import errors.
- Self-signed vs CA-signed certificates: when each one is rightSelf-signed vs CA-signed TLS certificates: how clients trust each, rotation, revocation, internal names, CT exposure, exact client errors and private CAs.
TLS · 3 comparisons
- AES-GCM vs ChaCha20-Poly1305: which AEAD to useAES-GCM vs ChaCha20-Poly1305 compared: throughput measured with and without AES hardware, nonce limits and reuse, side channels, FIPS status and TLS behavior.
- HTTP-01 vs DNS-01: choosing an ACME challengeHTTP-01 vs DNS-01 ACME challenges: what each proves, wildcards, IP addresses, ports, multi-perspective checks, DNSSEC, CNAME delegation, CAA and DNS-PERSIST-01.
- TLS 1.2 vs TLS 1.3: what changed and what to configureTLS 1.2 vs TLS 1.3 compared: handshake round trips, removed features, cipher suites, forward secrecy, 0-RTT, post-quantum key exchange and server settings.
Email · 2 comparisons
- DKIM vs SPF vs DMARC: what each one checks and why you need all threeDKIM vs SPF vs DMARC: what each authenticates, alignment, forwarding and mailing lists, lookup and key limits, RFC 9989 and Gmail, Yahoo and Microsoft rules.
- S/MIME vs OpenPGP: end-to-end email signing and encryption comparedS/MIME vs OpenPGP: trust models, key discovery, client support, measured signature sizes, S/MIME Baseline Requirements, RFC 9580, LibrePGP and post-quantum.
Web3 · 2 comparisons
- BIP-137 vs BIP-322: message signing for Bitcoin addressesBIP-137 vs BIP-322 Bitcoin message signing: address types, header bytes, virtual transactions, Taproot and multisig, verified test vectors and wallet support.
- EIP-191 vs EIP-712: personal_sign or typed data signaturesEIP-191 personal_sign vs EIP-712 typed data: what is hashed, what wallets display, domain separation, on-chain checks, permit risks and verified test vectors.
Post-quantum · 4 comparisons
- FN-DSA (Falcon) vs ML-DSA: compact or simple lattice signaturesFN-DSA (Falcon, draft FIPS 206) vs ML-DSA (FIPS 204): key and signature sizes, signing cost, floating-point implementation risks, standards status, use cases.
- ML-DSA vs ECDSA: moving signatures to post-quantumML-DSA vs ECDSA compared: quantum security, key, signature and certificate sizes measured in OpenSSL 3.6, speed, standards, WebPKI timelines and migration.
- ML-DSA vs SLH-DSA: lattice or hash-based post-quantum signaturesML-DSA (FIPS 204) vs SLH-DSA (FIPS 205): security assumptions, key and signature sizes, OpenSSL 3.6 speed, parameter sets, X.509 support, when to use each.
- X25519MLKEM768 vs X25519: post-quantum TLS key exchangeX25519MLKEM768 vs X25519 in TLS 1.3: what RFC 10024 specifies, key share and ClientHello sizes measured live, CPU cost, deployment status, how to enable it.
Identity and WebAuthn · 4 comparisons
- FIDO2 vs WebAuthn vs CTAP: how the passkey standards fit togetherFIDO2 vs WebAuthn vs CTAP explained: which layer each defines, who implements it, versions, transports, U2F legacy, attestation, a parsed Level 3 test vector.
- Passkeys vs passwords: phishing resistance, breaches and recoveryPasskeys vs passwords: what each proves, what the server stores, phishing and breach impact, NIST SP 800-63B-4 assurance levels, recovery and a migration path.
- SAML vs OIDC: choosing a single sign-on protocolSAML 2.0 vs OpenID Connect compared: XML signatures vs JWTs, metadata vs discovery, mobile and API support, signature wrapping, validation, logout, migration.
- SD-JWT VC vs mdoc: the two credential formats of digital walletsSD-JWT VC vs ISO mdoc compared: encoding, selective disclosure, holder binding, measured sizes, OpenID4VP and Digital Credentials API, EUDI Wallet rules.
Supply chain · 2 comparisons
- Sigstore vs GPG: signing software releases with or without long-lived keysSigstore vs GPG for release signing: keyless identity, key management, transparency logs, verification, ecosystem adoption and a live npm provenance bundle.
- SSH vs GPG commit signing in Git: which key should sign your commitsSSH vs GPG signing for Git commits and tags: setup, allowed_signers vs keyrings, expiry, revocation, hardware keys, GitHub and GitLab verification, migration.