Pebble Coding

プログラマーの作業メモ

curve25519とed25519の同等性

curve25519とは、
\nu^{2} = \mu^{3} + 486662\mu^{2} + \mu
のことであり、
ed25519とは、
x^{2} + y^{2} = 1 +\frac {121665}{121666} x^{2}y^{2}
のことである。 これは単純な変数の置き換えで同等性が示せる。
ただし、ed25519の方が加法定義で場合分けをする必要がなく、扱いやすい。

 d = 486662 とし、  \frac {d - 2}{d + 2} = \frac {121665} {121666} とする。

\nu = \sqrt{d} \frac {\mu} {x}
\mu = \frac {1+y} {1-y}
を代入して計算すると、
(2+d)x^{2} + dy^{2} = d + (d-2)x^{2}y^{2}
となる。
xをx \sqrt{ \frac {d}{d+2}}で置き換えると。 x^{2} + y^{2} = 1 + \frac {d-2} {d+2}x^{2}y^{2}
が得られる。