Elliptic-Curves
curve25519 鍵可以和 ed25519 鍵一起使用嗎?
Curve25519鍵可以和ed25519一起使用嗎?
我更喜歡使用 ed25519,但沒有快速的 java 版本。對於我的應用程序,我想使用curve25519,直到我可以獲得更快的java ed25519。
如果可以轉換ed25519,至少可以限制curve25519鍵嗎?
Trevor Perrin寫了一個庫來做這件事。解釋可以在曲線郵件列表檔案中找到。
轉換 Curve25519 公鑰XC $ x_C $ 進入 Ed25519 公鑰是和 $ y_E $ , Ed25519 符號位為0 $ 0 $ : 是和=XC−1XC+1反對2255−19
$$ y_E = \frac{x_C - 1}{x_C + 1} \mod 2^{255}-19 $$ Ed25519 私鑰可能需要調整以匹配0 $ 0 $ :如果將 Curve25519 私鑰乘以 Ed25519 基點產生“負” Ed25519 x 座標,則私鑰必須以基點的順序取反:一種和=q−一種C $ a_E = q - a_C $ . 請參閱 Trevor Perrin 的電子郵件和隨後的執行緒以進行安全分析。