CDH、HDH、IDH、DDH、BDH、DBDH假设的概念

Computational Diffie-Hellman Assumption
G G G: finite cyclic group of order n
Comp. DH (CDH) assumption holds in G G G if: g , g a , g b ⇏ g a b g, g^a, g^b ⇏ g^{ab} g,ga,gbgab

for all efficient algs. A:
P r [ A ( g , g a , g b ) = g a b ] < n e g l i g i b l e Pr[ A(g, g^a, g^b)=g^{ab} ] < negligible Pr[A(g,ga,gb)=gab]<negligiblewhere g g g ← {generators of G G G}, a , b ← Z n a, b ← Z_{n} a,bZn

实际上CDH对于分析ElGamal系统的安全性并不理想,接着引入一个稍微更强一点的假设:Hash Diffie-Hellman假设。


Hash Diffie-Hellman Assumption
G: finite cyclic group of order n,
H: G2→ K a hash function
Def: Hash-DH (HDH) assumption holds for (G, H) if:

( g , g a , g b , H ( g b , g a b ) ) ≈ p ( g , g a , g b , R ) (g, g^a, g^b, H(g^b, g^{ab})) ≈_{p} (g, g^a, g^b, R) (g,ga,gb,H(gb,gab))p(g,ga,gb,R)
where g g g ← {generators of G G G}, a , b ← Z n a, b ← Z_{n} a,bZn R ← K R ← K RK

( g , g a , g b , H ( g b , g a b ) ) (g, g^a, g^b, H(g^b, g^{ab})) (g,ga,gb,H(gb,gab)) ( g , g a , g b , R ) (g, g^a, g^b, R) (g,ga,gb,R)这两个分布是不可区分的。那么这个假设是说,在ElGamal系统中,对称加密时推出的密钥,本质上与一个真随机密钥不可区分,这个真随机密钥是根据系统中余下的参数推出的,是一个独立的真随机密钥看起来和我们使用的密钥几乎一样。我们使用的密钥是根据 g a g^a ga g b g^b gb推出的。

这个哈希Diffie-Hellman假设实际上比CDH假设要强,证明的方法是看逆否命题,即假设CDH假设在群G上容易解决,那么我宣布,哈希Diffie-Hellman假设也是容易解决的。事实上,对于G和H,这是成立的,事实上,对于所有的哈希函数,若哈希函数的像含有两个元素,如果所有的哈希函数把一切都映射到一个点,这对于哈希Diffie-Hellman假设是容易的,对于所有哈希函数都成立。

CDH is easy ⇒ HDH is easy in ( G , H ) ∀ H , ∣ I m ( H ) ∣ ≥ 2. (G, H) \quad ∀H, |Im(H)|≥2. (G,H)H,Im(H)2.

这意味着,有了 g a g^a ga, g b g^b gb,我可以计算 g a b g^{ab} gab。因为我知道哈希函数H,我完全可以计算这里的值。那么如果你给我一组左边的样本,或是右边的样本,我都可以轻松地分辨其来源。如果它取自左边,那么我一旦自己计算 g a b g^{ab} gab,我就可以测试组里的最后一个元素是否就是 g b g^b gb g a b g^{ab} gab的哈希值。如果是,我就知道了这个样本是取自左边的;如果不是,我就知道是取自右边的。那么这给了我很高的优势来区分这两个分布,所以CDH容易的话,非常容易就能看出这些分布是可区分的。这就是说,如果哈希Diffie-Hellman实际上很难解决,那么CDH也将是很难的,因此哈希Diffie-Hellman假设是一个更强的假设。可能会有CDH,但HDH不困难。

事实上哈希Diffie-Hellman假设,足以证明EIGamal系统的语义安全了。


Interactive Diffie-Hellman assumption
为了证明选择的密文安全性需要更强的
Interactive Diffie-Hellman (IDH) in group G:
在这里插入图片描述

但是在IDH假设中,会赋予攻击者稍微多一点的能力,那么因为攻击者能力更强更难满足这个假设,这也是为什么我们说这个假设比计算Diffie-Hellman还强。那赋予的能力是什么? 进行询问的能力。特别地,攻击者可以提交中的两个元素,那么u1,v1是群G中的一对元素,然后他被告知(u1)a是否等于v1。如果(u1)a等于v1,他会得到1,否则他会得到0。是个有点怪异的询问攻击者呢?但实际上我们可以给攻击者回答这类请求,为了能够证明选择密文安全性。事实上攻击者可以一次次地进行这类询问,那么他可以进行提交尽可能多的像这样的询问,然后这个假设是说,尽管有所有这些询问,攻击者依然无法解出Diffie-Hellman密钥,就是说尽管做出了这么多的询问,攻击者正确输出Diffie-Hellman密钥的概率依然是可忽略的。那么很明显如果这个假设成立,则CDH假设也成立。


Decisional Diffie-Hellman assumption
DDH假设指的是区分元组 ( g , g a , g b , g a b ) (g, g^a, g^b, g^{ab}) (g,ga,gb,gab) ( g , g a , g b , g z ) (g, g^a, g^b, g^z) (g,ga,gb,gz)是困难的,其中 g g g是生成元, x , y , z x,y,z xyz是随机的。

设G是阶为大素数 q q q的群, g g g G G G的生成元, x , y , z ← R Z q x,y,z ← _{R}Z_{q} xyzRZq,则以下两个分布是计算上不可区分的:

  • 随机四元组 R = ( g , g x , g y , g z ) ∈ G 4 R=(g, g^x, g^y, g^z)∈G_{4} R=(g,gx,gy,gz)G4
  • DDH四元组 D = ( g , g x , g y , g x y ) ∈ G 4 D=(g, g^x, g^y, g^{xy})∈G_{4} D=(g,gx,gy,gxy)G4

是计算上不可区分的,称为DDH假设。

具体地说一个敌手A,A区分R和D的优势:
A d v A D D H ( κ ) = ∣ P r [ A ( R ) = 1 ] − P r [ A ( D ) = 1 ] ∣ < n e g l i g i b l e Adv_{A}^{DDH}(\kappa)=|Pr[A(R)=1]-Pr[A(D)=1]|<negligible AdvADDH(κ)=Pr[A(R)=1]Pr[A(D)=1]<negligible

其中 κ \kappa κ是安全参数。

在密码学中,安全性参数是测量计算问题的输入大小的变量,用来确定加密方案密钥的长度。 加密算法,协议的资源要求或对手破坏安全性的概率都以安全参数表示。


Bilinear Diffie-Hellman
BF方案的安全性是基于CDH问题的一种变形,称为计算性双线性DH假设。
Bilinear Diffie-Hellman简称BDH,计算性双线性问题:
指给定 ( P 、 a P 、 b P 、 c P ) ( ( a , b , c ) ∈ Z q ∗ ) (P、aP、bP、cP)((a, b, c)∈Z_{q}^*) (PaPbPcP)((a,b,c)Zq),计算 w = e ^ ( P , P ) a b c ∈ G 2 w=\hat e(P, P)^{abc}∈G_2 w=e^(P,P)abcG2,其中 e ^ \hat e e^是一个双线性映射, P P P G 1 G_1 G1的生成元, G 1 G_1 G1 G 2 G_2 G2是阶为素数q的两个群。设算法A用来解决BDH问题,其优势定义为 τ \tau τ,如果 P r ∣ A ( P 、 a P 、 b P 、 c P ) = e ^ ( P , P ) a b c ∣ ≥ τ Pr|A(P、aP、bP、cP)=\hat e(P, P)^{abc}|≥\tau PrA(PaPbPcP)=e^(P,P)abcτ目前还没有有效的算法解决BDH问题,因此可假设BDH问题是一个困难问题,这就是BDH假设。


Decisional Bilinear Diffie-Hellman
DBDH 假设:

  1. 给定阶为素数 p p p的乘法群 G 1 G_{1} G1 G 2 G_{2} G2
  2. 随机选择生成元 g ∈ G 1 g∈G_{1} gG1和随机数 c 1 , c 2 , c 3 ∈ Z p c_{1},c_{2},c_{3}∈Z_{p} c1c2c3Zp
  3. g , g c 1 , g c 2 , g c 3 , e ( g , g ) c 1 c 2 c 3 g, g^{c_{1}}, g^{c_{2}}, g^{c_{3}}, e(g, g)^{c_{1}c_{2}c_{3}} g,gc1,gc2,gc3,e(g,g)c1c2c3 T ∈ G 2 T∈G_{2} TG2发给 A \mathcal{A} A
  4. e ( g , g ) c 1 c 2 c 3 e(g, g)^{c_{1}c_{2}c_{3}} e(g,g)c1c2c3判定 T T T是否等于 e ( g , g ) c 1 c 2 c 3 e(g, g)^{c_{1}c_{2}c_{3}} e(g,g)c1c2c3,若相等, A \mathcal{A} A输出1;否则输出0。

定义算法 A \mathcal{A} A 解决上述问题的优势是:
A d v D B D H = ∣ P r [ A ( g , g c 1 , g c 2 , g c 3 , e ( g , g ) c 1 c 2 c 3 ) = 1 ] − P r [ A ( g , g c 1 , g c 2 , g c 3 , T ) = 1 ] ∣ Adv^{DBDH}=|Pr[\mathcal{A}(g, g^{c_{1}}, g^{c_{2}}, g^{c_{3}}, e(g, g)^{c_{1}c_{2}c_{3}})=1]-Pr[\mathcal{A}(g, g^{c_{1}}, g^{c_{2}}, g^{c_{3}}, T)=1]| AdvDBDH=Pr[A(g,gc1,gc2,gc3,e(g,g)c1c2c3)=1]Pr[A(g,gc1,gc2,gc3,T)=1]
如果没有多项式时间算法以不可忽略的优势解决DBDH假设,则我们就称DBDH假设在群 G 1 , G 2 G_{1},G_{2} G1G2中是成立的。

  • 11
    点赞
  • 88
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值