エドワーズ曲線デジタル署名アルゴリズム
エドワーズ曲線デジタル署名アルゴリズム(エドワーズきょくせんデジタルしょめいあるごりずむ、英語: Edwards-curve Digital Signature Algorithm、略称:EdDSA)は、公開鍵暗号において、ツイステッドエドワーズ曲線(英語版)に基づくシュノア署名(英語版)の一種を用いたデジタル署名の一つである。他のデジタル署名において見つかっている安全性に関する問題を回避した上で、高効率で暗号化処理が行われるように設計されている。エドワーズ曲線電子署名アルゴリズムは、ダニエル・バーンスタインが率いるチームによって開発された 。
メッセージ M {\displaystyle M} に対する署名は、楕円曲線上の点 R {\displaystyle R} と l {\displaystyle \ell } 未満の正整数 S {\displaystyle S} のペア ( R , S ) {\displaystyle (R,S)} で表される。(共に b {\displaystyle b} ビットで表せるため、署名長は 2 b {\displaystyle 2b} ビット。)これを得るためには、まず署名鍵 k {\displaystyle k} から k ′ = H b , ... , 2 b − 1 ( k ) {\displaystyle k'=H_{b,\dots ,2b-1}(k)} (ハッシュ値の上位 b {\displaystyle b} ビット)を計算し、 r = H ( k ′ ∥ M ) {\displaystyle r=H(k'\parallel M)} を計算する。これを用いて以下を計算する。