对比表格:数字签名方案、密钥交换协议、密码学协议、后量子密码学——密码学基础

十月 28, 2025 [网络与安全] #obsidian #协议与标准 #安全 #密码学

对比表格:数字签名方案、密钥交换协议、密码学协议、后量子密码学——密码学基础

这一部分作为了解吧,前几章有代码,可以深入学习一下。


一、数字签名方案

数字签名是现代信息安全体系中的基石,它为数字通信提供了身份验证、数据完整性和不可否认性。想象一下,在物理世界中,你用独特的笔迹签署文件;在数字世界中,数字签名扮演着类似角色,但提供了更强的安全保障。

1.1 ECDSA:基于椭圆曲线的数字签名算法

椭圆曲线数字签名算法(ECDSA)是一种使用椭圆曲线密码学的数字签名方案。与传统的RSA签名相比,ECDSA能够提供相同的安全强度,但使用更短的密钥长度。

工作原理:

  1. 密钥生成:选择一条椭圆曲线和基点G,生成私钥d(随机数)和公钥Q=d×G
  2. 签名生成:计算消息哈希,使用私钥和随机数k生成签名对(r,s)
  3. 签名验证:使用发送者的公钥验证签名的有效性

应用场景:

优势:

工具与实现:

1.2 EdDSA:Edwards曲线数字签名算法

EdDSA (Edwards-curve Digital Signature Algorithm) 是一种基于扭曲Edwards曲线的数字签名算法,最著名的实现是Ed25519。

工作原理:

  1. 密钥生成:从私钥种子导出扩展私钥,计算公钥
  2. 签名生成:使用确定性方法(无需随机数生成器),降低实现错误风险
  3. 签名验证:验证签名与消息和公钥的关系

主要特点:

应用场景:

工具与库:

1.3 RSA-PSS:带有概率签名方案的RSA

RSA-PSS (Probabilistic Signature Scheme) 是RSA签名的一种现代变体,增加了随机性元素,提高了安全性。

技术细节:

  1. 使用掩码生成函数(MGF)添加随机性
  2. 对消息进行盐化处理,使得即使相同消息的多次签名也会产生不同结果
  3. 包含严格的数学证明,满足选择性伪造攻击下的安全性

应用场景:

优势与劣势:

实现工具:

1.4 数字签名方案对比

特性ECDSAEdDSARSA-PSS
安全级别(等效位长)256位255位3072位
签名大小64字节64字节384字节
签名速度快非常快慢
验证速度中等快快
随机数需求高质量随机数(关键)不需要(确定性)需要盐值
数学基础椭圆曲线离散对数扭曲Edwards曲线大数分解
量子抵抗性弱弱弱
实现复杂度中等低(简单)高
标准化状态FIPS 186-4, SEC1RFC 8032PKCS#1 v2.2, RFC 8017

二、密钥交换协议

密钥交换是现代加密通信的基础环节,它解决了一个根本问题:如何在不安全的通道上安全地建立共享密钥。这些协议允许通信双方在没有预共享秘密的情况下,协商出一个双方都知道但窃听者无法获取的共同密钥。

2.1 Diffie-Hellman密钥交换

Diffie-Hellman密钥交换(DH)是第一个公开的密钥交换协议,由Whitfield Diffie和Martin Hellman于1976年提出,是现代密码学的里程碑。

工作原理:

  1. 双方共享两个公共参数:一个大素数p和一个基数g
  2. Alice生成私钥a,计算公钥A = g^a mod p,并发送A给Bob
  3. Bob生成私钥b,计算公钥B = g^b mod p,并发送B给Alice
  4. Alice计算共享密钥 K = B^a mod p
  5. Bob计算共享密钥 K = A^b mod p
  6. 两者得到相同的密钥K = g^(ab) mod p

安全基础: 基于离散对数问题的困难性。即使攻击者知道p、g、A和B,计算私钥a或b在计算上仍然不可行。

应用场景:

局限性:

实现工具:

2.2 ECDH:椭圆曲线Diffie-Hellman密钥交换

ECDH是Diffie-Hellman密钥交换的椭圆曲线变体,提供了相同的功能,但有更高的效率和安全性。

技术细节:

  1. 双方共享椭圆曲线参数和基点G
  2. Alice生成私钥a,计算公钥A = aG(椭圆曲线点乘)
  3. Bob生成私钥b,计算公钥B = bG
  4. Alice计算共享点 S = aB
  5. Bob计算共享点 S = bA
  6. 两者得到相同的点S = abG,通常使用S的x坐标作为共享密钥

优势:

应用场景:

常用曲线:

工具与库:

2.3 量子抗性密钥交换协议:CRYSTALS-Kyber

随着量子计算的发展,传统的密钥交换协议面临风险。CRYSTALS-Kyber是NIST后量子密码标准化进程中的获胜者,提供了对抗量子计算攻击的密钥封装机制(KEM)。

工作原理:

  1. 基于格密码学中的模块学习带错误问题(MLWE)
  2. 使用多项式运算而非大数或椭圆曲线运算
  3. 包含独特的噪声采样和错误校正机制

技术特点:

优势与挑战:

标准化状态:

实现工具:

2.4 密钥交换协议对比

特性Diffie-HellmanECDH (Curve25519)CRYSTALS-Kyber
公钥大小256-512字节32字节800-1568字节
私钥大小256字节32字节1632-3168字节
计算效率低高中等
带宽需求高低高
数学基础离散对数问题椭圆曲线离散对数模块化学习带错误
量子抵抗性无无强
成熟度非常成熟成熟新兴
典型应用传统VPNTLS 1.3, Signal后量子TLS (实验)
安全等级128位 (3072位参数)128位128-256位

三、密码学协议

密码学协议整合了各种密码学原语(如加密、签名、密钥交换)来实现特定的安全目标。这些协议是现代安全通信和数据交换的基础。

3.1 TLS 1.3:传输层安全协议

TLS (Transport Layer Security) 1.3是互联网安全通信的基石,于2018年标准化,替代了旧版本TLS和过时的SSL协议。

核心创新:

  1. 简化握手:将加密协商减少到1-RTT(往返时间)
  2. 0-RTT恢复:允许客户端在首个消息中发送加密数据
  3. 前向安全性:即使长期密钥泄露,过去会话仍受保护
  4. 删除了不安全的算法:如RC4、DES、3DES、SHA-1等
  5. 强制加密所有握手消息:增强隐私保护

技术细节:

应用场景:

实现工具:

3.2 Signal协议:端到端加密通信

Signal协议是现代端到端加密即时通信的黄金标准,由Open Whisper Systems开发,提供了一系列强大的安全属性。

关键特性:

  1. 前向安全性:即使私钥泄露,过去的通信仍然安全
  2. 后向安全性(又称"未来安全性"):即使当前密钥泄露,未来通信仍然安全
  3. 抵抗重放、中间人和会话操纵攻击
  4. 隐藏元数据:最小化敏感通信模式泄露

技术组件:

工作流程:

  1. 注册:用户生成身份密钥对、签名预密钥和一批一次性预密钥
  2. 初始协商:使用X3DH建立初始共享密钥
  3. 会话维护:通过Double Ratchet算法定期更新密钥
  4. 消息传递:使用派生密钥加密消息,确保安全属性

应用产品:

实现库:

3.3 IKEv2:互联网密钥交换协议

IKEv2 (Internet Key Exchange version 2) 是IPsec VPN的关键组件,负责认证VPN对等体并建立安全关联(SA)。

协议功能:

  1. 相互认证:确保连接双方身份
  2. 密钥协商:安全生成共享密钥
  3. 建立安全关联:定义IPsec通信参数
  4. 支持NAT穿越:解决网络地址转换问题
  5. 快速恢复:提高移动设备连接可靠性

技术细节:

应用场景:

主要实现:

3.4 密码学协议对比

特性TLS 1.3Signal协议IKEv2
主要用途Web安全、API通信即时消息加密VPN隧道建立
握手往返次数1-RTT (0-RTT恢复)异步/非交互式2-RTT
前向安全性支持强支持(每消息)支持(可选)
后向安全性不支持支持不支持
认证方法证书、PSK身份密钥+指纹验证PSK、证书、EAP
密钥协商(EC)DHEX3DH+Double Ratchet(EC)DHE
协议复杂度中等高高
故障恢复能力中等强强
部署普及度极高高(即时通讯)高(企业VPN)
标准化IETF RFC 8446开放规范IETF RFC 7296

四、后量子密码学

后量子密码学(PQC)是为了应对量子计算威胁而发展的新型密码学分支。量子计算机一旦实用化,将能通过Shor算法快速破解RSA、ECC等传统密码系统。后量子密码学提供了能够抵抗量子计算攻击的替代方案。

4.1 基于格的密码学

格密码学是后量子密码学中最成熟、应用最广泛的分支,基于格中的硬问题。

NTRU

NTRU是最早的实用格基加密系统之一,基于多项式环中的格问题。

技术原理:

  1. 使用两个小系数多项式作为私钥
  2. 公钥是这两个多项式的商在特定环中的表示
  3. 加密通过与随机多项式的组合实现
  4. 解密使用私钥多项式执行逆运算

优势:

应用场景:

实现工具:

CRYSTALS-Kyber

Kyber是NIST后量子密码标准化过程中的获胜者,采用模块化学习带错误(MLWE)问题。

技术特点:

  1. 模块化设计:更高效的实现和验证
  2. 可调参数集:根据安全需求和性能平衡
  3. CCA2安全:抵抗自适应选择明文攻击

应用前景:

实现状态:

4.2 基于哈希的密码学:SPHINCS+

SPHINCS+是一种无状态哈希基签名方案,仅依赖哈希函数的安全性,不需要额外的密码学假设。

关键技术:

  1. 超树结构:使用多层默克尔树
  2. 少量签名:减少签名大小和生成时间
  3. FORS(Forest of Random Subsets):提高安全性和效率

优缺点:

适用场景:

实现工具:

4.3 基于多变量多项式的密码学:Rainbow

Rainbow是一种多变量公钥密码系统,基于多变量二次方程组求解的困难性。

技术细节:

  1. 油和醋结构:特殊结构使签名生成高效
  2. 多层设计:平衡安全性和效率
  3. 小签名尺寸:相比其他后量子方案优势明显

安全状态:

研究价值:

4.4 基于超椭圆曲线同源系统的密码学:SIKE

SIKE (Supersingular Isogeny Key Encapsulation) 基于超奇异椭圆曲线同源图的计算困难性。

原理概述:

  1. 使用超奇异椭圆曲线的同源映射
  2. 公钥是曲线变换的结果
  3. 私钥是产生特定同源的整数
  4. 共享秘密通过计算特殊曲线上的j-不变量获得

技术特点:

安全状态:

研究意义:

4.5 后量子密码学方案对比

特性NTRUCRYSTALS-KyberSPHINCS+RainbowSIKE
密码类型加密/KEMKEM签名签名KEM
数学基础格问题模块化格问题哈希函数多变量方程同源图
公钥大小699-1230字节800-1568字节32-64字节~60KB~330字节
密文/签名大小699-1230字节768-1568字节~17-50KB~33字节~330字节
运算速度快快慢中等非常慢
标准化状态备选NIST第一轮选定NIST第一轮选定已淘汰已淘汰
安全状态安全安全安全已攻破已攻破
实现成熟度高中高中中中
主要优势长期研究效率与安全平衡保守安全假设小签名尺寸小密钥尺寸
主要劣势参数选择复杂相对新大签名尺寸安全问题已被攻破