Современные системы шифрования (Лабораторная работа № 1), страница 10

Преобразование InvMixColumns(). Преобразование InvMixColumns() является обратным преобразованием к MixColumns(). Колонка рассматривается как полином четвертой степени над полем . Полином умножается по модулю на  и на фиксированный полином , определяемый как

.                                                    (12)

Как описано в разделе 6.5.3.6.4, такое преобразование может быть записано в матричном виде как :

, .                                     (13)

В результате умножения четыре байта столбца заменяются следующим образом:

;

;

;

.

Обратное преобразование AddRoundKey(). Обратное преобразование AddRoundKey() эквивалентно прямому, поскольку здесь используется операция «исключающее или».

Обеспечение безопасности документов

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

Возможно применять существующий протокол защиты, не вникая в подробности криптографии и управления ключами. Это возможно благодаря интерфейсу доступа к компоненту поддержки защиты (Security Support Provider Interface, SSPI).

Используемые криптопровайдеры

Провайдер

Описание

Microsoft Base Cryptographic Provider

Широкий исходный набор криптопреобразований, которые могут быть экспортированы в другие страны (из США).

Microsoft Strong Cryptographic Provider

Расширение Microsoft Base Cryptographic Provider, доступное только для США и Канады.

Microsoft Enhanced Cryptographic Provider

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

Microsoft DSS Cryptographic Provider

Обеспечение функций хэширования, подписывания данных и проверки подписи с использованием алгоритмов SHA и DSS.

Microsoft Base DSS and Diffie-Hellman Cryptographic Provider

Расширение Microsoft DSS Cryptographic Provider для поддержки обмена ключами по Диффи-Хеллмену, хэширования, подписывания данных и проверки подписи с использованием алгоритмов SHA и DSS.

Microsoft DSS and Diffie-Hellman/Schannel Cryptographic Provider

Поддержка хэширования, подписывания данных по DSS, генерирования ключей по Диффи-Хеллмену, обмен ключами и экспорт ключей для алгоритма Диффи-Хеллмена. Поддерживает выработку ключей для протоколов SSL3 и TLS1.

Microsoft RSA/Schannel Cryptographic Provider

Поддержка хэширования, подписывания данных и проверки подписи. Идентификатор алгоритма CALG_SSL3_SHAMD5 используется для клиентской аутентификации в SSL 3.0 и TSL 1.0. Этот провайдер поддерживает выработку ключей для протоколов SSL2, PCT1, SSL3 и TLS1.

Schannel – пакет безопасности Microsoft, обеспечивающий аутентификацию между клиентом и сервером.

SHA – Secure Hash Algorithm – алгоритм хэширования, который генерирует дайджест сообщения. SHA используется в DSA (Digital Signature Algorithm) в стандарте цифровой подписи DSA (Digital Signature Standard). В CryptoAPI от Microsoft используется четыре варианта SHA: SHA-1, SHA-256, SHA-384 и SHA-512. SHA разработана Национальным Институтом Стандартов и Технологий (National Institute of Standards and Technology, NIST) и Национальным Агентством Безопасности (National Security Agency, NSA).

Длины ключей для алгоритмов различных криптопровайдеров