Разница между открытым ключом и закрытым ключом в криптографии

Импорт стороннего открытого ключа (сертификата)

1. Допустим вы получили по электронной почте файл, содержащий открытый ключ другого лица. Для того, чтобы его можно было использовать данный открытый ключ для шифрования файлов или проверки электронной подписи, необходимо импортировать сертификат в приложение Kleopatra.


2. Нажмите кнопку «Импорт…»

3. Выберите файл, содержащий открытый ключ другого лица и нажмите «Открыть».

4. Появится окно, которое запросит от пользователя подтверждение операции, позволяющей заверить импортированный сертификат (открытый ключ), тем самым применяя дополнительную меру защиты, основанную на доверии к сертификатам, отпечаток которых был проверен с помощью информации, полученной по телефонному звонку, из визитки или после проверки на доверенном веб-сайте (рис.13). Нажмите кнопку «Да», чтобы заверить сертификат.

Рис. 13. Окно подтверждения операции, позволяющей заверить импортированный сертификат

5. Выберите сертификат, который будете заверять, поставив рядом с ним галочку. Проверьте контрольную сумму подписываемого сертификата с той, которую вам предоставил лично или другими безопасными способами партнер, сертификат которого вы заверяете (подписываете своим закрытым ключом). Если контрольные суммы совпадают, поставьте галочку рядом с надписью «Я проверил контрольную сумму» (рис. 14). Нажмите кнопку «Далее».

Рис. 14. Выбор подписываемого сертификата и проверка контрольных сумм.

6. В рамках выполнения данной практической работы необходимо выбрать способ удостоверения «Удостоверить только для себя» (рис. 15). Нажмите кнопку «Заверить»

Рис. 15. Выбор способа удостоверения

7. Введи фразу-пароль для разблокировки вашего секретного ключа (которую вы вводили при создании пары ключей), чтобы с помощью него подписать импортированный сертификат (рис. 16). Нажмите «ОК»

Рис. 16. Ввод фразы-пароля для разблокировки секретного ключа

8. Появится сообщение «Успешно удостоверено» (рис. 17). Нажмите «Завершить».

Рис. 17. Завершение процесса удостоверения сертификата.


9. В списке сертификатов появится импортированный сертификат. Его начертание будет обычное, так как он содержит только открытый ключ (рис. 18).

Теоретические сведения

Техническое обеспечение электронной цифровой подписи основано на использовании методов криптографии.

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

Чтобы последовательность символов, представляющих документ, могла, во-первых, идентифицировать ее отправителя, а во-вторых, подтвердить ее неизменность с момента отправления, она должна обладать уникальными признаками, известными только отправителю и получателю сообщения. Для этого используются различные средства шифрования, создаваемые и изучаемые наукой криптографией.

Для шифрования и дешифрования информации необходимо знать метод и ключ шифрования.

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

Ключ шифрования — это набор параметров (данных), необходимых для применения метода. Так, например, буквы любой последовательности символов можно заменить на соответствующие комбинации цифр — это метод шифрования. А конкретное указание, какую букву заменить на какую последовательность цифр, является ключом.

Существуют симметричные и асимметричные методы шифрования.

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

Несимметричная (асимметричная) криптография использует специальные математические методы. В результате применения этих методов создается пара ключей: то, что зашифровано одним ключом, может быть дешифровано другим, и наоборот. Владелец ключей один оставляет у себя, а другой может распространить, например, прямой рассылкой через Интернет. Ключ, оставленный у владельца, называется закрытым или личным (ключ электронной подписи), другой — открытым или публичным (ключ проверки электронной подписи)

Ключ электронной подписи — уникальная последовательность символов, предназначенная для создания электронной подписи (Ст. 2. Федеральный закон от 06.04.2011 N 63-ФЗ (ред. от 23.06.2016) «Об электронной подписи»).

Ключ проверки электронной подписи — уникальная последовательность символов, однозначно связанная с ключом электронной подписи и предназначенная для проверки подлинности электронной подписи (далее — проверка электронной подписи) (Ст. 2. Федеральный закон от 06.04.2011 N 63-ФЗ (ред. от 23.06.2016) «Об электронной подписи»).

Закрытый ключ может быть скомпрометирован различными способами:

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

Незаконность данных традиционных методов компрометации обеспечивает законодательство.

Это не относится к нетрадиционным методам реконструкции закрытого ключа по исходным данным, полученным вполне легально, в частности по открытому ключу. Возможность реконструкции определяется тем, что открытый и закрытый ключи связаны определенными математическими соотношениями. Теоретически знание открытого ключа дает возможность восстановить закрытый ключ. Однако на практике это связано с наличием специальных программных и аппаратных средств и огромными затратами вычислительного времени. Существует специальная отрасль науки, называемая криптоанализом, которая позволяет воспроизводить зашифрованную информацию и оценить степень защиты информации.

Поскольку от алгоритмов, на основе которых действует средство ЭП, зависит надежность и устойчивость документооборота, к средствам ЭП предъявляются специальные требования.

Средства электронной подписи — шифровальные (криптографические) средства, используемые для реализации хотя бы одной из следующих функций — создание электронной подписи, проверка электронной подписи, создание ключа электронной подписи и ключа проверки электронной подписи (Ст. 2. Федеральный закон от 06.04.2011 N 63-ФЗ (ред. от 23.06.2016) «Об электронной подписи»).

Правовые нормы

Основная статья: Информационное право

Развитие шифрования и его методов привело к их широчайшей распространённости. Сейчас для конечного пользователя не составляет труда зашифровать раздел на жёстком диске или переписку и установить защищённое соединение в интернет. В связи с тем, что шифрование и другие информационные технологии проникают в наш быт, растет число компьютерных преступлений. Зашифрованная информация так или иначе представляет собой объект защиты, который, в свою очередь, должен подвергаться правовому регулированию. Кроме того, подобные правовые нормы необходимы из-за того, что существует некоторое противоречие между стремлением правительств иметь доступ к информации (с целью обеспечения безопасности и для предотвращения преступлений) и стремлением граждан обеспечить высокий уровень охраны для своей действительно секретной информации. Для разрешения этой проблемы прибегают к разным способам: это и возможный запрет на использование высокоэффективных методов шифрования, и требование передачи компетентным органам шифровальных ключей. Различия в правилах и ограничениях по шифрованию компьютерной информации могут создать определённые трудности в деловых международных контактах в плане обеспечения конфиденциальности их общения. В связи с этим в любом государстве поведение в отношении передачи и шифрования информации регулируется различными правовыми нормами.

Электронная подпись для файлов и ее проверка

1.Приложение Kleopatra позволяет формировать электронную подпись для проверки целостности подписываемых электронных документов и установления их авторства на основе сертификатов подписывающих лиц. 

2.Для подписывания будет использован подготовленный ранее файл «Секретный документ.docx» (п.2 предыдущего раздела).

3.В приложении Kleopatra нужно нажать кнопку «Подписать/Зашифровать…»

4.Далее необходимо выбрать подписываемый файл и нажать кнопку «Открыть»

5.В появившемся окне поставьте галочку рядом с пунктом «Сертификат подписи». Выберите необходимый сертификат и нажмите кнопку «Подписать» (рис. 26).

Рис. 26 Создание подписи

6.Введите фразу-пароль для разблокировки секретного ключа (рис. 27)

Рис. 27. Ввод фразы-пароля для подписи файла

7.Приложение оповестит пользователя о том, что файл успешно подписан (рис. 28). Необходимо нажать кнопку «Завершить».


Рис. 28. Файл успешно подписан

8.В директории, где расположен подписываемый файл, появится отдельный файл подписи «Секретный документ.docx.sig». Данный файл отправляется вместе с подписываемым файлом.

9.Для проверки подписи необходимо в приложении Kleopatra нажать на кнопку «Расшифровать и проверить…»

10. Далее выберите файл подписи, который должен заканчиваться на .sig и нажмите «Открыть». 

Примечание. Файл подписанного документа и файл подписи должны находиться в одной папке, иначе проверка подписи пройдет некорректно.

11. Если проверка подписи прошла успешно, приложение оповестит пользователя, что подпись действительна и покажет информацию о том, кем она была произведена (рис. 29).

Рис. 29. Подтверждение подписи

12.Как известно, электронная подпись позволяет не только определить лицо, подписавшее электронный документ, но и обнаружить факт внесения изменений в электронный документ после момента его подписания. Для проверки данной полезной функции внесите изменения в уже подписанный документ «Секретный документ.docx» (например, поставьте в конце одну запятую) и сохраните его (рис. 30)

Рис. 30. Внесение изменений в подписанный документ.

13.Повторите действия, описанные в п.п. 9-11 данного раздела. Приложение оповестит пользователя о том, что подпись неверна (рис. 31).

Рис. 31. Оповещение пользователя о неверной подписи.

Протокол Secure Sockets Layer (SSL)

Интернет-трафик, который передает информацию через промежуточные компьютеры, может быть перехвачен третьей стороной:

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

Олицетворение может иметь две формы:

Подмена. Человек может притворяться кем-то другим. Искажение. Человек или организация могут исказить себя. Например, названный сайт может претендовать на роль в онлайн-магазине мебели, когда он действительно получает платежи по кредитным картам, но никогда не отправляет какие-либо товары.

Криптография с открытым ключом обеспечивает защиту от интернет-атак.

Структура и возможности

Блокчейн

  1. Monegraph позволяет авторам закрепить права на свою работу и установить правила (и выплаты) за использования их работы;
  2. La Zooz это децентрализованный Uber. Предлагай свою машину, найди перевозчика без платы Uber’у;
  3. Augur – это онлайн букмекер. Делай ставки и получай выигрыш;
  4. Storj.io – это P2P хранилище данных. Сдавай свое неиспользуемое место на диске или найди самое дешевое онлайн хранилище;
  5. Muse – это распределенная, открытая и прозрачная база данных специально для музыкальной индустрии;
  6. Ripple позволяет проводить недорогие трансграничные платежи в банки;
  7. Golem – мировой децентрализованный суперкомпьютер с открытым кодом, доступ к которому может получить любой человек, для выполнения распределенных вычислений (от обработки изображений до проведения исследований и запуска веб-сайтов). Используя Golem, пользователи могут покупать или продавать вычислительные мощности между собой;
  8. Множество других криптовалют отличающихся высокой анонимностью работы, низкой стоимостью переводов, умными контрактами и т.д.

Классификация ключей

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

  • Секретные (Симметричные) ключи — ключи, используемые в симметричных алгоритмах (шифрование, выработка кодов аутентичности). Главное свойство симметричных ключей: для выполнения как прямого, так и обратного криптографического преобразования (шифрование/расшифровывание, вычисление MAC/проверка MAC) необходимо использовать один и тот же ключ (либо же ключ для обратного преобразования легко вычисляется из ключа для прямого преобразования, и наоборот). С одной стороны, это обеспечивает более высокую конфиденциальность сообщений, с другой стороны, создаёт проблемы распространения ключей в системах с большим количеством пользователей.
  • Асимметричные ключи — ключи, используемые в асимметричных алгоритмах (шифрование, ЭЦП). Более точно, они являются ключевой парой, поскольку состоят из двух ключей:
    • Закрытый ключ (англ. Private key) — ключ, известный только своему владельцу. Только сохранение пользователем в тайне своего закрытого ключа гарантирует невозможность подделки злоумышленником документа и цифровой подписи от имени заверяющего.
    • Открытый ключ (англ. Public key) — ключ, который может быть опубликован и используется для проверки подлинности подписанного документа, а также для предупреждения мошенничества со стороны заверяющего лица в виде отказа его от подписи документа. Открытый ключ подписи вычисляется как значение некоторой функции от закрытого ключа, но знание открытого ключа не даёт возможности определить закрытый ключ.

Главное свойство ключевой пары: по секретному ключу легко вычисляется открытый ключ, но по известному открытому ключу практически невозможно вычислить секретный.

В алгоритмах ЭЦП для подписи используется секретный ключ, а для проверки используется открытый ключ. Таким образом, любой может проверить, действительно ли данный пользователь поставил данную подпись. Тем самым асимметричные алгоритмы обеспечивают не только целостность информации, но и её аутентичность. При шифровании же наоборот, для шифрования сообщения используется открытый ключ, а для расшифровывания — секретный. Таким образом, расшифровать сообщение может только адресат и больше никто (включая отправителя).

Использование асимметричных алгоритмов снимает проблему распространения ключей пользователей в системе, но ставит новые проблемы: достоверность полученных ключей. Эти проблемы более-менее успешно решаются в рамках инфраструктуры открытых ключей (PKI).

  • Сеансовые (сессионные) ключи — ключи, вырабатываемые между двумя пользователями, обычно для защиты канала связи. Обычно сеансовым ключом является общий секрет — информация, которая вырабатывается на основе секретного ключа одной стороны и открытого ключа другой стороны. Существует несколько протоколов выработки сеансовых ключей и общих секретов, среди них, в частности, алгоритм Диффи — Хеллмана.
  • Подключи — ключевая информация, вырабатываемая в процессе работы криптографического алгоритма на основе ключа. Зачастую подключи вырабатываются на основе специальной процедуры развёртывания ключа.

Генерация пары RSA

Вам будет интересно:Как в биосе отключить встроенную звуковую карту: способы для AWARD, AMI и UEFI


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

Генерировать модуль RSA (n). Подбирают два простых числа p и q. Находят производный номер e. Число e должно быть больше 1 и меньше (p — 1) (q — 1). Для e и (p — 1) (q — 1) не должно быть общего фактора, кроме 1. Выполняют шифрование с помощью открытого ключа. Пара чисел (n, e) формирует открытый ключ RSA. Хотя n является частью открытого ключа, трудности с факторизацией такого числа обеспечивают, что злоумышленник не может найти за конечное время два простых числа (p & q), используемых для получения n. Это понимание является основой RSA.

Создание секретного ключа состоит в следующем. Частный ключ d вычисляется из p, q и e. Для заданных n и e существует единственное число d. Число d является инверсией e по модулю (p — 1) (q — 1). Это означает, что d — это число меньше (p — 1) (q — 1), но такое, что при умножении на e оно равно 1 по модулю (p — 1) (q — 1). Это соотношение написано математически следующим образом:

ed = 1 mod (p − 1)(q − 1).

Расширенный евклидовый алгоритм принимает p, q и e в качестве входных данных и дает d в качестве вывода. Ниже приведен пример создания пары RSA Key. Для удобства понимания простые числа p & q, взятые здесь, являются небольшими значениями. Практически эти значения должны быть очень значимыми.

Алгоритм вычисления:

Пусть два простых числа равны p = 7 и q = 13. Таким образом, модуль n = pq = 7 x 13 = 91. Выбирают e = 5, что является допустимым выбором, так как нет числа, которое является общим фактором 5 и (p — 1) (q — 1) = 6 × 12 = 72, за исключением 1. Пара чисел (n, e) = (91, 5) формирует открытый ключ и может быть доступна всем, кому нужно отправить зашифрованные сообщения. Вход p = 7, q = 13 и e = 5. Выход будет равен d = 29. Убеждаются, что вычисленный d правильный — de = 29 × 5 = 145 = 1 mod 72. Следовательно, открытый ключ — это (91, 5) и закрытые ключи (91, 29).

Цифровая подпись в Bitcoin[править]

Чтобы тратить криптовалюту Биткоин с определенного адреса, пользователи также должны подтвердить право собственности на эти монеты. Для этого необходимо показать, что мы знаем секретный ключ. Для этих целей используется цифровая подпись Биткоина.

Цифровые подписи включены в поле scriptSign транзакции. Подписи – это криптографические элементы, которые вычисляются из закрытого ключа и комбинации другой информации, включенной в транзакцию. И именно здесь начинается «игра» криптографии, потому что благодаря этому можно использовать открытый ключ для проверки того, что указанная подпись была создана с использованием соответствующего закрытого ключа. Кроме того, поскольку подписи вычисляются с использованием закрытого ключа и комбинации другой информации о транзакции, они также демонстрируют знание секретного ключа, который владелец этого же и, следовательно, владелец этих биткоинов, подтверждает данные указанной транзакции. Поэтому каждая подпись действительна только для конкретной транзакции.

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

Однако существуют и другие типы криптографических схем. Уже не секрет, что многие разработчики считают, что модификация текущей ECDSA может принести много преимуществ биткойну. В настоящее время для этого изменения потребуется сложная вилка, которая будет реализована, но после внедрения Segregated Witness могут быть введены через модернизированную вилку.

Принцип работы

Наглядное объяснение принципа работы сертификатов открытого ключа на примере установки ПО от стороннего разработчика пользователем в Интернете

Сертификаты, как правило, используются для обмена зашифрованными данными в больших сетях. Криптосистема с открытым ключом решает проблему обмена секретными ключами между участниками безопасного обмена, однако не решает проблему доверия к открытым ключам. Предположим, что Алиса, желая получать зашифрованные сообщения, генерирует пару ключей, один из которых (открытый) она публикует каким-либо образом. Любой, кто желает отправить ей конфиденциальное сообщение, имеет возможность зашифровать его этим ключом, и быть уверенным, что только она (так как только она обладает соответствующим секретным ключом) сможет это сообщение прочесть. Однако описанная схема ничем не может помешать злоумышленнику Давиду создать пару ключей, и опубликовать свой открытый ключ, выдав его за ключ Алисы. В таком случае Давид сможет расшифровывать и читать, по крайней мере, ту часть сообщений, предназначенных Алисе, которые были по ошибке зашифрованы его открытым ключом.

Идея сертификата — это наличие третьей стороны, которой доверяют две другие стороны информационного обмена. Предполагается, что таких третьих сторон немного, и их открытые ключи всем известны каким-либо способом, например, хранятся в операционной системе или публикуются в журналах. Таким образом, подлог открытого ключа третьей стороны легко выявляется.

Сертификат открытого ключа выдаётся центром сертификации и состоит из таких полей как:

сам открытый ключ владельца сертификата, срок действия, имя эмитента (центра сертификации), имя владельца сертификата и, самой важной части, цифровой подписи.

Цифровая подпись гарантирует невозможность подделки сертификата. Она является результатом криптографической хеш-функции от данных сертификата, зашифрованным закрытым ключом центра сертификации. Открытый ключ центра сертификации является общеизвестным, поэтому любой может расшифровать им цифровую подпись сертификата, затем вычислить хеш самостоятельно и сравнить, совпадают ли хеши. Если хеши совпадают — значит сертификат действительный и можно не сомневаться, что открытый ключ принадлежит именно тому, с кем мы собираемся устанавливать соединение.

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

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

«Расшифровка» закрытого ключа

Поскольку закрытым ключом может в буквальном смысле быть все, что угодно, технически мы можем взять любую фразу или цепочку букв и цифр и использовать их в качестве закрытого ключа (например, «satoshi nakamoto») . Другими словами, можно забросить в хэш-функцию любой набор символов и создать кошелек. После этого создается публичный ключ и – добро пожаловать в мир криптовалют! Однако так поступать настоятельно не рекомендуется, поскольку очевидно, что раз вы можете придумать закрытый ключ, то раскрыть его сможет и кто-то другой. Такой ключ уже не будет по-настоящему случайным, а ведь именно это свойство необходимо для создания безопасного кошелька.

К примеру, кошелек BrainWallet.io оснащен инструментом, позволяющим пользователям поместить в него все, что они пожелают, и получить из этого пару открытый/закрытый ключ. Поскольку блокчейн представляет собой открытый публичный реестр, в нем можно наблюдать множество адресов, созданных из обычных фраз. Использовать подобные словосочетания в качестве ключей, мягко скажем, неразумно, однако  иногда люди отправляют монеты просто для того, чтобы просто оставить след в блокчейне.

Проверка закрытых ключей для обнаружения биткоинов

Анонимный пользователь Pastebin использовал доступные в блокчейне фрагменты данных для того, чтобы проверить, использовались ли какие-то из них для создания кошельков. Он использовал хеширование для каждого блока, брал хэшированные несколько раз простые слова и фразы, и, наконец, стал тестировать все адреса биткоина. Помимо адресов с неистраченными балансами, он также включил в свой анализ адреса с нулевым балансом.

Первый эксперимент заключался в проверке хэшей номеров блоков и состоял в том, чтобы определить, использовались ли эти номера блоков для создания закрытых ключей. И действительно, пользователем было обнаружено более сорока адресов, которые за последние семь лет использовались для получения биткоинов. Все они впоследствии были подчищены, тем не менее, пользователь решил продолжить расследование.   

Затем он использовал корни Меркла (Merkle roots) некоторых блоков на предмет существования раскрываемых ключей, и вновь ему удалось обнаружить адреса, на которые отправлялись монеты.  К сожалению, все балансы были нулевыми, но охота становилась все интереснее. Третий эксперимент проводился с использованием простых слов, несколько раз прошедших хэширование, таких как  “hello” или “sender”. Хэши этих слов затем хэшировались снова и снова, добавляя дополнительный слой защиты и уменьшая шансы на то, что ключ будет открыт. Если вы захэшируете слово один раз, впоследствии вы сможете повторить это еще и еще, и в конечном итоге вы получите закрытый ключ, который уже когда-то использовался. Таким образом было обнаружено несколько адресов, использовавших этот метод. Один из самых забавных было слово “password” (пароль), после хэширования которого 1 975 раз получался действующий закрытый ключ, на который отправлялись средства.  Более чем вероятно, что создатель этого адреса родился в 1975 году.

В последнем эксперименте пользователь взял список всех адресов биткоина и протестировал все публичные адреса, чтобы проверить, использовались ли они в качестве закрытых ключей.  И снова он искал фрагменты блокчейна и обнаружил десятки адресов. Отличие многих из них состояло в том, что они получали и тратили биткоины совсем недавно — в течение последних дней или недель.

Идея использования публичного адреса в качестве закрытого ключа не имеет смысла и очень рискованна, так как его легко раскрыть. Такие адреса получали биткоины и принимали их в течение минут или часов после подтверждения. И именно здесь анонимный пользователь  Pastebin заподозрил что-то неладное.

Оглавление:

  1. Java Cryptography
  2. Cipher
  3. MessageDigest
  4. Mac
  5. Signature
  6. KeyPair
  7. KeyGenerator
  8. KeyPairGenerator
  9. KeyStore
  10. Keytool
  11. Certificate
  12. CertificateFactory
  13. CertPath

Java Cryptography

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

В этой статье объясняются основы того, как пользоваться Java Cryptography API для выполнения различных задач в которых требуется безопасное шифрование.

В этой статье не объясняются основы криптографической теории. Вам придется посмотреть эту информацию где-нибудь еще.


С этим читают