Поделиться через


Пример Public Key Cryptography Technology

Обновлен: Ноябрь 2007

В этом примере демонстрируется, как можно использовать шифрование с открытым ключом для обмена сообщениями. Для этого примера требуется пакет стойкого шифрования Microsoft Windows 2000. Дополнительную информацию и загрузочные файлы пакета стойкого шифрования, см. по адресу https://www.microsoft.com/WINDOWS2000/downloads/recommended/encryption/.

Дополнительные сведения об использовании примеров см. в следующих разделах:

Download sample

Построение примера с использованием командной строки

  1. С помощью командной строки перейдите к одной из вложенных папок в каталоге PublicKeyCryptography, соответствующей выбранному языку. Дополнительные сведения о необходимых параметрах и командной строке SDK см. в разделе Практическое руководство. Задание параметров примера.

  2. В командной строке введите msbuild PublicKeyCryptographyCS.sln или msbuild PublicKeyCryptographyVB.sln, в зависимости от выбранного языка программирования. По умолчанию построение исполняемого файла помещается в каталог \bin или \bin\Debug.

Построение примера с использованием Visual Studio

  1. Откройте обозреватель Windows и перейдите к одной из вложенных папок в каталоге PublicKeyCryptography, соответствующей выбранному языку.

  2. Откройте файл решений Visual Studio PublicKeyCS.sln или PublicKeyVB.sln, в зависимости от выбора языка программирования.

  3. В меню Построение выберите команду Построить решение.

Выполнение примера

  1. С помощью командной строки перейдите в каталог, содержащий построенный исполняемый файл.

  2. Введите PublicKey.exe.

xct38ftb.alert_note(ru-ru,VS.90).gifПримечание.

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

Примечания

Сообщения шифруются с использованием симметричного алгоритма (RC2), затем ключ шифруется с помощью асимметричного алгоритма (RSA). Для асимметричных алгоритмов шифрования, называемых также алгоритмами с использованием открытых ключей, необходимо, чтобы каждая сущность сохраняла пару связанных ключей: закрытый ключ и открытый ключ. Оба ключа являются уникальными для объекта. Открытый ключ можно сделать доступным для всех; этот ключ используется для кодирования данных, посылаемых получателю. Закрытый ключ получатель должен хранить в тайне; этот ключ используется для расшифровки кодируемых сообщений с помощью открытого ключа получателя.

В данном примере используются следующие классы:

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

  • RC2CryptoServiceProvider предоставляет алгоритм симметричного шифрования для шифрования текста сообщения.

  • ICryptoTransformпредоставляетинтерфейс, который определяет базовые операции шифровальных преобразований.

  • CryptoStreamпредоставляетпоток для шифрования данных, который передается в MemoryStream.

  • Encodingдля преобразования строк в байтовые массивы и наоборот.

Дополнительные сведения о шифровании пары ключей см. в комментариях в файлах исходного кода.

См. также

Другие ресурсы

Службы криптографии