安全归约(3)签名方案

学习目标

  • 《Introduction to Security Reducion》
  • Foundations of Group-Based Cryptography

安全归约(第二讲)_哔哩哔哩_bilibili

群论密码学是现代密码学的核心分支,其安全性基于抽象代数中群结构的计算困难性问题。以下是其核心内容体系:

核心困难性问题:

本章介绍群密码学(Group-Based Cryptography)的数学基础,包括有限域、群结构、双线性配对三类代数工具,以及哈希函数。

一、哈希函数

根据安全性定义,哈希函数可以分为以下两种主要类型:

散列函数根据输出空间可以分为以下三种重要类型,其中输入可以是任意字符串:

二、如何伪造新消息的签名

(针对不安全的签名方案)

2.1 方案1进行伪造

对于任意新消息 m',可以构造:
\sigma' _m=(g^\alpha )^{m'}=(g^{\alpha m})^{m'/m}=\sigma _m ^ {m'/m}

2.2 方案2进行伪造

对于任意新消息 m':
\sigma _m' = g^{\alpha }g^{m'} = pk · g^{m'}

2.3 方案3进行伪造

已知:

  • σ₁ = α + m₁β mod p
  • σ₂ = α + m₂β mod p

σ₁ - σ₂ = β(m₁ - m₂) mod p

解得:

  • β = (σ₁ - σ₂) × (m₁ - m₂)⁻¹ mod p
  • α = σ₁ - m₁β mod p

2.4 方案4进行伪造

提取关键信息

  • 从签名\sigma_m=(A,B)=(g^{\alpha \beta +mr},g^r)中,可以计算:
  • g^{\alpha \beta }=AB^{-m}=g^{\alpha \beta+mr}g^{-mr}=g^{\alpha \beta}

构造伪造签名:

  • 任选r' \in \mathbb{Z}_p
  • 计算B'=g^{r'}
  • 计算A'=g^{\alpha \beta }B'^{m'}=g^{\alpha \beta}g^{m'r'}=g^{\alpha \beta+m'r'}
  • 伪造的签名为\sigma _m' = (A', B')

2.5 方案5进行伪造

r' = r·(m/m'),则:

B' = g^{r'}= g^{r·(m/m')} = B^{m/m'}

A'=g^{\beta(\alpha+m'r')}=g^{\beta\alpha+\beta m'(rm/m')}=A

伪造签名:\sigma _m' = (A, B^{m/m'})

2.6 方案6进行伪造

目标是计算 \sigma_{m'}=g^{\frac{1}{\alpha\cdot m'}}
可以通过对 \sigma _m​ 进行指数调整来实现:

\sigma _{m'}=\sigma_m^{\frac{m}{m'}}=g^{\frac{1}{\alpha \cdot m}\frac{m}{m'}}=g^{\frac{1}{\alpha \cdot m'}}

这样,我们成功利用 \sigma _m和 m 的信息伪造了 m' 的签名。

三、对不安全签名方案的安全加固建议

  • 是否所有消息都经过哈希处理?
  • 是否包含不可预测的随机数?
  • 签名方程是否非线性?
  • 是否通过形式化安全证明?
  • 是否使用标准密码学库实现?

3.1 引入密码学哈希函数

所有消息必须经过哈希处理:σₘ = f(α, H(m))

示例:σₘ = g^(α+H(m)) mod p

作用:打破消息与签名的线性关系

3.2 必须添加随机性

每个签名需包含唯一随机数:σₘ = (r, f(α,m,r))

示例:Schnorr签名 σₘ = (gʳ, α·H(m||gʳ)+r)

作用:防止代数关系攻击

end...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值