参考资料
对比
共 40 篇对比,对比开发者常需取舍的算法、格式、令牌和协议,每篇都给出结论和差异对照表,并在关键之处附上实测数据。
签名 · 9 篇对比
- 确定性 ECDSA vs 随机化 ECDSA:RFC 6979、随机与对冲 nonceECDSA nonce 的三种生成方式——随机、确定性(RFC 6979)和对冲(hedged):失效模式、故障攻击、测试,以及 OpenSSL、Python、Node 和 noble 中各库的默认行为。
- ECDSA vs EdDSA:签名该选 P-256 还是 Ed25519ECDSA 与 EdDSA 对比:nonce 处理、延展性、密钥与签名大小、实测速度、硬件与协议支持、标准化状态,以及如何迁移密钥。
- ECDSA vs Schnorr 签名:Taproot 带来了哪些变化在 secp256k1 上对比 ECDSA 与 Schnorr:数学原理、线性与多重签名、延展性、公钥恢复、大小、批量验证,以及各自的应用场景。
- Ed25519 vs Ed448:128 位还是 224 位 EdDSAEd25519 与 Ed448 对比:安全强度、密钥与签名大小、实测速度、SHA-512 与 SHAKE256、上下文,以及两者如今各自在哪里受支持。
- Ed25519 vs RSA 密钥:生成 SSH 密钥该选哪种Ed25519 与 RSA 在 SSH 和签名中的对比:密钥与签名大小、实测速度、OpenSSH 默认值、rsa-sha2 与 ssh-rsa、平台兼容缺口,以及如何轮换密钥。
- P-256 vs P-384:什么情况下值得用 192 位 ECDSAP-256 与 P-384 对比:128 位与 192 位安全强度,密钥、签名与证书大小,OpenSSL 实测速度,CNSA 与 WebPKI 的要求,以及如何迁移。
- P-256 vs secp256k1:两条 256 位曲线,两个生态系统P-256 与 secp256k1 对比:曲线参数与来历、安全强度、OpenSSL 和 JavaScript 中的实测速度、平台支持,以及 low-S 与公钥恢复规则。
- RSA-2048 vs RSA-4096:密钥长度、速度与2030年期限RSA-2048 与 RSA-4096(以及 3072)对比:安全强度,实测的签名、验证和密钥生成速度,密钥与签名大小,NIST 弃用日期和硬件限制。
- RSA-PSS vs PKCS#1 v1.5:RSA 签名该用哪种填充RSA-PSS 与 PKCS#1 v1.5 签名对比:安全性证明、确定性、盐长度带来的互操作陷阱、TLS 1.3 与 JOSE 的规则、X.509 标识符以及迁移方法。
JOSE 与 JWT · 6 篇对比
- ES256 vs EdDSA(Ed25519):JWT 签名该选哪种用于 JWT 签名时 ES256 与 EdDSA(Ed25519)的对比:令牌与 JWK 的大小、RFC 9864 规定的 alg 名称、库与 KMS 的支持情况、编码陷阱、确定性以及密钥迁移。
- HMAC vs 数字签名:共享密钥还是密钥对HMAC 与数字签名对比:信任模型、谁能伪造消息、不可否认性、密钥如何分发、标签与签名的大小、实测速度,以及 Webhook、JWT 和 API 各自该选哪一种方案。
- HS256 vs RS256:JWT 用共享密钥还是公钥JWT 中 HS256 与 RS256 的对比:谁能签发令牌、如何通过 JWKS 分发公钥、共享密钥的强度、算法混淆攻击、令牌大小与运算速度,以及一条安全的迁移路径。
- JWK vs PEM:JSON 密钥还是 ASN.1 密钥JWK 与 PEM 密钥格式对比:结构、每种密钥类型包含哪些成员、如何在 Node.js 和 OpenSSL 中转换、JWK 指纹与 SPKI 指纹的区别,以及哪些软件需要哪种格式。
- JWS vs JWE:JOSE 令牌该签名还是加密JWS 与 JWE 的对比:完整性与机密性、紧凑格式、alg 和 enc 的选择、实测令牌大小、先签名后加密的做法、常见陷阱,以及什么情况下只用 TLS 就已足够。
- JWT vs PASETO:灵活的标准还是固定密码算法的令牌JWT 与 PASETO 对比:算法协商与版本化协议,v4.public 和 v4.local,实测令牌大小,生态系统支持,以及什么情况下用 JWT 就够了。
PKI 与证书 · 6 篇对比
- CRL vs OCSP:2026年证书吊销如何运作CRL vs OCSP:隐私、可用性、实测大小、CA/Browser Forum 规则、Let's Encrypt 关闭 OCSP、CRLite、OCSP Stapling 以及短期证书。
- DV vs OV vs EV 证书:不同验证级别到底带来了什么DV vs OV vs EV TLS 证书:各自验证什么、策略 OID、2019年以来浏览器的显示方式、自动化、SC-081v3 规定的复用期限,以及各自何时值得选用。
- PEM vs DER:同一张证书的文本形式与二进制形式PEM 与 DER 详解:两种编码各是什么、实测的大小差异、文件扩展名、哪些工具需要哪种格式、转换命令以及常见的加载错误。
- PKCS#1 vs PKCS#8:BEGIN RSA PRIVATE KEY 还是 PRIVATE KEYPKCS#1 与 PKCS#8 私钥对比:PEM 标签、OpenSSL 3 的默认格式、加密私钥、SEC 1 EC 私钥、转换命令,以及各自引发的库错误。
- PKCS#12(.pfx/.p12)vs PEM:打包密钥与证书PKCS#12 与 PEM 对比:.pfx 文件包含什么,OpenSSL 3 的默认算法与 -legacy,在 Windows、macOS 和 Java 上的兼容性,转换命令以及导入错误。
- 自签名证书 vs CA 签发的证书:各自适用的场景自签名与 CA 签发的 TLS 证书对比:客户端如何信任、轮换、吊销、内部名称、CT 日志暴露、各客户端的确切报错,以及私有 CA。
TLS · 3 篇对比
- AES-GCM vs ChaCha20-Poly1305:该选哪种 AEADAES-GCM 与 ChaCha20-Poly1305 对比:有无 AES 硬件加速时的实测吞吐量、nonce 上限与重用、侧信道、FIPS 认可状态以及在 TLS 中的表现。
- HTTP-01 vs DNS-01:如何选择 ACME 挑战类型HTTP-01 与 DNS-01 两种 ACME 挑战的对比:各自能证明什么,以及通配符、IP 地址、端口、多视角验证、DNSSEC、CNAME 委托、CAA 记录和 DNS-PERSIST-01。
- TLS 1.2 vs TLS 1.3:有哪些变化,该如何配置TLS 1.2 与 TLS 1.3 对比:握手往返次数、被移除的功能、密码套件、前向保密、0-RTT、后量子密钥交换以及服务器设置。
电子邮件 · 2 篇对比
Web3 · 2 篇对比
后量子 · 4 篇对比
- FN-DSA(Falcon)vs ML-DSA:格签名选紧凑还是简单FN-DSA(Falcon,FIPS 206 草案)与 ML-DSA(FIPS 204)对比:密钥与签名的大小、签名的计算开销、浮点实现带来的风险、标准化状态,以及各自的适用场景。
- ML-DSA vs ECDSA:把签名迁移到后量子密码ML-DSA 与 ECDSA 对比:抗量子安全性,OpenSSL 3.6 实测的密钥、签名与证书大小,速度,标准,WebPKI 时间表,以及如何迁移。
- ML-DSA vs SLH-DSA:基于格还是基于哈希的后量子签名ML-DSA(FIPS 204)与 SLH-DSA(FIPS 205)对比:安全假设,密钥与签名大小,OpenSSL 3.6 中的速度,参数集,X.509 支持,以及各自的适用场景。
- X25519MLKEM768 vs X25519:后量子 TLS 密钥交换TLS 1.3 中的 X25519MLKEM768 与 X25519 对比:RFC 10024 规定了什么、实时测得的密钥共享与 ClientHello 大小、CPU 开销、当前部署情况,以及如何启用。
身份与 WebAuthn · 4 篇对比
- FIDO2 vs WebAuthn vs CTAP:通行密钥标准如何相互配合FIDO2、WebAuthn 与 CTAP 的区别详解:各自定义的是哪一层、由谁来实现、版本、传输方式、U2F 的遗留问题、证明,以及一个解析后的 Level 3 测试向量。
- 通行密钥 vs 密码:抗钓鱼、数据泄露与账号恢复通行密钥与密码对比:各自证明什么、服务器存储什么、钓鱼和数据泄露的影响、NIST SP 800-63B-4 保证级别、账号恢复以及迁移路径。
- SAML vs OIDC:单点登录协议该选哪个SAML 2.0 与 OpenID Connect 对比:XML 签名与 JWT、元数据与发现文档、移动端和 API 支持、签名包装、令牌校验、登出以及迁移。
- SD-JWT VC vs mdoc:数字身份钱包的两种凭证格式SD-JWT VC 与 ISO mdoc 对比:编码、选择性披露、持有者绑定、实测大小、OpenID4VP 与 Digital Credentials API,以及 EUDI 钱包的规则。