ECDSAにMontgomery曲線を使うメリット

[mathjax]未検証な部分も多く,要検証な話.

 
実際にECDSAを実装するにあたり,Montgomery曲線を使うこととなった.ECDSAはアルゴリズムをみると(Wikipedia),スカラー倍算を多く使用することが分かる.スカラー倍を計算するには,Montgomery曲線が効率が良い.また,バイナリ法と違いMontgomery ladderではサイドチャネル攻撃に耐性を持つ.以上の2つの理由から,Montgomery曲線を採用する.
 
デメリットとしては,Montgomery曲線を用いたECDSAの実装が(パッと探した程度では)見つからず,なにかが潜んでいる可能性があること.署名検証の際に点の加算が必要となり,そのためにはy座標の復元とMontgomery曲線における加算公式(?)の導出が必要となることが挙げられる.ただし,y座標の復元には\(x_n\)と\(x_{n+1}\)が必要となるが,これはMontgomery ladderの計算結果から求まる可能性がある.また,加算公式(?)についても導出は可能(らしい).
 
よって,しばらくはMontgomery曲線を用いてECDSAの実装が可能かどうか検証を進める.