密码学08——可证明安全

身份基密码体制

背景

  • PKI公钥密码体制的问题

    • 发送者必须拥有接收者的证书
    • 证书管理和CRL的复杂性
    • 安全性悖论
      • 证书数据库被暴露给组织/机构
  • 身份基公钥密码体制的优势

    • 针对未准备用户的密码学
    • 公钥是用户身份的某些属性,例如电子邮件地址,电话号码或生物识别数据
    • 发件者只需知道接收者的身份属性即可发送加密邮件
    • 接收者在收到加密邮件之后才需要与系统交互。
  • 1984年由Shamir提出

    • Shamir提出了一个身份基签名(Identity-based signature, IBS) 的工作系统,但没有提出身份基加密(Identity-based encryption, IBE) 的系统
  • 第一个身份基加密的系统由Boneh和Franklin在2001提出,该系统基

  • 于Weil配对

  • 密码学当前热门课题

    • Adi Shamir: Identity-Based Cryptosystems and Signature Schemes, CRYPTO 1984: 47-53 Citations:7479 Dan Boneh, Matthew K. Franklin, Identity-Based Encryption from the Weil Pairing. CRYPTO 2001: 213-229 Citations:8336

身份基密码体制运行模式

![[身份基密码体制运行模式.png]]

![[身份基密码体制运行模式IBS.png]]

数学基础

  1. 离散对数问题(Discrete Logarithm Problem)
    • 对于乘法群 \(Z^{*}_{p}\),给定 \(r,q,p\),寻找整数 \(k\),使得\(r=q^{k}\mod{p}\)
    • 许多密码体制的基础
  2. 标量乘法(Scalar multiplication)
    • \(P,2P,3P=2P+P,4P=3P+P,\dots,kP\)
  3. 椭圆曲线上的离散对数问题(ECDLP)
    • 给定 \(P,Q\),寻找整数 \(k\),使得 \(kP=Q\)
  4. 双线性映射(Bilinear map)
    • 映射\(e:G_{1}\times G_{1}\rightarrow G_{2}\)
    • \(\forall P,Q\in G_{1},\forall a,b\in Z,e(aP,bP)=e(P,Q)^{ab}\)
  5. Weil配对(Weil Pairing)
    • 双线性映射
      • \(G_{1}\) 是椭圆曲线 \(F_{p}\) 上的点的群
      • \(G_{2}\)\(F^{*}_{p^{2}}\) 的一个子群
  6. 高效可计算
    • 米勒算法(Miller's algorithm)
  • 本文中的椭圆曲线群
    • \(p,q\)是素数,\(p=2\mod{3},p=6q-1\)
    • \(E\)是由 \(F_{p}\)\(y^{2}=x^{3}+1\) 定义的椭圆曲线
    • \(G_{q}\) 是由 \(P\in \frac{E}{F_{p}}\)生成的阶数 \(q=\frac{p+1}{6}\) 的群
  • 改进的Weil配对
    • \(\hat{e}:G_{q}\times G_{q}\rightarrow \mu_{q}\)
    • \(\mu_{q}\)\(F^{*}_{p^{2}}\) 的子群,包含所有的 \(q\) 阶元素
    • 非退化:\(\hat{e}(P,P)\in F_{p^{2}}\)\(\mu_{q}\) 的生成元
  • Weil Diffie-Hellman Assumption (WDH)
    • 给定 \(\left< P,aP,bP,cP \right>\),其中随机选择 \(a,b,c\in Z^{*}_{q},P\in \frac{E}{F_{p}}\),计算 \(W=\hat{e}(P,P)^{abc}\in F_{p^{2}}\)
    • \(p\) 是随机 \(k\) 位素数时,不存在一个算法可以在概率多项式时间内解决WDH问题。
  • MapToPoint算法
    • 将任意字符串 \(ID\in \left\{ 0,1 \right\}^{*}\) 转换为一个 \(q\) 阶的点 \(Q_{ID}\in \frac{E}{F_{p}}\)
    • 哈希函数 \(G:\left\{ 0,1 \right\}^{*}\rightarrow F_{p}\)
    • 步骤:
      • \(y_{0}=G(ID),x_{0}=(y_{0}^{2}-1)^{1/3}\)
      • \(Q=(x_{0},y_{0})\in \frac{E}{F_{p}},Q_{ID}=66Q\)
    • 无冲突
    • 防篡改

Boneh-Franklin身份基加密算法

初始化(Setup):

  • 使用已定义的椭圆曲线群
  • 选择 \(q\) 阶的 \(P\in \frac{E}{F_{p}}\)
  • 选择随机 \(s\in Z^{*_{q}}\) 并设置 \(P_{pub}=sP\)
  • 选择哈希函数
    • \(H:F_{p^{2}}\rightarrow \left\{ 0,1 \right\}^{n}\)
    • \(G:\left\{ 0,1 \right\}^{*}\rightarrow F_{p}\)
  • 消息空间 \(M=\left\{ 0,1 \right\}^{n}\), 密文空间为 \(C=\frac{E}{F_{P}}\times \left\{ 0,1 \right\}^{n}\)
  • 系统参数是 \(\left< p,n,P,P_{pun},G,H \right>\)。 主密钥是 \(s\)

密钥生成(Extract) :

  • 使用MapToPoint将 \(ID\) 映射到点 \(Q_{ID}\)
  • \(ID\) 对应的私钥是 \(d_{ID}=sQ_{ID}\)

加密(Encrypt)

  • 使用MapToPoint将 \(ID\) 映射到点 \(Q_ID\)
  • 选择随机 \(r\in Z_{q}\)
  • \(C=\left< rP,M\oplus H(g^{r}_{ID}) \right>\),其中 \(g_{ID}=\hat{e}(Q_{ID},P_{pub})\)

解密(Decrypt)

  • Decrypt \(C=\left< U,V \right>\)

    • 如果 \(U\) 不是 \(q\) 阶的点,则拒绝密文。
    • 否则,\(M=V\oplus H(\hat{e}(d_{ID},U))\)
  • [?] 为什么 能够被回复?

\[\begin{array}{c} \hat{e}(d_{ID})=\hat{e}(sQ_{ID},rP)=\hat{e}(Q_{ID},P_{pub}^{r}=g^{r}_{ID})=g^{r}_{ID} \\ V\oplus H(\hat{e}(d_{ID},U))=M\oplus H(g^{r}_{ID})\oplus H(g^{r}_{ID})=M \end{array} \]

可证明安全性与Elgamal加密方案简介

密码游戏与规约

密码游戏

![[密码游戏.png]]

\(Pr[CH 输出 1]=negl=>密码游戏是安全的\)

  • [!] 几乎所有的计算性的假设和安全性都能用密码游戏来表示

\[\begin{array}{c} G 1的可证明安全性:基于G2证明G1的安全性\\ \Uparrow\\ G 2安全\Longrightarrow G1安全\\ \Uparrow\\ G 1不安全\Longrightarrow G2不安全\\ \Uparrow\\ 存在敌手攻破G1\Longrightarrow存在敌手攻破 G2\\ \end{array} \]

规约

规约通常指的是一种将问题 A 转化为问题 B 的技术。如果能够证明在一定条件下,问题 A 的求解能够通过解决问题 B 来实现,那么问题 A 就被认为是“至少和问题 B 同样困难”或者说问题 A 可以归约到问题 B。这种方法在密码学中被用来 证明某个密码系统的安全性推导某个算法的抗攻击能力

![[规约.png]]![[规约2.png]]

posted @   seveN1foR  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示