私は、大学のクラスの1つのプロジェクトのために、ルビーでdiffie-hellman鍵交換の実装を書いています。少なくとも500ビット長の大きな(安全な)素数を生成する必要があります。何か案は?OpenSSLライブラリを使用する必要がありますか?もしそうなら、どの機能をお勧めしますか?
質問する
1621 次
2 に答える
2
opensslgemを使用する
OpenSSL :: BN :: rand
必要なサイズを指定できます-OpenSSL::BN :: rand(212)のように
于 2010-09-28T23:28:46.133 に答える
0
OpenSSL::BN::generate_prime(500)
abdollarが言ったようにそれをします。require 'openssl'
ルビーファイルに含めるために、必ず一番上に配置してください
正しいビット数であることを確認するには、実行するだけでバイナリを出力できますOpenSSL::BN::generate_prime(500).to_i.to_s(2).length
。500が出力され、先頭のビットは1になります。
于 2017-10-13T20:26:31.680 に答える