generate(size, generator = 2) -> PKey::DH
[permalink][rdoc][edit]generate(size, generator = 2) {|u,n| ... } -> PKey::DH
-
DH 鍵共有プロトコルのパラメータを生成し、DH オブジェクトを返します。
size は無作為に生成する素数 p (鍵パラメータ)のサイズで、単位はビットです。 generatorは1より大きい小さい数で、通常2か5を指定します。
生成した値は OpenSSL::PKey::DH#params_ok? で安全かどうかチェックしてから利用してください。
このメソッドにブロックが渡された場合には、パラメータ生成の途中経過の情報を引数としてブロックが呼び出されます。
- n個目の素数候補を生成した場合、u=0 でブロックが呼びだされる
- 生成した素数候補がn回目の素数テスト(Miller-Robin)に成功した 場合、u=1 でブロックが呼び出される
- n個目に生成した素数が鍵として不適切な場合には、u=2 でブロックが 呼びだされる
- パラメータとして適当な素数 p が見付かった場合には、 u=3, n=0 でブロックが呼び出される
DH パラメータの生成には時間がかかるため、鍵生成の途中経過をユーザに表示したい場合にこの機能を使います。
この場合鍵対も同時に生成されます。
- [PARAM] size:
- 鍵パラメータの素数のサイズ(ビット数)
- [PARAM] generator:
- 鍵パラメータの生成元(2以上の整数、通常2か5)
- [EXCEPTION] OpenSSL::PKey::DHError:
- パラメータの生成に失敗した場合に発生します
[SEE_ALSO] OpenSSL::PKey::DH#generate_key!