Пример Public Key Cryptography Technology
Обновлен: Ноябрь 2007
В этом примере демонстрируется, как можно использовать шифрование с открытым ключом для обмена сообщениями. Для этого примера требуется пакет стойкого шифрования Microsoft Windows 2000. Дополнительную информацию и загрузочные файлы пакета стойкого шифрования, см. по адресу https://www.microsoft.com/WINDOWS2000/downloads/recommended/encryption/.
Дополнительные сведения об использовании примеров см. в следующих разделах:
Построение примера с использованием командной строки
С помощью командной строки перейдите к одной из вложенных папок в каталоге PublicKeyCryptography, соответствующей выбранному языку. Дополнительные сведения о необходимых параметрах и командной строке SDK см. в разделе Практическое руководство. Задание параметров примера.
В командной строке введите msbuild PublicKeyCryptographyCS.sln или msbuild PublicKeyCryptographyVB.sln, в зависимости от выбранного языка программирования. По умолчанию построение исполняемого файла помещается в каталог \bin или \bin\Debug.
Построение примера с использованием Visual Studio
Откройте обозреватель Windows и перейдите к одной из вложенных папок в каталоге PublicKeyCryptography, соответствующей выбранному языку.
Откройте файл решений Visual Studio PublicKeyCS.sln или PublicKeyVB.sln, в зависимости от выбора языка программирования.
В меню Построение выберите команду Построить решение.
Выполнение примера
С помощью командной строки перейдите в каталог, содержащий построенный исполняемый файл.
Введите PublicKey.exe.
Примечание. |
---|
В данном образце выполняется построение консольного приложения. Чтобы просмотреть выводимые им данные, необходимо выполнить его в командной строке. |
Примечания
Сообщения шифруются с использованием симметричного алгоритма (RC2), затем ключ шифруется с помощью асимметричного алгоритма (RSA). Для асимметричных алгоритмов шифрования, называемых также алгоритмами с использованием открытых ключей, необходимо, чтобы каждая сущность сохраняла пару связанных ключей: закрытый ключ и открытый ключ. Оба ключа являются уникальными для объекта. Открытый ключ можно сделать доступным для всех; этот ключ используется для кодирования данных, посылаемых получателю. Закрытый ключ получатель должен хранить в тайне; этот ключ используется для расшифровки кодируемых сообщений с помощью открытого ключа получателя.
В данном примере используются следующие классы:
RSACryptoServiceProvider предоставляет управляемую реализацию RSA, ассиметричный (открытый ключ) алгоритм. RSA используется для шифрования ключа RC2, который отправляется в зашифрованном сообщении.
RC2CryptoServiceProvider предоставляет алгоритм симметричного шифрования для шифрования текста сообщения.
ICryptoTransformпредоставляетинтерфейс, который определяет базовые операции шифровальных преобразований.
CryptoStreamпредоставляетпоток для шифрования данных, который передается в MemoryStream.
Encodingдля преобразования строк в байтовые массивы и наоборот.
Дополнительные сведения о шифровании пары ключей см. в комментариях в файлах исходного кода.