Public-Key

如何修改橢圓曲線點?

  • September 11, 2022

再會。

我如何修改橢圓曲線點,如數字模?

數字範例,使用未知密鑰 5555555555 :

5555555555 % 2500 = 555

如何使用任何數學運算或程式碼包括更改曲線模數、calculatex 和 y 座標模數 5​​55 等從具有 privkey 5555555555 的 pubkey 獲取具有 privkey 555 的 pubkey?? ?

Q(5555555555) % 2500 = Q(55) 怎麼做?

請問有什麼意見嗎?

祝你有美好的一天

在標準橢圓曲線密碼學中,私鑰可以以生成點的順序為模減少,而無需更改匹配的公鑰。這個順序經常被注意到 $ n $ . 在問題的數字範例中,這將是 $ n=2500 $ . 然而,通常,選擇生成點使得 $ n $ 是素數。

在實際使用中, $ n $ 是曲線參數的一部分。這裡sec2-v2 是一個普通曲線的例子;數學的符號和簡要總結在 sec1-v2 中。

數學上, $ n $ 是橢圓曲線上的點的循環長度,通過添加(在這些點的意義上)生成點(從生成點開始,或從在無窮遠點處也已知的恆等點開始)。該方法僅適用於人為的小組。對於較大的,請參見例如這個問題


如何獲取私鑰的公鑰 $ 555 $ , 從公鑰和私鑰 $ 5555555555 $ 使用任何數學運算……

如果 $ n $ 是 $ 2500 $ ,或更一般地,如果 $ n $ 是一個除數 $ 5555555555-555 $ , 然後 $ 555\equiv5555555555\pmod n $ 並且兩個私鑰相同。

否則,仍然可以為私鑰計算公鑰 $ 555 $ 使用該私鑰、曲線和生成器參數以及用於點乘的標準算法,例如上述數學摘要中的算法。

Q(5555555555) % 2500 = Q(55) 怎麼做?

我們希望您不能這樣做(在大橢圓曲線上,並且不知道私鑰 5555555555 - 如果可以,那麼 ECC 已損壞。

畢竟,如果給你一個公共值 Q(x),並且如果你能做到這一點,你可以選擇一個較小的值 $ a $ 併計算 $ Q(x \bmod a) $ ; 您可以找到該點的離散對數,即 $ x \bmod a $ . 您可以對以下幾個相對質數的值執行此操作 $ a $ ,給你 $ x \bmod a, x \bmod b, …, x \bmod z $ . 從這些值中,很容易恢復 $ x $ ,從而從公共價值中恢復私人價值。

如果加上,即使你的mod操作被限制在2500,它仍然可以用來解決離散日誌問題;首先你計算 $ Q(X \bmod 2500) $ ; 您可以輕鬆解決離散日誌問題。然後,您計算 $ 2500^{-1} \times (Q(X) - Q(X \bmod 2500)) $ (在哪裡 $ \times $ 是點乘法,並且 $ 2500^{-1} $ 是模計算的 $ n $ (曲線的順序)。因為 $ X - (X \bmod 2500) $ 是 2500 的倍數,這是 $ Q(\lfloor X/2500 \rfloor) $ ; 我們可以重複這個過程並讀出 $ X $ 以 2500 為基數。

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