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


ALG_ID

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

typedef unsigned int ALG_ID;

В следующей таблице перечислены идентификаторы алгоритма, определенные в данный момент. Авторы пользовательских поставщиков служб шифрования (CSPs) могут определять новые значения. Кроме того, 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 Временный идентификатор алгоритма для дескрипторов ключей Diffie-Hellman.
CALG_CYLINK_MEK 0x0000660c Алгоритм создания 40-разрядного ключа DES с битами четности и нольными битами ключей, чтобы сделать его длину ключа 64 битами. Этот алгоритм поддерживается поставщиком шифрования Microsoft Base.
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 и Vanstone (MQV). Этот алгоритм не поддерживается.
CALG_HASH_REPLACE_OWF 0x0000800b Один из способов хэширования функции.
CALG_HUGHES_MD5 0x0000a003 Алгоритм хэширования Hughes MD5.
CALG_HMAC 0x00008009 Хэш-алгоритм HMAC. Этот алгоритм поддерживается поставщиком шифрования Microsoft Base.
CALG_KEA_KEYX 0x0000aa04 Алгоритм обмена ключами KEA (FORTEZZA). Этот алгоритм не поддерживается.
CALG_MAC 0x00008005 Хэш-алгоритм с ключами MAC. Этот алгоритм поддерживается поставщиком шифрования Microsoft Base.
CALG_MD2 0x00008001 Алгоритм хэширования MD2. Этот алгоритм поддерживается поставщиком шифрования Microsoft Base.
CALG_MD4 0x00008002 Алгоритм хэширования MD4.
CALG_MD5 0x00008003 Алгоритм хэширования MD5. Этот алгоритм поддерживается поставщиком шифрования Microsoft Base.
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_OID_INFO_PQ 0xFFFFFFFD Алгоритмы криптографии после квантовых вычислений.
CALG_OID_INFO_PQ_T 0xFFFFFFFC Пост квантовые и традиционные составные алгоритмы.
CALG_PCT1_MASTER 0x00004c04 Используется системой Schannel.dll операций. Этот ALG_ID не должен использоваться приложениями.
CALG_RC2 0x00006602 Алгоритм шифрования блоков RC2. Этот алгоритм поддерживается поставщиком шифрования Microsoft Base.
CALG_RC4 0x00006801 Алгоритм шифрования потока RC4. Этот алгоритм поддерживается поставщиком шифрования Microsoft Base.
CALG_RC5 0x0000660d Алгоритм шифрования блоков RC5.
CALG_RSA_KEYX 0x0000a400 Алгоритм обмена открытым ключом RSA. Этот алгоритм поддерживается поставщиком шифрования Microsoft Base.
CALG_RSA_SIGN 0x00002400 Алгоритм подписи открытого ключа RSA. Этот алгоритм поддерживается поставщиком шифрования Microsoft Base.
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. Этот алгоритм поддерживается поставщиком шифрования Microsoft Base.
CALG_SHA1 0x00008004 То же, что и CALG_SHA. Этот алгоритм поддерживается поставщиком шифрования Microsoft Base.
CALG_SHA_256 0x0000800c 256-разрядный алгоритм хэширования SHA. Этот алгоритм поддерживается поставщиком шифрования microsoft Enhanced RSA и AES.
Windows XP с пакетом обновления 3 (SP3): Этот алгоритм поддерживается поставщиком шифрования AES (прототипом) Microsoft Enhanced RSA и AES.
Windows XP с пакетом обновления 2 (SP2), Windows XP с пакетом обновления 1 (SP1) и Windows XP: Этот алгоритм не поддерживается.
CALG_SHA_384 0x0000800d 384-разрядный алгоритм хэширования SHA. Этот алгоритм поддерживается поставщиком шифрования microsoft Enhanced RSA и AES. Windows XP с пакетом обновления 3 (SP3): Этот алгоритм поддерживается поставщиком шифрования AES (прототипом) Microsoft Enhanced RSA и AES.
Windows XP с пакетом обновления 2 (SP2), Windows XP с пакетом обновления 1 (SP1) и Windows XP: Этот алгоритм не поддерживается.
CALG_SHA_512 0x0000800e 512-разрядный алгоритм хэширования SHA. Этот алгоритм поддерживается поставщиком шифрования microsoft Enhanced RSA и AES.
Windows XP с пакетом обновления 3 (SP3): Этот алгоритм поддерживается поставщиком шифрования AES (прототипом) Microsoft Enhanced RSA и AES.
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 и поставщика расширенного шифрования МайкрософтALG_IDs , используемого для ключевых спецификаций AT_KEYEXCHANGE и AT_SIGNATURE , приведены ниже.

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

Для поставщиков шифрования microsoft Base DSS и Diffie-Hellman ALG_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