DH问题汇总

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

DLP(Discrete Logarithm Problem)#

离散对数问题就是:
n阶加法群(G,+)中,给出两个群元素P,Q,求整数n[0,n1],满足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[0,n1]是困难的,满足Q=Pn
比如:原始的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是一个素数,(G1,+)是一个n阶加法群(单位元是),(GT,)是一个n阶乘法群(单位元是1),定义:

e:G1×G1GT

满足以下条件:
(1)(bilinearity)对于任意的R,S,TG1,有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)1
(3)(computability)e是可计算的

性质#

双线性对有以下性质:
(1)e(S,)=1e(,S)=1
(2)e(S,T)=e(T,S)=e(S,T)1
(3)e(aS,bT)=e(S,T)ab,对于a,bZ
(4)e(S,T)=e(T,S)
(5)如果e(S,R)=1,对于所有的RG1,则S=

由双线性对性质产生一个引理:

G1上的DLP可以规约到GT上的DLP

例如:(P,Q)G1上的一个DLP实例,其中Q=xP,那么e(P,Q)=e(p,xP)=e(P,P)x,所以logPQ=loggh,其中g=e(P,P),h=e(P,Q)GT上的元素。
Q=xP问题变成了g=hx问题

而很多基于双线性对协议的安全性是BDHP。

BDHP#

e是一个双线性映射在(G1,GT)上,该问题可描述为:给出P,aP,bP,cP,计算e(P,P)abc是困难的,其中其中a,b,cZ

BDHP依赖于DHP在G1GT上的困难性。

若DHP在G1上能解决(即给出aP,bP,可以计算出abP),则可以通过计算abP,然后计算e(abP,cP)=e(P,P)abc,从而解决BDHP。
同样若对于GT上能解决(即给出g,gab,gc,可以计算出gabc),则可以计算g=e(P,P),gab=e(aP,bP),gc=(P,P)abc,然后计算出gabc,从而解决BDHP。

BDDHP(bilinear decisional Diffie-Hellman Problem)#

e是一个双线性映射在(G1,GT)上,该问题可描述为:给出P,aP,bP,cP,区分e(P,P)abce(P,P)d是困难的,其中a,b,c,dZ

DDHP(Decision Diffie-Hellman Problem)#

(在加法群上)e是一个双线性映射在(G1,GT)上,该问题可描述为:给出P,aP,bP,cP,区分e(P,P)abe(P,P)c是困难的,其中a,b,cZ

如果给出G1上的四元组P,aP,bP,cP,使得cP=abP,即r1=e(P,cP)c,r2=e(aP,bP)ab,若r1=r2,这样DDHP可以解决。
否则,不能!

CDHP(Computational Diffie-Hellman Problem)#

(在加法群上)e是一个双线性映射在(G1,GT)上,该问题可描述为:给出P,aP,bP,,求e(P,P)ab是困难的,其中a,bZ

CDHP又分为两种:

Inv-CDHP(Inverse Computational Diffie-Hellman Problem)#

求逆:对于aZq, 给出P,Pa,计算Pa1是困难的.

Squ-CDHP(Square Computational Diffie-Hellman Problem)#

求平方:对于aZq, 给出P,Pa,计算Pa2是困难的.

BCDHP(Bilinear Computational Diffie-Hellman problem )#

任意选取(a,b,c),在多项式时间内计算出gabc是困难的

GHP群(Gap Diffie-Hellman group)#

在一个群中,DDHP是容易的但CDHP很难的就被称为GDH。通过双线性对(bilinear pairing),我们可以得到GDH群,这种群在有限域上的supersingular 椭圆曲线或者hyperelliptic 椭圆曲线上可以找到,双线性对来自Weil 或者 Tate pairing。

可以看出BDDHP和BCDHP比DDHP和CDHP多了一个变量,为什么要多加一个变量?

因为,如果存在一个GxGGGG都是群)的双线性对的话, DDH问题是可以被快速解决的。所以就有了BDDH,故即使存在双线性对,BDDH问题仍然是难以计算的。

参考#

1、An Efficient Signature Scheme from Bilinear Pairings and Its Applications
2、An Introduction to Pairing-Based Cryptography学习笔记
3、An Introduction to Pairing-Based Cryptography
4、DL,D-H,CDH problem,CDH assumption,DDH,BDDH,BCDH

作者:Hang Shao

出处:https://www.cnblogs.com/pam-sh/p/16224674.html

版权:本作品采用「知识共享」许可协议进行许可。

声明:欢迎交流! 原文链接 ,如有问题,可邮件(mir_soh@163.com)咨询.

posted @   PamShao  阅读(2691)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu