Генерация больших простых чисел для Диффи-Хеллмана в Ruby - PullRequest
4 голосов
/ 29 сентября 2010

Я пишу реализацию обмена ключами diffie-hellman в ruby ​​для проекта для одного из моих университетских классов. Мне нужно генерировать большие (безопасные) простые числа длиной не менее 500 бит. Есть идеи? Должен ли я использовать библиотеку OpenSSL? Если да, то какие функции вы бы порекомендовали?

Ответы [ 2 ]

2 голосов
/ 29 сентября 2010

Используйте камень openssl

OpenSSL :: BN :: rand

Вы можете указать нужный размер - например, OpenSSL :: BN :: rand (212)

0 голосов
/ 13 октября 2017

OpenSSL::BN::generate_prime(500) сделает это, как сказал Абдоллар.Обязательно поставьте require 'openssl' вверху, чтобы включить его в свой файл ruby ​​

. Чтобы проверить правильность количества бит, вы можете распечатать двоичный файл, просто набрав OpenSSL::BN::generate_prime(500).to_i.to_s(2).length, и он выведет 500и ведущий бит будет 1

Открытая документация SSL

...