Генерация открытого ключа c из закрытого ключа - PullRequest
0 голосов
/ 03 мая 2020

Когда openssl генерирует пару открытый / закрытый ключ, сначала он генерирует закрытый ключ, а затем вычисляет ключ publi c из закрытого ключа? Или должен ли ключ publi c рассчитываться одновременно с закрытым ключом?

Возможно ли иметь несколько ключей publi c, совпадающих с одним и тем же секретным ключом?

Спасибо

1 Ответ

0 голосов
/ 03 мая 2020

По крайней мере, не в RSA, фактически вы можете иметь один открытый ключ c с несколькими "разными" закрытыми ключами. В RSA сначала нужно сгенерировать ключ publi c, а затем сгенерировать закрытый ключ. Это связано с тем, что несколько случайно выбранных значений выбираются в начале и до конечной генерации частного ключа, но все они отбрасываются после генерации закрытого ключа. Если бы они были сохранены, можно повторить шаг с другими значениями и при этом использовать тот же ключ publi c, но в то время как полученный закрытый ключ будет выглядеть на первый взгляд иначе, они математически равны . Даже если вы используете алгоритмы, которые могут создавать несколько ключей, для всех намерений и целей, они являются одним и тем же ключом, так как будет невозможно вывести, если определенный ключ из набора закрытых ключей используется для подписи, только то, что ключ является допустимой парой для вашего ключа publi c.

Кроме того, похоже, это вопрос XY. Даже если вы найдете алгоритм, который создает несколько ключей publi c для одного закрытого ключа, так как ключ publi c подразумевает, ну, в общем, publi c, ничто не мешает publi c шифровать то же самое сообщение и наблюдайте идентичный зашифрованный результат. Таким образом, у вас не может быть двух скрытных актеров, которые не хотят быть связанными, чтобы использовать эти ключи. Как вы упомянули, в частности, OpenSSL, в SSL вы можете дать разные ключи publi c (при условии, что такой алгоритм существует, поскольку, как я отмечаю, в RSA это наоборот) для разных CA или, возможно, встраивать их в разные приложения / устройства, но так как CA поддержка одного сертификата, обслуживающего несколько доменов / сервер, и несколько центров сертификации, обслуживающих один домен, похоже, что нынешняя практика не принесет никакой пользы.

...