Я бы хотел сгенерировать пару открытых и закрытых пар ключей, эффективный (быстрый) в perl, и иметь возможность вводить случайные данные для себя.
При вводе случайных данных я, конечно, имею в виду, что функция требует, скажем, X случайных битов, чтобы сгенерировать пару открытых / закрытых ключей Y битов, и я должен быть в состоянии предоставить эти X битов функции.
Так что в принципе, функция должна выглядеть так:
($private, $public) = genRSAkeypair($randomdata, 1024);
и $ private содержат:
----BEGIN RSA PRIVATE KEY-----
....
----END ....
и $ public содержат
----BEGIN RSA PUBLIC and so on...
$ randomdata - это просто строка случайных битов из любого генератора случайных чисел. Если $ randomdata согласован между instance1 и instance2, instance1 и instance2 должны возвращать одинаковые открытый и закрытый ключи.
Если вы хотите знать, в чем заключается польза от этого, я планирую создать систему генерации ключей RSA на основе пароля, без необходимости хранить какие-либо ключи в любом месте . Таким образом, ключ генерируется прямо из пароля с помощью SHA512, связанного особым образом для создания статических случайных данных.
Конечно, один и тот же открытый и закрытый ключ должен возвращаться каждый раз, когда в систему вводится один и тот же пароль, иначе система будет бесполезной.
Есть идеи?