弄清楚DL,D-H,CDH problem,CDH assumption,DDH,BDDH,BCDH

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38250032/article/details/81569547

       DL,D-H,CDH problem,CDH assumption,DDH,BDDH,BCDH。这几个英文缩写在密码学论文中很常见,多以汇总区分了一下,省去不必要的麻烦。

      1976年Diffie和Hellman首先实现了公钥密码学,提出了D-H密钥交换协议(事实上第一个公钥密码系统由英国密码学家Clifford Cocks构造,只是未公开

DLP,DDH,CDH

在《An Efficient Signature Scheme from Bilinear Pairings and Its Applications》这篇文献中,有关描述如下:

     We consider the following problems in the additive group (G1; +).
   – Discrete Logarithm Problem (DLP): Given two group elements P and Q, find an integer n ∈ Z∗ q, such that Q = n^P whenever such an integer exists.
    – Decision Diffie-Hellman Problem (DDHP): For a, b, c ∈ Z∗ q, given P, a^P, b^P, c^P decide whether c ≡ ab mod q.
    – Computational Diffie-Hellman Problem (CDHP): For a, b ∈ Z∗ q, given P, a^P, b^P, compute ab^P.
 

  • D-H(Diffie-Hellman密钥交换协议):基于DLP( 离散对数问题)的困难性。
  • DDH(Decisional Diffie-Hellman):给出任意(a,b,c), 有多项式时间算法能将(g^a,g^b,g^(ab)) 和(g^a,g^b,g^c)两者明显的区分开来。说白了就是区分ab和c,仍然是基于DL问题。
  • CDH(Computational Diffie-Hellman):这里有CDH问题和CDH猜想,引用另一篇文献中的描述:
  1.         Computational Diffie-Hellman problem (CDH problem):On random input ,computing 
  2.         Computational Diffie-Hellman assumption(CDH assumption):An algorithm that solves the computational Diffie-Hellman problem is a probabilistic polynomial time Turing machine, on input  , outputs   with non-negligible probability. Computational Diffie-Hellman assumption means that there is no such a probabilistic polynomial time Turing machine。

大致的意思,CDH问题就是给出任意的,求,目前当数值较大时很难计算,而这个问题就是基于DL(离散对数)问题的困难性;CDH猜想就是指不存在一个概率多项式时间图灵机能够解决CDH问题。

注:上面的描述中有一个词‘’probabilistic polynomial time Turing machine‘’,翻译为概率多项式时间图灵机与算法的时间复杂度有关,详细的解释可参照这篇文章:https://blog.csdn.net/qq_38250032/article/details/81586329

CDH问题又分为两种:

   There are two variations of CDHP:
– Inverse Computational Diffie-Hellman Problem (Inv-CDHP): For a ∈ Z∗q, given P, a^P, compute (a^-1)^ P.
– Square Computational Diffie-Hellman Problem (Squ-CDHP): For a ∈ Z∗q, given P, a^P, compute (a^2 )^P.

   上面这段描述也是摘自《An Efficient Signature Scheme from Bilinear Pairings and Its Applications》,大致意思是CDH问题又分为求逆CDH和求平方CDH,原理都一样,只是运算不一样而已。

  • 还有一种GDH,DDH很容易但CDH很难的就被称为GDH。

注:很多密码学协议都是建立在CDH和DDH不存在多项式时间算法的假设上的。

BDDH,BCDH

  • BDDH(bilinear decisional Diffie-Hellman):给出任意的(a,b,c,d), 有多项式时间算法能(g^a,g^b,g^c,g^(abc)) 和(g^a,g^b,g^c,g^d)两者区分开来。
  • BCDH(Bilinear Computational Diffie-Hellman problem ):任意选取(a,b,c),在多项式时间内计算出g^(abc)。

可以看出BDDH和BCDH比DDH和CDH多了一个变量,为什么要多加一个变量?

       因为,如果存在一个GxG ->G'(G,G'都是群)的双线性对的话, DDH问题是可以被快速解决的。所以就有了BDDH,在假设即使存在双线性对,BDDH问题仍然是难以计算的基础上设计密码学协议。

什么是双线性匹对?

       可以参照这篇文章:https://blog.csdn.net/qq_38250032/article/details/81624871

猜你喜欢

转载自blog.csdn.net/qq_38250032/article/details/81569547
CDH
今日推荐