Хэш и алгоритмы подписи
Следующие алгоритмы вычисляют хэши и цифровые подписи. Каждый из этих алгоритмов поддерживается в Microsoft Base, Strong и расширенных поставщиков шифрования. Внутренние сведения об этих алгоритмах выходят за рамки этой документации. Список дополнительных источников см . в дополнительной документации по шифрованию.
Алгоритмы | Description |
---|---|
Цепочка блоков шифров (CBC) MAC |
Одним из алгоритмов (CALG_MAC), реализованных поставщиками Майкрософт, является код проверки подлинности сообщения блокировки (MAC). Этот метод шифрует базовые данные с помощью блочного шифра, а затем использует последний зашифрованный блок в качестве хэш-значения. Алгоритм шифрования, используемый для сборки MAC, является тем, который был указан при создании ключа сеанса. |
Код проверки подлинности сообщений с помощью хэш-функций |
Алгоритм (CALG_HMAC), реализованный поставщиками Майкрософт. Этот алгоритм также использует симметричный ключ для создания хэша, но является более сложным, чем простой алгоритм MAC цепочки блоков шифров (CBC). Его можно использовать с любым итерированным алгоритмом криптографического хэша, например MD5 или SHA-1. Дополнительные сведения см. в разделе "Создание HMAC". |
MD2, MD4 и MD5 |
Эти алгоритмы хэширования были разработаны RSA Data Security, Inc. Эти алгоритмы были разработаны в последовательном порядке. Все три создают 128-разрядные хэш-значения. Все три, как известно, имеют слабые места и должны использоваться только в тех случаях, когда это необходимо для обеспечения совместимости. Для нового кода рекомендуется использовать семейство хэшей SHA-2. Эти алгоритмы хорошо известны и могут быть подробно рассмотрены в любой ссылке на криптографию. |
Код проверки подлинности сообщений (MAC) |
Алгоритмы MAC похожи на хэш-алгоритмы, но вычисляются с помощью симметричного (сеанса) ключа. Исходный ключ сеанса требуется для повторной компиляции хэш-значения. Повторное хэш-значение используется для проверки того, что базовые данные не были изменены. Эти алгоритмы иногда называются хэш-алгоритмами с ключами. Сведения о том, какие поставщики Майкрософт поддерживают MAC, см. в разделе "Поставщики служб шифрования Майкрософт". |
Безопасный хэш-алгоритм (SHA-1) |
Этот алгоритм хэширования был разработан Национальным институтом стандартов и технологий (NIST) и Агентством национальной безопасности (NSA). Этот алгоритм разработан для использования с DSA (алгоритмом цифровой подписи) или DSS (стандарт цифровой подписи). Этот алгоритм создает 160-разрядное хэш-значение . SHA-1, как известно, имеют слабые места и следует использовать только в тех случаях, когда это необходимо для обеспечения совместимости. Для нового кода рекомендуется использовать семейство хэшей SHA-2. |
Безопасный хэш-алгоритм — 2 (SHA-2) |
Этот алгоритм хэширования был разработан в качестве преемника SHA-1 Национальным институтом стандартов и технологий (NIST) и Агентством национальной безопасности (NSA). Он имеет четыре варианта: SHA-224, SHA-256, SHA-384 и SHA-512, которые называются в соответствии с количеством битов в выходных данных. Из них SHA-256, SHA-384 и SHA-512 реализованы в поставщике шифрования Microsoft AES. |
Алгоритм авторизации клиента SSL3 |
Этот алгоритм используется для проверки подлинности клиента SSL3. В протоколе SSL3 объединение хэша MD5 и хэша SHA подписывается закрытым ключом RSA. CryptoAPI 2.0 и Microsoft Base и расширенные поставщики шифрования поддерживают это с хэш-типом CALG_SSL3_SHAMD5. Дополнительные сведения см. в статье "Создание хэша CALG_SSL3_SHAMD5". |