Идентификаторы алгоритма CNG

Следующие идентификаторы используются для определения стандартных алгоритмов шифрования в различных функциях и структурах CNG, таких как структура CRYPT_INTERFACE_REG . Сторонние поставщики могут иметь дополнительные алгоритмы, которые они поддерживают.

Констант/значение Описание
BCRYPT_3DES_ALGORITHM
"3DES"
Стандартный алгоритм симметричного шифрования тройного шифрования данных.
Стандартный: SP800-67, SP800-38A
BCRYPT_3DES_112_ALGORITHM
"3DES_112"
Стандартный алгоритм симметричного шифрования 112-разрядного тройного шифрования данных.
Стандартный: SP800-67, SP800-38A
BCRYPT_AES_ALGORITHM
"AES"
Расширенный стандартный алгоритм симметричного шифрования.
Стандартный: FIPS 197
BCRYPT_AES_CMAC_ALGORITHM
"AES-CMAC"
Алгоритм симметричного шифрования CMAC на основе шифра AES.
Стандартный: SP 800-38B
Windows 8: Начинается поддержка этого алгоритма.

BCRYPT_AES_GMAC_ALGORITHM
"AES-GMAC"
Алгоритм симметричного шифрования кода проверки подлинности сообщений (GMAC) расширенного стандарта шифрования (AES).
Стандартный: SP800-38D
Windows Vista: Этот алгоритм поддерживается начиная с Windows Vista с пакетом обновления 1 (SP1).
BCRYPT_CAPI_KDF_ALGORITHM
L"CAPI_KDF"
Алгоритм производной функции ключа API шифрования (CAPI). Используется функциями BCryptKeyDerivation и NCryptKeyDerivation .
BCRYPT_DES_ALGORITHM
"DES"
Стандартный алгоритм симметричного шифрования данных.
Стандартный: FIPS 46-3, FIPS 81
BCRYPT_DESX_ALGORITHM
"DESX"
Расширенный стандартный алгоритм симметричного шифрования данных.
Стандартный: нет
BCRYPT_DH_ALGORITHM
"DH"
Алгоритм обмена ключами Diffie-Hellman.
Стандартный: PKCS No 3
BCRYPT_DSA_ALGORITHM
"DSA"
Алгоритм цифровой подписи.
Стандартный: FIPS 186-2
Windows 8: Начиная с Windows 8 этот алгоритм поддерживает FIPS 186-3. Ключи, не превышающие 1024 бита, соответствуют fips 186-2, а ключи больше 1024 — FIPS 186-3.
BCRYPT_ECDH_P256_ALGORITHM
"ECDH_P256"
256-разрядная премьер-эллиптическая кривая Diffie-Hellman алгоритм обмена ключами.
Стандартный: SP800-56A
BCRYPT_ECDH_P384_ALGORITHM
"ECDH_P384"
384-разрядная премьер-эллиптическая кривая Diffie-Hellman алгоритмом обмена ключами.
Стандартный: SP800-56A
BCRYPT_ECDH_P521_ALGORITHM
"ECDH_P521"
521-разрядная премьер-эллиптическая кривая Diffie-Hellman алгоритмом обмена ключами.
Стандартный: SP800-56A
BCRYPT_ECDSA_P256_ALGORITHM
"ECDSA_P256"
256-разрядный алгоритм цифровой подписи с основной эллиптической кривой (FIPS 186-2).
Стандартный: FIPS 186-2, X9.62
BCRYPT_ECDSA_P384_ALGORITHM
"ECDSA_P384"
Алгоритм цифровой подписи с 384-разрядной премьер-эллиптической кривой (FIPS 186-2).
Стандартный: FIPS 186-2, X9.62
BCRYPT_ECDSA_P521_ALGORITHM
"ECDSA_P521"
Алгоритм цифровой подписи с 521-разрядной премьер-эллиптической кривой (FIPS 186-2).
Стандартный: FIPS 186-2, X9.62
BCRYPT_MD2_ALGORITHM
"MD2"
Хэш-алгоритм MD2.
Стандарт: RFC 1319
BCRYPT_MD4_ALGORITHM
"MD4"
Хэш-алгоритм MD4.
Стандартный: RFC 1320
BCRYPT_MD5_ALGORITHM
"MD5"
Хэш-алгоритм MD5.
Стандарт: RFC 1321
BCRYPT_RC2_ALGORITHM
"RC2"
Алгоритм симметричного шифрования блока RC2.
Стандарт: RFC 2268
BCRYPT_RC4_ALGORITHM
"RC4"
Алгоритм симметричного шифрования RC4.
Стандартный: различные
BCRYPT_RNG_ALGORITHM
"RNG"
Алгоритм генератора случайных чисел.
Стандартный: FIPS 186-2, FIPS 140-2, NIST SP 800-90
Примечание: Начиная с Windows Vista с пакетом обновления 1 (SP1) и Windows Server 2008 генератор случайных чисел основан на режиме счетчика AES, указанном в стандарте NIST SP 800-90.
Windows Vista: Генератор случайных чисел основан на генераторе случайных чисел на основе хэша, указанном в стандарте FIPS 186-2.
Windows 8: Начиная с Windows 8 алгоритм RNG поддерживает FIPS 186-3. Ключи, не превышающие 1024 бита, соответствуют fips 186-2, а ключи больше 1024 — FIPS 186-3.
BCRYPT_RNG_DUAL_EC_ALGORITHM
"DUALECRNG"
Алгоритм генератора случайных чисел двойной эллиптической кривой.
Стандартный: SP800-90.
Windows 8: Начиная с Windows 8, алгоритм EC RNG поддерживает FIPS 186-3. Ключи, не превышающие 1024 бита, соответствуют fips 186-2, а ключи больше 1024 — FIPS 186-3.
Windows 10: Начиная с Windows 10, алгоритм генератора случайных чисел с двойной эллиптической кривой был удален. Существующие способы использования этого алгоритма будут продолжать работать; Однако генератор случайных чисел основан на режиме счетчика AES, указанном в стандарте NIST SP 800-90. Новый код должен использовать BCRYPT_RNG_ALGORITHM, и рекомендуется изменить существующий код для использования BCRYPT_RNG_ALGORITHM.
BCRYPT_RNG_FIPS186_DSA_ALGORITHM
"FIPS186DSARNG"
Алгоритм генератора случайных чисел, подходящий для DSA (алгоритм цифровой подписи).
Стандартный: FIPS 186-2.
Windows 8: Начинается поддержка FIPS 186-3.
BCRYPT_RSA_ALGORITHM
"RSA"
Алгоритм открытого ключа RSA.
Стандартный: PKCS 1 версии 1.5 и 2.0.
BCRYPT_RSA_SIGN_ALGORITHM
"RSA_SIGN"
Алгоритм подписи RSA. В настоящее время этот алгоритм не поддерживается. Для выполнения операций подписывания RSA можно использовать алгоритм BCRYPT_RSA_ALGORITHM .
Стандартный: PKCS 1 версии 1.5 и 2.0.
BCRYPT_SHA1_ALGORITHM
"SHA1"
160-разрядный безопасный хэш-алгоритм.
Стандартный: FIPS 180-2, FIPS 198.
BCRYPT_SHA256_ALGORITHM
"SHA256"
256-разрядный алгоритм безопасного хэша.
Стандартный: FIPS 180-2, FIPS 198.
BCRYPT_SHA384_ALGORITHM
"SHA384"
384-разрядный алгоритм безопасного хэша.
Стандартный: FIPS 180-2, FIPS 198.
BCRYPT_SHA512_ALGORITHM
"SHA512"
512-разрядный алгоритм безопасного хэша.
Стандартный: FIPS 180-2, FIPS 198.
BCRYPT_SP800108_CTR_HMAC_ALGORITHM
L"SP800_108_CTR_HMAC"
Режим счетчика, алгоритм функции производной функции на основе хэш-кода проверки подлинности сообщений (HMAC). Используется функциями BCryptKeyDerivation и NCryptKeyDerivation .
BCRYPT_SP80056A_CONCAT_ALGORITHM
L"SP800_56A_CONCAT"
Алгоритм функции наследования ключа SP800-56A. Используется функциями BCryptKeyDerivation и NCryptKeyDerivation .
BCRYPT_PBKDF2_ALGORITHM
L"PBKDF2"
Алгоритм производной функции ключа на основе пароля 2 (PBKDF2). Используется функциями BCryptKeyDerivation и NCryptKeyDerivation .
BCRYPT_ECDSA_ALGORITHM
"ECDSA"
Универсальный алгоритм цифровой подписи с основной эллиптической кривой (дополнительные сведения см. в разделе Примечания ).
Стандартный: ANSI X9.62.
BCRYPT_ECDH_ALGORITHM
"ECDH"
Универсальная премьер-эллиптическая кривая Diffie-Hellman алгоритм обмена ключами (дополнительные сведения см. в разделе Примечания ).
Стандартный: SP800-56A.
BCRYPT_XTS_AES_ALGORITHM
"XTS-AES"
Расширенный стандартный алгоритм симметричного шифрования в режиме XTS.
Standard: SP-800-38E, IEEE Std 1619-2007.
Windows 10: Начинается поддержка этого алгоритма.

Комментарии

Чтобы использовать BCRYPT_ECDSA_ALGORITM или BCRYPT_ECDH_ALGORITHM, вызовите BCryptOpenAlgorithmProvider с BCRYPT_ECDSA_ALGORITHM или BCRYPT_ECDH_ALGORITHM в качестве pszAlgId. Затем используйте BCryptSetProperty , чтобы задать для свойства BCRYPT_ECC_CURVE_NAME именованный алгоритм, указанный в разделе Именованные кривые CNG.

Чтобы предоставить определяемые пользователем параметры эллиптической кривой напрямую, используйте BCryptSetProperty , чтобы задать свойство BCRYPT_ECC_PARAMETERS . Скачайте комплект разработчика поставщиков шифрования Windows 10 (CPDK) для получения дополнительных сведений.

Требования

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

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

BCryptOpenAlgorithmProvider

NCryptCreatePersistedKey