我正在为我的一个大学课程的一个项目编写一个 diffie-hellman 密钥交换的 ruby 实现。我需要生成至少 500 位长度的大(安全)素数。有任何想法吗?我应该使用 OpenSSL 库吗?如果是这样,您会推荐哪些功能?
问问题
1621 次
2 回答
2
使用 openssl gem
OpenSSL::BN::rand
你可以指定你需要的大小——比如 OpenSSL::BN::rand(212)
于 2010-09-28T23:28:46.133 回答
0
OpenSSL::BN::generate_prime(500)
会做到的,就像abdollar所说的那样。确保放在require 'openssl'
顶部以将其包含在您的 ruby 文件中
要检查它的位数是否正确,您只需运行即可打印出二进制文件,OpenSSL::BN::generate_prime(500).to_i.to_s(2).length
它将打印出 500,前导位将是 1
于 2017-10-13T20:26:31.680 回答