ALG_ID

Тип данных ALG_ID указывает идентификатор алгоритма. Параметры этого типа данных передаются большинству функций в CryptoAPI.

typedef unsigned int ALG_ID;

В следующей таблице перечислены идентификаторы алгоритмов, которые определены в данный момент. Авторы пользовательских поставщиков служб шифрования (CSP) могут определять новые значения. Кроме того, ALG_ID , используемые пользовательскими поставщиками служб конфигурации для ключевых спецификаций, AT_KEYEXCHANGE и AT_SIGNATURE зависят от поставщика. Текущие сопоставления следуют за таблицей.

Идентификатор Значение Описание
CALG_3DES 0x00006603 Тройной алгоритм шифрования DES.
CALG_3DES_112 0x00006609 Двухключовое тройное шифрование DES с действующей длиной ключа, равной 112 битам.
CALG_AES 0x00006611 Расширенный стандарт шифрования (AES). Этот алгоритм поддерживается поставщиком шифрования Microsoft AES.
CALG_AES_128 0x0000660e 128-разрядный AES. Этот алгоритм поддерживается поставщиком шифрования Microsoft AES.
CALG_AES_192 0x0000660f 192-разрядный AES. Этот алгоритм поддерживается поставщиком шифрования Microsoft AES.
CALG_AES_256 0x00006610 256-разрядный AES. Этот алгоритм поддерживается поставщиком шифрования Microsoft AES.
CALG_AGREEDKEY_ANY 0x0000aa03 Временный идентификатор алгоритма для дескрипторов ключей, согласованных с Диффи-Хеллманом.
CALG_CYLINK_MEK 0x0000660c Алгоритм для создания 40-разрядного ключа DES с битами четности и обнуляющими битами ключей, чтобы сделать ключ длиной 64 бита. Этот алгоритм поддерживается поставщиком базовых служб шифрования Майкрософт.
CALG_DES 0x00006601 Алгоритм шифрования DES.
CALG_DESX 0x00006604 Алгоритм шифрования DESX.
CALG_DH_EPHEM 0x0000aa02 Diffie-Hellman эфемерный алгоритм обмена ключами.
CALG_DH_SF 0x0000aa01 Diffie-Hellman алгоритма обмена ключами и их пересылки.
CALG_DSS_SIGN 0x00002200 Алгоритм подписи открытого ключа DSA.
CALG_ECDH 0x0000aa05 Эллиптическая кривая Diffie-Hellman алгоритм обмена ключами. Примечание: Этот алгоритм поддерживается только через API шифрования: следующее поколение.
Windows Server 2003 и Windows XP: Этот алгоритм не поддерживается.
CALG_ECDH_EPHEM 0x0000ae06 Эфемерная эллиптическая кривая Diffie-Hellman алгоритм обмена ключами. Примечание: Этот алгоритм поддерживается только через API шифрования: следующее поколение.
Windows Server 2003 и Windows XP: Этот алгоритм не поддерживается.
CALG_ECDSA 0x00002203 Алгоритм цифровой подписи на эллиптической кривой. Примечание: Этот алгоритм поддерживается только через API шифрования: следующее поколение.
Windows Server 2003 и Windows XP: Этот алгоритм не поддерживается.
CALG_ECMQV 0x0000a001 Алгоритм обмена ключами Менезеса, Qu и Ванстоуна (MQV) на эллиптической кривой. Этот алгоритм не поддерживается.
CALG_HASH_REPLACE_OWF 0x0000800b Односторонние алгоритмы хэширования функций.
CALG_HUGHES_MD5 0x0000a003 Алгоритм хэширования Hughes MD5.
CALG_HMAC 0x00008009 Хэш-алгоритм с ключом HMAC. Этот алгоритм поддерживается поставщиком базовых служб шифрования Майкрософт.
CALG_KEA_KEYX 0x0000aa04 Алгоритм обмена ключами KEA (FORTEZZA). Этот алгоритм не поддерживается.
CALG_MAC 0x00008005 Хэш-алгоритм с ключом MAC. Этот алгоритм поддерживается поставщиком базовых служб шифрования Майкрософт.
CALG_MD2 0x00008001 Алгоритм хэширования MD2. Этот алгоритм поддерживается поставщиком базовых служб шифрования Майкрософт.
CALG_MD4 0x00008002 Алгоритм хэширования MD4.
CALG_MD5 0x00008003 Алгоритм хэширования MD5. Этот алгоритм поддерживается поставщиком базовых служб шифрования Майкрософт.
CALG_NO_SIGN 0x00002000 Нет алгоритма подписи.
CALG_OID_INFO_CNG_ONLY 0xffffffff Алгоритм реализуется только в CNG. Макрос, IS_SPECIAL_OID_INFO_ALGID, можно использовать, чтобы определить, поддерживается ли алгоритм шифрования только с помощью функций CNG.
CALG_OID_INFO_PARAMETERS 0xfffffffe Алгоритм определяется в закодированных параметрах. Алгоритм поддерживается только с помощью CNG. Макрос, IS_SPECIAL_OID_INFO_ALGID, можно использовать, чтобы определить, поддерживается ли алгоритм шифрования только с помощью функций CNG.
CALG_PCT1_MASTER 0x00004c04 Используется операционной системой Schannel.dll. Приложения не должны использовать этот ALG_ID .
CALG_RC2 0x00006602 Алгоритм шифрования блоков RC2. Этот алгоритм поддерживается поставщиком базовых служб шифрования Майкрософт.
CALG_RC4 0x00006801 Алгоритм шифрования потока RC4. Этот алгоритм поддерживается поставщиком базовых служб шифрования Майкрософт.
CALG_RC5 0x0000660d Алгоритм блочного шифрования RC5.
CALG_RSA_KEYX 0x0000a400 Алгоритм обмена открытыми ключами RSA. Этот алгоритм поддерживается поставщиком базовых служб шифрования Майкрософт.
CALG_RSA_SIGN 0x00002400 Алгоритм подписи открытого ключа RSA. Этот алгоритм поддерживается поставщиком базовых служб шифрования Майкрософт.
CALG_SCHANNEL_ENC_KEY 0x00004c07 Используется операционной системой Schannel.dll. Приложения не должны использовать этот ALG_ID .
CALG_SCHANNEL_MAC_KEY 0x00004c03 Используется операционной системой Schannel.dll. Приложения не должны использовать этот ALG_ID .
CALG_SCHANNEL_MASTER_HASH 0x00004c02 Используется операционной системой Schannel.dll. Приложения не должны использовать этот ALG_ID .
CALG_SEAL 0x00006802 Алгоритм шифрования SEAL. Этот алгоритм не поддерживается.
CALG_SHA 0x00008004 Алгоритм хэширования SHA. Этот алгоритм поддерживается поставщиком базовых служб шифрования Майкрософт.
CALG_SHA1 0x00008004 То же, что и CALG_SHA. Этот алгоритм поддерживается поставщиком базовых служб шифрования Майкрософт.
CALG_SHA_256 0x0000800c 256-разрядный алгоритм хэширования SHA. Этот алгоритм поддерживается microsoft Enhanced RSA и поставщиком шифрования AES. Windows XP с пакетом обновления 3 (SP3): Этот алгоритм поддерживается поставщиком шифрования Microsoft Enhanced RSA и AES Cryptographic Provider (Прототип).
Windows XP с пакетом обновления 2 (SP2), Windows XP с пакетом обновления 1 (SP1) и Windows XP: Этот алгоритм не поддерживается.
CALG_SHA_384 0x0000800d 384-разрядный алгоритм хэширования SHA. Этот алгоритм поддерживается microsoft Enhanced RSA и поставщиком шифрования AES. Windows XP с пакетом обновления 3 (SP3): Этот алгоритм поддерживается поставщиком шифрования Microsoft Enhanced RSA и AES Cryptographic Provider (Прототип).
Windows XP с пакетом обновления 2 (SP2), Windows XP с пакетом обновления 1 (SP1) и Windows XP: Этот алгоритм не поддерживается.
CALG_SHA_512 0x0000800e 512-разрядный алгоритм хэширования SHA. Этот алгоритм поддерживается microsoft Enhanced RSA и поставщиком шифрования AES. Windows XP с пакетом обновления 3 (SP3): Этот алгоритм поддерживается поставщиком шифрования Microsoft Enhanced RSA и AES Cryptographic Provider (Прототип).
Windows XP с пакетом обновления 2 (SP2), Windows XP с пакетом обновления 1 (SP1) и Windows XP: Этот алгоритм не поддерживается.
CALG_SKIPJACK 0x0000660a Алгоритм шифрования блоков Skipjack (FORTEZZA). Этот алгоритм не поддерживается.
CALG_SSL2_MASTER 0x00004c05 Используется операционной системой Schannel.dll. Приложения не должны использовать этот ALG_ID .
CALG_SSL3_MASTER 0x00004c01 Используется операционной системой Schannel.dll. Приложения не должны использовать этот ALG_ID .
CALG_SSL3_SHAMD5 0x00008008 Используется операционной системой Schannel.dll. Приложения не должны использовать этот ALG_ID .
CALG_TEK 0x0000660b TEK (FORTEZZA). Этот алгоритм не поддерживается.
CALG_TLS1_MASTER 0x00004c06 Используется операционной системой Schannel.dll. Приложения не должны использовать этот ALG_ID .
CALG_TLS1PRF 0x0000800a Используется операционной системой Schannel.dll. Приложения не должны использовать этот ALG_ID .

 

Для поставщика служб шифрования Microsoft Base,Microsoft Strong Cryptographic Provider и Microsoft Enhanced Cryptographic ProviderALG_IDs , которые используются для ключевых спецификаций AT_KEYEXCHANGE и AT_SIGNATURE :

  • CALG_RSA_KEYX используется для AT_KEYEXCHANGE.
  • CALG_RSA_SIGN используется для AT_SIGNATURE.

Для поставщика служб шифрования Microsoft Base DSS и Diffie-HellmanALG_IDs , используемые для ключевых спецификаций AT_KEYEXCHANGE и AT_SIGNATURE , приведены ниже.

  • CALG_DH_SF используется для AT_KEYEXCHANGE.
  • CALG_DSS_SIGN используется для AT_SIGNATURE.

Требования

Требование Значение
Минимальная версия клиента
Windows XP [только классические приложения]
Минимальная версия сервера
Windows Server 2003 [только классические приложения]
Заголовок
Wincrypt.h

См. также раздел

Криптографические функции

CRYPT_ALGORITHM_IDENTIFIER

CryptFindOIDInfo