Генерация закрытого ключа Java RSA, когда известен открытый ключ - PullRequest
0 голосов
/ 12 ноября 2018

Есть ли способ генерировать закрытый ключ RSA в Java, когда известен открытый ключ , скажем, 3?

Я не могу найти способ сделать это с помощью Class KeyPairGenerator из пакета java.security ...

мой вопрос очень прост, я не ищу информацию, связанную с криптографией. Просто хочу знать, если у меня есть общий показатель для RSA , есть ли способ в java до получить частный показатель , для этого общего показателя, для данной длины модуля, например 2048? Это должно пролить свет на эту тему: https://en.wikipedia.org/wiki/RSA_(cryptosystem)#Key_generation https://en.wikipedia.org/wiki/65,537

Ответы [ 2 ]

0 голосов
/ 19 ноября 2018

Сортировать ответ «нет».

Длинный ответ - использовать sunrsasign Provider, который реализует RSAKeyPairGenerator так, что публичный показатель равен 65537: * "/ ** * Генерация пар ключей RSA. Стандартный алгоритм, минимальная длина ключа 512 бит. * Мы генерируем два случайных простых числа, пока не найдем два, где фи относительно * премьер для публики. Показатель по умолчанию - 65537. Он имеет только бит 0 * и бит 4 установлен, что делает его особенно эффективным. ** / ** * 1005

если вы хотите другой открытый показатель , вам нужно создать собственного провайдера и интегрировать его с JCA.

подробнее о математике за этим здесь .

0 голосов
/ 12 ноября 2018

Смысл криптографии с открытым ключом в том, что закрытый ключ остается секретным. Если бы был способ легко сгенерировать закрытый ключ из открытого ключа, схема шифрования была бы нарушена.

Да, вы, вероятно, можете взломать закрытый ключ, но это будет нелегко:

Надежность криптографической системы с открытым ключом зависит от вычислительных усилий (фактора работы в криптографии), необходимых для поиска закрытого ключа из его парного открытого ключа. Эффективная защита требует только сохранения закрытого ключа в секрете; открытый ключ может распространяться открыто без ущерба для безопасности.

...