このサイトはお使いのブラウザでは正常に動作しません。Google Chromeなど、別のブラウザを使用してください。
楕円暗号について
有識者の方、ご教示いただけますと幸いです。
楕円暗号について勉強しています。要約するとエドワード曲線での加法公式を自分で導出したいが、計算結果が違う、そもそも導出の方法が合っているのか困っています。
モンゴメリ曲線または Curve25519($y^2 = Ax^3 + Bx^2 + Cx$)では加法は 2 点(P, Q)、曲線上の点 P, Q を通る直線とモンゴメリ曲線の交点を R' とする。$P + Q$ は R' を x 軸対象に対称移動(y 座標を反転)させれば良いとのことでした。しかし、楕円暗号としてよく使用されるものは Ed25519 であり、実際に使用されるのは Curve25519 ではなく Edwards 曲線が使用されるとのことです。いろいろ調べてみたのですが、この Edwards 楕円曲線における加法は「〜の公式で与えられる」としか書いておらず導出がある本・サイトはないでしょうか。
また、[Wikipedia](https://en.wikipedia.org/wiki/Edwards_curve#:~:text=Addition%20on%20Edwards%20curves,-Sum%20of%20two&text=When%20an%20elliptic%20curve%20is,passes%20through%20P%20and%20Q.)から、エドワード曲線上の点 $P(x_1, y_1), Q(x_2, y_2) , (0, -1)$ の 3 点を通る曲線とエドワード曲線の交点が $P + Q$ の結果である(実際は x 軸対象に移動するみたいです)とありましたが何度計算しても公式と合わず困っています。
本来は、
$$
x_3 = \frac{x_1y_2 + x_2y_1} {1 + dx_1x_2y_1y_2}
$$
というシンプルな形になるみたいですが、私が計算した結果は以下のように分子・分母ともに余計な項が含まれてしまっています。
$$
x_3 = \frac{(x_1y_2 + x_2y_1) - (y_1x_1 + y_2x_2)}{(1 + dx_1x_2y_1y_2) - (x_1x_2 + y_1y_2)}
$$
ご教示いただけますと幸いです。よろしくお願いいたします。