概念:
多项式时间:在计算复杂度理论中,指的是一个问题的计算时间 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 g^k gk,而是 k g kg kg,因为这里我们进行一个通用的理解就是k个g进行点运算,而点运算在加法群中对应的就是+号,在乘法群中对应的就是*号。
DL问题(离散对数问题):input
: P , Q ; ( 找 到 满 足 Q = a ⋅ P ) P,Q;(找到满足Q=a \cdot P) P,Q;(找到满足Q=a⋅P);output
:a;那么问题就是要求出output
:a
判定D2H:input
: P , a P , b P , c P P,aP,bP,cP P,aP,bP,cP;output
:yes or no(判定是否满足ab==c的情况)
计算D2H:input
: P , a P , b P P,aP,bP P,aP,bP;output
: a b P abP abP
BDH问题:
定义:就是线性DH问题,将线性与DH问题进行结合,主要还是DH问题,结合以下就能够进行理解。
计算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)abc∈G2
判定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不同或者相等.
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] Pr⎣⎡⟨q,G1,G2,e−⟩←G(1k)P←G1∗;a,b,c+Zq∗A(q,G1,G2,e∗,aP,bP,cP,abcP)=1⎦⎤−⎣⎡⟨q,G1,G2,e⟩←G(1k)P←G1∗;a,b,c,μ←Zq∗A(q,G1,G2,e′,aP,bP,cP,μP)=1⎦⎤