Elliptic-Curves

擴展扭曲 Edwards 座標中的統一加法公式是如何從仿射加法公式推導出來的?

  • September 21, 2022

我試圖理解 RFC8032 第 5.1.4 節中的點添加,它引用了論文“Twisted Edwards Curves Revisited”(https://eprint.iacr.org/2008/522.pdf)來描述他們執行扭曲 Edwards 的快速方式具有較少反轉的曲線加法。

我正在閱讀這篇論文,直到我到達圖(5)下第 3.1 節中的陳述,它說擴展座標的統一加法公式以某種方式從圖(1)中的仿射加法公式推導出來。我一生都無法理解公式$$ X_3:=:\left(X_1Y_2:+:Y_1X_2\right)\left(Z_1Z_2-dT_1T_2\right) $$

可以從公式中得出$$ X_3:=:\frac{\left(X_1Y_2:+:Y_1X_2\right)}{\left(1+dT_1T_2\right)} $$ 即使使用擴展座標,並將每個 X1 或 Y1 除以 Z1。誰能向我解釋他們的推導?

要將擴展的扭曲 Edwards 座標轉換為擴展的投影座標,需要除以

$$ X_3 = (X_1Y_2 + Y_1X_2)(Z_1Z_2 − d T_1T_2) $$

經過

$$ Z3 = (Z_1Z_2 − d T_1T_2)(Z_1Z_2 + d T_1T_2) $$

$$ \begin{align}\frac{X_3}{Z_3} & = \frac{(X_1Y_2 + Y_1X_2)\color{red}{(Z_1Z_2 − d T_1T_2)}}{\color{red}{(Z_1Z_2 − d T_1T_2)}(Z_1Z_2 + d T_1T_2)} & \text{//cancels}\[1.5ex] & = \frac{(X_1Y_2 + Y_1X_2)}{(Z_1Z_2 + d T_1T_2)}\[1.5ex] & = \frac{\frac{(X_1Y_2 + Y_1X_2)}{\color{blue}{Z_1Z_2}}}{\frac{(Z_1Z_2 + d T_1T_2)}{\color{blue}{Z_1Z_2}}} & \text{//divide by } Z_1Z_2 \tag{1}\label{lab1}\[1.5ex] & = \frac{\frac{\color{green}{X_1}Y_2}{\color{green}{Z_1}Z_2} + \frac{Y_1X_2}{Z_1Z_2} } {\frac{Z_1Z_2}{Z_1Z_2} + \frac{d T_1T_2}{Z_1Z_2} } & { use } X/Z \to Z, Y/Z \to Z\[1.5ex] & = \frac{(X_1Y_2 + Y_1X_2)}{(1 + d T_1T_2)} \end{align} $$

步 $ \ref{lab1} $ 是令人困惑的步驟,座標仍然在擴展扭曲的愛德華茲座標中需要翻譯。

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