DSA
別名:Digital Signature Standard,DSS
DSAとは、1991年にNSA(U.S. National Security Agency)によって開発された、公開鍵暗号方式によるデジタル署名の方式のことである。1994年に米国立標準技術研究所(NIST)によって米国政府標準の電子文書認証方式となった。DSAはFIPS(Federal Information Processing Standard)によってFIPS 186として定義されている。
DSAは、離散対数問題を応用したエルガマル法(エルガマル暗号)が改良されたものである。エルガマル法と比較すると、デジタル署名のビット長が縮小されていること、あるいは暗号化アルゴリズムとして、離散対数に基づくアルゴリズムからハッシュ関数の一種である「SHA-1」に移行していることなどの違いがある。
参照リンク
DIGITAL SIGNATURE STANDARD (DSS) - (FIPS PUB 186)
認証方式: | Windows Hello ワンタイムパスワード |
電子証明書: | CRL DSA EV SSL証明書 フィンガープリント IT書面一括法 |
Digital Signature Algorithm
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/05/26 05:42 UTC 版)
Digital Signature Algorithm(デジタル シグネチャー アルゴリズム、DSA)は、デジタル署名のための連邦情報処理標準である。1991年8月にアメリカ国立標準技術研究所 (NIST) によってDigital Signature Standard (DSS) での利用を目的として提唱され、1993年にFIPS 186として標準化された[1]。2013年までに4度の改訂を経ている(1996年:FIPS 186-1[2]、2000年:FIPS 186-2[3]、2009年:FIPS 186-3[4]、2013年:FIPS 186-4[5])。FIPS 186-5では、DSAは新たにデジタル署名を行うことには推奨されないが、標準策定以前に行われた署名の検証には引き続き利用可能とされる[6]。DSAはElGamal署名の改良版の一つであり、それと同様に離散対数問題の困難性に基づく電子署名方式である。
DSAは、かつてNSAに勤めていたDavid W. Kravitzによる1991年7月26日の特許(アメリカ合衆国特許第 5,231,668号)によってカバーされている。この特許は「ワシントンD.C.に所在する、商務長官に代表されるアメリカ合衆国」に提供され、NISTが全世界にロイヤリティフリーで開放した。Claus P. Schnorrは、DSAは彼の特許(アメリカ合衆国特許第 4,995,082号、失効済み)によってカバーされていると主張したが、この主張に対しては異議が唱えられている[7]。
鍵生成
鍵生成は2つのフェイズに分けられる。1つ目は他者と共有されるパラメータの選択であり、2つ目は公開鍵および秘密鍵の生成である。
パラメータ生成
- 適切な暗号学的ハッシュ関数 H を選択する。当初のDSSでは H はSHA-1であったが、FIPS 186-4ではSHA-2も選択可能となった[5][8]。ハッシュの出力値は鍵ペアのサイズに切り詰められる。
- 鍵長 L および N を決定する。これらが主に暗号強度に影響する。当初のDSSでは、L は512から1024の間の64の倍数であった。NIST 800-57においては、L を2048あるいは3072とすることで、2010年あるいは2030年まで安全が保たれると推奨された。FIPS 186-3では、L と N の組み合わせは (1024, 160)、(2048, 224)、(2048, 256)、(3072, 256) の4つと規定された[4]。
- N ビットの素数 q を選択する。N はハッシュの出力長以下でなければならない。
- p–1 が q の倍数となるような L ビットの素数法 p を選択する。
- 1 < h < p−1 なる h に対して g = h(p–1)/q mod p なる g を求める。もし g が1となる場合には h を選択し直す(h の初期値としては 2がよく用いられる)。フェルマーの小定理より gq ≡ hp − 1 ≡ 1 (mod p) が導かれる。g > 1 かつ q が素数であるから、g は有限体
カテゴリ
- Digital Signature Algorithmのページへのリンク