签名加密(Signcryption):高效联合认证加密的原语与标准

密码学概念 · 2026-09-10

定义与动机

签名加密(Signcryption)是一种密码学原语,由 Anand 和 Koblitz 于 1996 年首次提出,旨在同时提供数字签名的认证性和公钥加密的机密性。在签名加密中,发送方产生一个签名加密文本(signedcryption),接收方仅能解密并验证该文本;任何第三方无法伪造有效签名加密文本,也无法从中提取消息内容。

传统方案采用"先签名后加密"(Sign-then-Encrypt)或"先加密后签名"(Encrypt-then-Sign)的两阶段模式,存在以下问题:

  • 计算冗余:两次独立操作导致约 40% 的额外计算开销
  • 带宽浪费:签名和密文分别传输,带宽消耗增加约 50%
  • 实现复杂度:需保证签名与加密操作的顺序一致性
签名加密通过共享随机数和耦合结构消除冗余,实现效率提升。

构造范式

通用构造框架

ISO/IEC 14888-3 定义了签名加密的通用框架,包含四个算法:

  • KeyGen:生成签名加密密钥对
  • Signcrypt:发送方生成签名加密文本
  • Unsigncrypt:接收方解密并验证
  • Verify:第三方验证签名有效性
安全性要求包括:

  • 不可区分性:对抗选择明文攻击(IND-SC-CPA)和选择密文攻击(IND-SC-CCA)
  • 不可伪造性:对抗外部攻击者(OU-SC-CMA)和内部攻击者(IU-SC-CMA)

基于配对的构造

早期签名加密方案多基于双线性配对,如 Boneh-Lundmark-Naor(BLN)方案:

CODE
发送方 A 到接收方 B:
1. 选取随机 r
2. 计算 U = [r]G₁(G₁ 为配对友好曲线的生成元)
3. 计算 V = e(U, Q_B) × H₂(m)  # 其中 Q_B 为 B 的公钥
4. 计算 W = [r]P_B  # P_B 为 B 公钥对应的曲线点
5. 计算 s = r + H₃(U, V, W) × d_A  # d_A 为 A 的私钥
6. 输出 σ = (U, V, W, s)

验证方程:

CODE
e(s·G₁ + H₃(U,V,W)·P_A, P₂) == e(U, Q_B) × H₂(m)

基于椭圆曲线的构造

实际工程中更多采用基于传统椭圆曲线的构造。Koblitz 和 Smart 提出了第一个非配对的签名加密方案,后续 Kim、Solinas 等研究者提出了兼容 SM2 曲线参数的 KSS 方案:

注意:上述为概念性描述,实际参数和运算顺序需严格遵循标准定义。生产实现应参考 ISO/IEC 14888-3 或相关国密标准。

安全性模型

IND-SC-CPA 安全性

不可区分性-选择明文攻击安全定义为:

  • 挑战者生成密钥对,泄露公钥
  • 对手获取公钥后提交两等长消息 m₀, m₁
  • 挑战者随机选取 b ∈ {0, 1},计算 σ* = Signcrypt(m_b)
  • 对手获得 σ*,尝试区分 b
  • 若对手优势可忽略,则方案安全

IND-SC-CCA 安全性

增强版安全性模型允许对手访问签名加密和解密预言机,挑战消息仍须满足不可查询条件。这是实际应用中的最低安全要求。

不可伪造性分析

签名加密需抵抗两类伪造:

  • 外部伪造:非目标用户伪造他人签名加密文本
  • 内部伪造:目标用户声称未发送某签名加密文本
ISO/IEC 14888 要求两种不可伪造性同时满足。

国密适配

SM2 签名加密方案

国密 SM2 算法本身支持签名和加密两个独立功能,但未原生提供签名加密原语。实现方案包括:

  • 基于 SM2 签名和 SM2 加密的耦合构造:共享随机数 k,消除冗余
  • 基于 SM9 标识密码的签名加密:利用 SM9 的标识特性简化密钥管理
示例代码(概念性伪实现,非生产代码):

注意:生产环境需使用符合 ISO/IEC 14888 或 GM/T 标准的签名加密实现,而非简单拼接签名和密文。

标准化进展

目前国密体系中尚无专门的签名加密标准,相关研究多参考 ISO/IEC 14888-3 或 ANSI X9.52 标准。未来可能在 GM/T 系列标准中纳入签名加密规范。

应用场景

电子邮件安全

S/MIME v2.0 引入了 Signcryption 扩展,支持高效邮件认证和加密。

物联网通信

资源受限设备可利用签名加密减少计算负担,特别适合低功耗广域网场景。

区块链智能合约

签名加密可用于高效的多签钱包和身份验证,减少链上交易数据量。

相关实践

参考资料

  • ISO/IEC 14888-3:2018 — Information technology — Security techniques — Digital signatures with appendix — Part 3: Signcryption mechanisms
  • Anand M, Koblitz N. "Efficiency of signcryption." In Workshop on the Theory and Application of Cryptographic Techniques, EUROCRYPT 1996.
  • Boneh D, Lundmark-Naor D. "Efficient schemes for bidirectional anonymous authenticated key exchange." International Journal of Information Security, 2004.
  • Kim K, Solinas J, et al. "Signcryption using elliptic curves." IACR Cryptology ePrint Archive, 2005/016.