Пять образцов приложений, написанных для Delphi, обеспечивают введение в симметричное шифрование с AES, асимметричное шифрование с RSA и гибридным шифрованием в качестве комбинации как алгоритмов шифрования, так и знака и проверки. Весь код, основанный на Pure Delphi, используя Winapi.winrt и Winapi.security.cryptography Library, поставляемая с Delphi 10 Seattle. Никаких дополнительных библиотек 3-й стороны не требуется. Этот код работает только в Windows и поэтому использует VCL.
Это первое приложение демонстрирует, насколько легко использовать асимметричное шифрование для небольших сообщений. Для этой цели приложение предоставляет различные варианты алгоритма RSA. Длина ключа также может быть выбрана. Максимальная длина сообщения ограничена длиной ключа.

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

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

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

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

Выборочные проекты разрабатываются и подготовлены для Delphi 12.0 Athena.
Delphi является зарегистрированным товарным знаком Embarcadero Technologies, Inc.
Кристоф Шнайдер
Schneider Infosystems Ltd
Ноябрь 2023 года