1. AES-GCM、ChaCha20-Poly1305 在 TLS 1.3、QUIC、WireGuard 中的 AEAD 模式与工程取舍?
AES-GCM、ChaCha20-Poly1305 在 TLS 1.3、QUIC、WireGuard 中的 AEAD 模式与工程取舍是什么?
- 两种 AEAD 的硬件与软件性能
- 各协议对 AEAD 的选型
- 网络性能与 CPU 指令集
二者都是 AEAD,同时提供机密性与完整性。AES-GCM 依赖 AES-NI 硬件加速,在有 AES-NI 的 x86/服务器上性能极佳;ChaCha20-Poly1305 是纯软件 ARX 实现,在无 AES-NI 或 SIMD 受限的设备(特别是 ARM 移动端)上性能更好且更抗时序侧信道。TLS 1.3 与 QUIC 都同时支持两者,由客户端与服务器协商选择;WireGuard 选择了 ChaCha20-Poly1305,因为它目标平台多样、软件实现高效、且无 AES-NI 的移动/嵌入式设备上优势明显。
工程取舍集中在"硬件加速可用性"与"软件跨平台性能"。协议层同时支持两种 AEAD 是 crypto-agility 的体现,让端点在适配其硬件能力的前提下选择最优。