BDH问题记录

概念:

多项式时间:在计算复杂度理论中,指的是一个问题的计算时间 m ( n ) m(n) m(n)不大于问题大小 n n n的多项式倍数。任何抽象机器都拥有一复杂度类,此类包括可于此机器以多项式时间求解的问题。 m ( n ) = O ( n k ) m(n) = O({n^k}) m(n)=O(nk)

离散对数问题:已知有限循环群 G = < g > = g k ∣ k = 0 , 1 , 2... G=={g^k|k=0,1,2...} G=<g>=gkk=0,1,2...及其生成元 g g g和阶 k k k.

  1. 给定整数a,计算元素 g a = h g^a=h ga=h容易
  2. 给定元素h,计算整数 g a = h g^a=h ga=h非常困难

但是离散对数问题需要注意的是这里并没有指定是加法循环群还是乘法循环群,其实加法循环群一样是有离散对数问题的。但是加法群在表达上就会有一点点变化,当加法群的话就不再是 g k g^k gk,而是 k g kg kg,因为这里我们进行一个通用的理解就是k个g进行点运算,而点运算在加法群中对应的就是+号,在乘法群中对应的就是*号。

DL问题(离散对数问题)input P , Q ; ( 找 到 满 足 Q = a ⋅ P ) P,Q;(找到满足Q=a \cdot P) PQ(Q=aP)output:a;那么问题就是要求出output:a

判定D2Hinput P , a P , b P , c P P,aP,bP,cP P,aP,bP,cPoutput:yes or no(判定是否满足ab==c的情况)

计算D2Hinput P , a P , b P P,aP,bP P,aP,bPoutput: a b P abP abP

BDH问题
定义:就是线性DH问题,将线性与DH问题进行结合,主要还是DH问题,结合以下就能够进行理解。

  1. 计算BDH:输入 P , a P , b P , c P P,aP,bP,cP P,aP,bP,cP;输出 e ( P , P ) a b c ∈ G 2 e{(P,P)^{abc}} \in {G_2} e(P,P)abcG2

    1. CBDH问题的困难性基于CBDH假设.G为BDH参数生成器,对于充分大的k,算法A解决关于G的CBDH问题具有的优势 A d v G , A ( k ) Adv_{G,A}(k) AdvG,A(k)为:
      Pr ⁡ [ ⟨ q , G 1 , G 2 , e ⟩ ← G ( 1 k ) P ← G 1 ∗ ; a , b , c ← Z q ∗ A ( q , G 1 , G 2 , e ∗ , a P , b P , c P ) = e ( P , P ) a b c ] \operatorname{Pr}\left[\begin{array}{l} \left\langle q, G_{1}, G_{2}, e\right\rangle \leftarrow G\left(1^{k}\right) \\ P \leftarrow G_{1}^{*} ; a, b, c \leftarrow Z_{q}^{*} \\ A\left(q, G_{1}, G_{2}, e^{*}, a P, b P, c P\right)=e(P, P)^{a b c} \end{array}\right] Prq,G1,G2,eG(1k)PG1;a,b,cZqA(q,G1,G2,e,aP,bP,cP)=e(P,P)abc
  2. 判定BDH:输入 ( P , a P , b P , c P , a b c P ) (P,aP,bP,cP,abcP) (P,aP,bP,cP,abcP) P , a P , b P , c P , μ P P,aP,bP,cP,\mu P P,aP,bP,cP,μP,其中 a , b , c , μ , P a,b,c,\mu,P a,b,c,μ,P均为随机的,输出yes或者no。yes就表示由 μ P \mu P μP确实与 a b c P abcP abcP不同或者相等.

    1. DBDH问题的困难于DBDH假设.G为BDH参数生成器,对于充分大的k,算法A解决关于G的DBDH问题具有的优势 A d v G , A ( k ) Adv_{G,A}(k) AdvG,A(k)为:

    Pr ⁡ [ ⟨ q , G 1 , G 2 , e − ⟩ ← G ( 1 k ) P ← G 1 ∗ ; a , b , c + Z q ∗ A ( q , G 1 , G 2 , e ∗ , a P , b P , c P , a b c P ) = 1 ] − [ ⟨ q , G 1 , G 2 , e ⟩ ← G ( 1 k ) P ← G 1 ∗ ; a , b , c , μ ← Z q ∗ A ( q , G 1 , G 2 , e ′ , a P , b P , c P , μ P ) = 1 ] \operatorname{Pr}\left[\begin{array}{c} \left\langle q, G_{1}, G_{2}, e^{-}\right\rangle \leftarrow G\left(1^{k}\right)\\P \leftarrow G_{1}^{*} ; a, b, c+Z_{q}^{*} \\ A\left(q, G_{1}, G_{2}, e^{*}, a P, b P, c P, a b c P\right)=1\end{array}\right] - \left[\begin{array}{c}\left\langle q, G_{1}, G_{2}, e\right\rangle \leftarrow G\left(1^{k}\right) \\ P \leftarrow G_{1}^{*} ; a, b, c, \mu \leftarrow Z_{q}^{*} \\ A\left(q, G_{1}, G_{2}, e^{\prime}, a P, b P, c P, \mu P\right)=1\end{array}\right] Prq,G1,G2,eG(1k)PG1;a,b,c+ZqA(q,G1,G2,e,aP,bP,cP,abcP)=1q,G1,G2,eG(1k)PG1;a,b,c,μZqA(q,G1,G2,e,aP,bP,cP,μP)=1

你可能感兴趣的:(安全基础知识)