您的位置:首页 > 其它

DH问题汇总

2022-05-05 14:37 190 查看

本节内容主要学习有关DH的假设问题:

##DLP(Discrete Logarithm Problem) 离散对数问题就是: 在$n$阶加法群$(G,+)$中,给出两个群元素$P,Q$,求整数$n\in [0,n-1]$,满足$Q=nP$

DLP在某些群上计算是困难的,比如有限域上的乘法群(the multiplicative group of a finite field)和有限域上的椭圆曲线点群(the group of points on an elliptic curve defined over a finite field)。 具体如下: (1)乘法群 在$n$阶乘法群$(G,*)$中,给出两个群元素$P,Q$,求整数$n\in [0,n-1]$是困难的,满足$Q=P^n$ 比如:原始的ElGamal加密算法。详细,请见:ElGamal算法

(2)椭圆曲线

即椭圆曲线上的离散对数问题(ECDLP)

取一条椭圆曲线,给出$P,Q$,找出一个整数$x$是困难的,使其满足$P=xQ$(椭圆曲线上的倍乘)。 例如:基于椭圆曲线的ElGamal加密算法。

##DHP(Diffie-Hellman Problem) 已知$P,aP,bP$,求$abP$。 基于该问题设计了DH密钥交换协议,具体请参考:计算困难假设(Computational hardness assumption)DH密钥交换 在多项式时间内,DHP可以规约为DLP,以及在某些情况下,DLP也可以规约为DHP。

##BDHP(bilinear Diffie-Hellman Problem) ###双线性对 设$n$是一个素数,$(G_1,+)$是一个$n$阶加法群(单位元是$\infty$),$(G_T,*)$是一个$n$阶乘法群(单位元是1),定义:

满足以下条件: (1)(bilinearity)对于任意的$R,S,T\in G_1$,有$e(R+S,T)=e(R,T)e(S,T)$和$e(R,S+T)=e(R,S)e(R,T)$ (2)(non-degeneracy)$e(P,P)\neq 1$ (3)(computability)$e$是可计算的 ####性质 双线性对有以下性质: (1)$e(S,\infty)=1$和$e(\infty,S)=1$ (2)$e(S,-T)=e(-T,S)=e(S,T)^{-1}$ (3)$e(aS,bT)=e(S,T)^{ab}$,对于$a,b\in Z$ (4)$e(S,T)=e(T,S)$ (5)如果$e(S,R)=1$,对于所有的$R\in G_1$,则$S=\infty$ 由双线性对性质产生一个引理: > $G_1$上的DLP可以规约到$G_T$上的DLP 例如:$(P,Q)$是$G_1$上的一个DLP实例,其中$Q=xP$,那么$e(P,Q)=e(p,xP)=e(P,P)^x$,所以$log_PQ=log_gh$,其中$g=e(P,P),h=e(P,Q)$是$G_T$上的元素。 即$Q=xP$问题变成了$g=h^x$问题 而很多基于双线性对协议的安全性是BDHP。 ###BDHP $e$是一个双线性映射在$(G_1,G_T)$上,该问题可描述为:给出$P,aP,bP,cP$,计算$e(P,P)^{abc}$是困难的,其中其中$a,b,c\in Z$。 >BDHP依赖于DHP在$G_1$和$G_T$上的困难性。 若DHP在$G_1$上能解决(即给出$aP,bP$,可以计算出$abP$),则可以通过计算$abP$,然后计算$e(abP,cP)=e(P,P)^{abc}$,从而解决BDHP。 同样若对于$G_T$上能解决(即给出$g,g^{ab},g^c$,可以计算出$g^{abc}$),则可以计算$g=e(P,P),g^{ab}=e(aP,bP),g^c=(P,P)^{abc}$,然后计算出$g^{abc}$,从而解决BDHP。 ###BDDHP(bilinear decisional Diffie-Hellman Problem) $e$是一个双线性映射在$(G_1,G_T)$上,该问题可描述为:给出$P,aP,bP,cP$,区分$e(P,P)^{abc}$和$e(P,P)^d$是困难的,其中$a,b,c,d\in Z$。 ##DDHP(Decision Diffie-Hellman Problem) (在加法群上)$e$是一个双线性映射在$(G_1,G_T)$上,该问题可描述为:给出$P,aP,bP,cP$,区分$e(P,P)^{ab}$和$e(P,P)^c$是困难的,其中$a,b,c\in Z$。 如果给出$G_1$上的四元组$P,aP,bP,cP$,使得$cP=abP$,即$r_1=e(P,cP)^c,r_2=e(aP,bP)^{ab}$,若$r_1=r_2$,这样DDHP可以解决。 否则,不能! ###CDHP(Computational Diffie-Hellman Problem) (在加法群上)$e$是一个双线性映射在$(G_1,G_T)$上,该问题可描述为:给出$P,aP,bP,$,求$e(P,P)^{ab}$是困难的,其中$a,b\in Z$。 > CDHP又分为两种: ####Inv-CDHP(Inverse Computational Diffie-Hellman Problem) 求逆:对于$a ∈ Z_q^*$, 给出$P, P^a$,计算$P^{a^{-1}}$是困难的. ####Squ-CDHP(Square Computational Diffie-Hellman Problem) 求平方:对于$a ∈ Z_q^*$, 给出$P, P^a$,计算$P^{a^{2}}$是困难的. ####BCDHP(Bilinear Computational Diffie-Hellman problem ) 任意选取$(a,b,c)$,在多项式时间内计算出$g^{abc}$是困难的 ###GHP群(Gap Diffie-Hellman group) 在一个群中,DDHP是容易的但CDHP很难的就被称为GDH。通过双线性对(bilinear pairing),我们可以得到GDH群,这种群在有限域上的supersingular 椭圆曲线或者hyperelliptic 椭圆曲线上可以找到,双线性对来自Weil 或者 Tate pairing。 > 可以看出BDDHP和BCDHP比DDHP和CDHP多了一个变量,为什么要多加一个变量? 因为,如果存在一个$GxG\to G'$($G,G'$都是群)的双线性对的话, DDH问题是可以被快速解决的。所以就有了BDDH,故即使存在双线性对,BDDH问题仍然是难以计算的。 ##参考 1、An Efficient Signature Scheme from Bilinear Pairings and Its Applications 2、[An Introduction to Pairing-Based Cryptography学习笔记](https://blog.csdn.net/mutourend/article/details/105544862 "An Introduction to Pairing-Based Cryptography学习笔记") 3、[An Introduction to Pairing-Based Cryptography](https://www.math.uwaterloo.ca/~ajmeneze/publications/pairings.pdf "An Introduction to Pairing-Based Cryptography") 4、[DL,D-H,CDH problem,CDH assumption,DDH,BDDH,BCDH](https://blog.csdn.net/qq_38250032/article/details/81569547)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: