singleton method OpenSSL::PKey::RSA.generate
generate(size, exponent = 65537) -> OpenSSL::PKey::RSA
generate(size, exponent = 65537) {|u,n| ... } -> OpenSSL::PKey::RSA
-
乱数により RSA 公開鍵と秘密鍵のペアを生成して、RSA オブジェクトを返します。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に よって乱数が適切に初期化されている必要があります。
size で鍵の modulus のビット数つまりは鍵のサイズを指定します。 最低でも1024を指定してください。 exponent で public exponent を指定します。exponent には奇数を指定し、 大抵の場合、3、17 あるいは 65537 を指定します。
このメソッドにブロックが渡された場合には、鍵生成の途中経過の 情報を引数としてブロックが呼び出されます。
- n個目の素数候補を生成した場合、u=0 でブロックが呼びだされる
- 生成した素数候補がn回目の素数テスト(Miller-Robin)に成功した 場合、u=1 でブロックが呼び出される
- n個目に生成した素数が鍵として不適切な場合には、u=2 でブロックが 呼びだされる
- p-1 が e と互いに素であるような素数 p が見付かった場合には、 u=3, n=0 でブロックが呼び出される
- 以上の素数生成をもう一度繰り返し、適切な素数 q が見付かった場合には、 u=3, n=1 でブロックが呼び出される
RSA 鍵ペアの生成には時間がかかるため、鍵生成の途中経過を ユーザに表示したい場合にこの機能を使います。
- [PARAM] size:
- 鍵のサイズ
- [PARAM] exponent:
- public exponent
class OpenSSL::PKey::RSA