開発MLで2048ビットのDSA鍵のサポートはどうしようか聞いて見たら、永田さんから英語版Wikipediaでの項目を紹介された。 読んで見ると、まだドラフトだけどFIPS 186-3では2048,3072ビットもOKになるらしい事がわかった。 さらに規格書へのリンクもあったので、ついでにFIPS 186-1~FIPS 186-3を読んで見ることにした。 最初は適当に関連のありそうな所を斜め読みすればいいかなと思っていたけれど、実際に読んで見ると単純な問題じゃない事がわかった。 おおざっぱに書くと、 DSA鍵のパラメータには、ドメインパラメータ(p, q, g), 秘密鍵(x), 公開鍵(y)がある。DSA鍵の鍵長はpのビット数(L)とqのビット数(N)の組み合わせという事になる。1024ビットDSA鍵と言った場合、この1024ビットというのはLの事を言っている。Nは使用するダイジェスト関