Elliptic-Curves
橢圓曲線 - 除以 2
誰能告訴我將橢圓曲線上的一個點除以 2 的具體方程和步驟?
例如,我有一點 $ (P_x, P_y) $ ,我想找到重點 $ (R_x, R_y) $ 當產量翻倍時 $ (P_x, P_y) $ .
有人建議我使用點倍增方程並求解,但我正在尋找具體的方程和步驟,也許是對該主題的徹底討論的參考。
謝謝你的時間。
編輯:我的印像是所有曲線的步驟都相同。在這種情況下,我試圖在 secp256k1 曲線上進行。
有兩種策略可以做你想做的事。
第一個是找到組順序 $ q $ 然後計算 $ i=2^{-1}\bmod q $ . 然後當你乘以你的觀點 $ P $ 經過 $ i $ 你得到 $ Q=[i]P $ 和 $ [2]Q=[2i]P=[(2\cdot 2^{-1})\bmod q]P=P $ 如預期的。這種一般策略適用於任何有限群(只要 $ q $ 甚至不是),並很快被 fgrieu 在評論中指出。
第二種方式如下:
- 找出曲線的方程。對於 secp256k1 這是 $ y^2=x^3+ax+b $ 又名“短魏爾斯特拉斯形式”。
- 轉到顯式公式數據庫並選擇相關曲線。
- 將仿射倍增方程插入您最喜歡的求解代數方程的工具中,並告訴它求解左側的座標。
- 您現在應該會收到一個結果。因為在進行轉換時所有欄位都是相等的,所以您可以採用生成的公式並“輕鬆”將其轉換為在您的有限欄位上工作。