このリポジトリは、技術書典07にて頒布された『鳥のささみ合同誌 Vol.1 – Android, Kotlin, Java に寄り添う –』に掲載された『基礎から始めるディジタル署名』にて実装したディジタル署名プログラムのリポジトリです。
実装の元ネタは、私が過去に実装した楕円曲線ディジタル署名ライブラリ edwards です。そちらには Ed25519 の他に Ed25519ctx, Ed25519ph, Ed448, Ed448, Ed448ph が実装されています。是非そちらのリポジトリも御覧ください。
基本的な実装を全て行ったブランチです。スカラー倍算では BinaryMethod
を用い、加算にはアフィン座標系を用いています。
スカラー倍算にて add-and-double-always
を適用したブランチです。これは本章6節「脆弱性への対処」にて実装した箇所となります。
全ての計算において射法座標系を用いるように変更したブランチです。これは本章7節「スカラー倍算の高速化」にて実装した箇所となります。