Discrete-Logarithm

尋找有多難一世一世i在四分五裂一世G=g↑↑i=GG⋅⋅⋅G一世≡v反對磷一世G=G↑↑一世=GG⋅⋅⋅G⏟一世≡在反對磷^{i}g = guparrow uparrow i = underbrace{g^{g^{cdotcdotc…

  • February 25, 2022

編輯:我搞砸了一些東西(請參閱答案中的評論)。此問題包含一些虛假陳述 EditEnd。

對於四分模素數 $ P $ $$ ^{i}g = g\uparrow \uparrow i = \underbrace{g^{g^{\cdot\cdot\cdot^{g}}}}_i\equiv v \mod P $$ 有合適的 $ g,P $ 以便 $$ |{^jg \mod P}| = P-1 \text{ }\text{ , or }\text{ } v\in[1,P-1] $$

給定 $ P,g,v $ , 找到相關的有多難 $ i $ ?

比 DLP 更難?(發現 $ i $ 為了 $ g^i \equiv v \mod P $ )

我對步數感興趣( $ O $ 符號)。

為了將其與正常的 DLP 問題進行比較,我們假設一步 - 所以 $ g^c $ 和 $ g\cdot c $ 與常數 $ c $ 確實需要同樣的時間。


獲取所有值 $ v $ 變數 $ g,P $ 需要一些特殊屬性: $$ ^{P-1}g \equiv 1 \mod P $$ $$ \forall j \in [1,N-2]: \text{ }^{j}g \not\equiv 1 \mod P $$ 我們還假設 $ g,P $ 盡可能安全地挑選(例如 $ P = 2q+1 $ , 和 $ q $ 素數(這裡也更好?))


玩具範例:

和 $ P=5, g=3 $ 順序是 $$ \begin{split} &[3, 3^3, 3^{3^3}, 3^{3^{3^3}}] \mod 5 \ \equiv&[3, 3^3\equiv 2, 3^{2} \equiv 4, 3^{4} \equiv 1] \mod 5 \ \equiv&[3, 2, 4, 1] \mod 5 \end{split} $$

或者 $ P=23, g=20 $ 或者 $ P=59, g=39 $


主要問題:

  • 計算需要多少步 $ i $ 超出給定的 $ v,g,P $ ?

附帶問題:

  • 計算結果需要多少步 $ v $ 給定的 $ i,g,P $ ? 比…快 $ O(i) $ ?
  • 如果一個值 $ v_i $ 對於某個 $ i $ 已知下一個值 $ v_{i+1} $ 可以用計算$$ ^{i+1}g \equiv g^{v_{i}} \equiv v_{i+1} \mod P $$ 是否也可以計算 $ v_{i-1} $ 在……之外 $ v_{i} $ ? 還是類似於 DLP?

對於給定的 $ g\in\mathbb N $ 最多會有 $ O(\log P) $ 不同滴定模數 $ P $ . 因此只有少數例子 $ |{{}^jg\mod P}|=P-1 $ . 在其他情況下,如果四分法模 $ P $ 可以有效地計算,那麼問題很容易通過窮舉來解決。

了解小尺寸 $ |{{}^jg\mod P}| $ , 注意對於 if $ P $ 不分 $ g $ 那麼對於 $ i\ge 1 $ 由歐拉定理$$ {}^ig\equiv g^{{}^{i-1}g}\equiv g^{{}^{i-1}g\mod{\phi(P)}}\pmod P. $$ 我們現在註意到 $ {}^{i-1}g\mod{\phi(P)} $ 最多承擔 $ \phi(\phi(P)) $ 不同的值,這些循環最多有周期 $ \phi(\phi(P)) $ . 由此可見,對於 $ i\ge 1 $ , $ {}^ig\mod P $ 承擔最多 $ \phi(\phi(P)) $ 價值觀。迭代參數 write $ \phi_k(x) $ 為了 $ k $ -迭代的totient函式 $ \phi_1(x)=\phi(x) $ , $ \phi_k(x)=\phi(\phi_{k-1}(x)) $ . 然後我們看到 $ i\ge k $ , $ {}^{i-k}g\mod{\phi_k(P)} $ 最多承擔 $ \phi_{k+1}(P) $ 不同的值,因此對於 $ i\ge k $ , $ {}^ig\mod P $ 承擔最多 $ \phi_{k+1}(P) $ 價值觀。這裡有一些關於細節的省略 $ g $ 有一個共同的因素 $ \phi_k(P) $ .

現在,我們注意到對於所有人 $ n>2 $ 我們有 $ 2|\phi(n) $ 這對所有人 $ m $ 我們有 $ \phi(2m)\le m/2 $ . 它遵循 $ \phi_k(P)\le P/2^{k-1} $ . 也因為 $ \phi_k(P) $ 是一個整數,對於 $ k>\lceil\log_2P\rceil+1 $ 我們有 $ \phi_k(P)=1 $ . 因此,如果我們寫 $ L=\lceil\log_2P\rceil+1 $ 我們有 $ i,j>L $ $ {}^ig\equiv{}^jg\pmod P $ .

計算四分法可以通過平方和乘法方法完成,前提是可以計算所有 $ \phi_k(P) $ .

引用自:https://crypto.stackexchange.com/questions/98825