Подтвердить что ты не робот

Любые руководства по шифрованию с открытым ключом в java?

Мне удалось найти информацию о симметричном шифровании и хэшировании, но у меня возникла небольшая проблема с поиском много информации о любом шифровании с открытым ключом для Java. Я бы хотел сделать очень простое доказательство концептуальной программы, которая берет строку (или файл, я полагаю), шифрует ее открытым ключом и затем расшифровывает ее с помощью закрытого ключа.

Любые ссылки на учебники или примеры будут оценены. Я просто хочу сделать что-то, демонстрирующее, как вы можете использовать шифрование с открытым ключом в Java.

4b9b3361

Ответ 2

Обычно для шифрования симметричного ключа используется шифрование с открытым ключом, отчасти потому, что шифрование с открытым ключом происходит очень медленно. Как правило, вы отправляете получателю следующее, чтобы они могли расшифровать ваше сообщение:

  • Симметричный ключ, зашифрованный открытым ключом получателя.
  • Параметры для используемых алгоритмов, обычно вектор инициализации для симметричного шифра.
  • Идентификаторы используемых алгоритмов шифрования.
  • Зашифрованный текст - фактическое сообщение, зашифрованное под симметричным шифром.

Я нашел образец кода в документации JCE, достаточной для работы.

Стандартным форматом для связывания всей этой информации является Синтаксис криптографического сообщения или CMS, который используется S/MIME в приложениях электронной почты. Я рекомендую использовать библиотеки Bouncy Castle; они прочны, довольно просты и активно поддерживаются. Эталонная документация немного слаба, но они предоставляют примеры кода.