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


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

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

Константа/значение Описание
BCRYPT_3DES_ALGORITHM
L"3DES"
Стандартный алгоритм симметричного шифрования тройных данных.
Стандартный: SP800-67, SP800-38A
BCRYPT_3DES_112_ALGORITHM
L"3DES_112"
112-разрядный алгоритм шифрования стандартных симметричного шифрования данных.
Стандартный: SP800-67, SP800-38A
BCRYPT_AES_ALGORITHM
L"AES"
Расширенный алгоритм шифрования (AES) симметричного шифрования.
Стандартный: FIPS 197
BCRYPT_AES_CMAC_ALGORITHM
L"AES-CMAC"
Расширенный алгоритм шифрования на основе шифрования на основе шифров (CMAC) с использованием алгоритма симметричного шифрования.
Стандартный: SP 800-38B
Windows 8: начинается поддержка этого алгоритма.
BCRYPT_AES_GMAC_ALGORITHM
L"AES-GMAC"
Расширенный алгоритм шифрования (AES) Galois message authentication code (GMAC) с симметричным алгоритмом шифрования.
Стандартный: SP800-38D
Windows Vista: Этот алгоритм поддерживается начиная с Windows Vista с пакетом обновления 1 (SP1).
BCRYPT_CAPI_KDF_ALGORITHM
L"CAPI_KDF"
Алгоритм функции вывода ключей API шифрования (CAPI). Используется функциями BCryptKeyDerivation и NCryptKeyDerivation .
BCRYPT_CHACHA20_POLY1305_ALGORITHM
L"CHACHA20_POLY1305"
Алгоритм AEAD ChaCha20-Poly1305.
Стандарт: RFC 8439
Windows 10: Начинается поддержка этого алгоритма.
BCRYPT_CSHAKE128_ALGORITHM
L"CSHAKE128"
Производная XOF с 128-разрядной силой SHA3, производная от 128-разрядной.
Стандартный: SP800-185.
Windows 11 версии 24H2: Начинается поддержка этого алгоритма.
BCRYPT_CSHAKE256_ALGORITHM
L"CSHAKE256"
Производная от SHA3 настраиваемая XOF с 256-разрядной силой.
Стандартный: SP800-185.
Windows 11 версии 24H2: Начинается поддержка этого алгоритма.
BCRYPT_DES_ALGORITHM
L"DES"
Стандартный алгоритм симметричного шифрования данных.
Стандартный: FIPS 46-3, FIPS 81
BCRYPT_DESX_ALGORITHM
L"DESX"
Расширенный алгоритм шифрования данных стандартного симметричного шифрования.
Стандартный: Нет
BCRYPT_DH_ALGORITHM
L"DH"
Алгоритм обмена ключами Diffie-Hellman.
Стандартный: PKCS #3
BCRYPT_DSA_ALGORITHM
L"DSA"
Алгоритм цифровой подписи.
Стандартный: FIPS 186-2
Windows 8: Начиная с Windows 8 этот алгоритм поддерживает FIPS 186-3. Ключи меньше или равно 1024 битам соответствуют FIPS 186-2 и ключам больше 1024 до FIPS 186-3.
BCRYPT_ECDH_ALGORITHM
L"ECDH"
Универсальный многоточие кривой Diffie-Hellman алгоритм обмена ключами (дополнительные сведения см. в разделе "Примечания ").
Стандартный: SP800-56A.
BCRYPT_ECDSA_ALGORITHM
L"ECDSA"
Универсальный алгоритм цифровой подписи с многоточием (дополнительные сведения см. в разделе "Примечания ").
Стандартный: ANSI X9.62.
BCRYPT_ECDH_P256_ALGORITHM
L"ECDH_P256"
256-разрядная кривая с многоточием Diffie-Hellman алгоритм обмена ключами.
Стандартный: SP800-56A
BCRYPT_ECDH_P384_ALGORITHM
L"ECDH_P384"
384-разрядная кривая с многоточием Diffie-Hellman алгоритм обмена ключами.
Стандартный: SP800-56A
BCRYPT_ECDH_P521_ALGORITHM
L"ECDH_P521"
521-разрядная кривая с многоточием Diffie-Hellman алгоритме обмена ключами.
Стандартный: SP800-56A
BCRYPT_ECDSA_P256_ALGORITHM
L"ECDSA_P256"
256-разрядный алгоритм цифровой подписи с эллиптической кривой (FIPS 186-2).
Стандартный: FIPS 186-2, X9.62
BCRYPT_ECDSA_P384_ALGORITHM
L"ECDSA_P384"
384-разрядный алгоритм цифровой подписи с эллиптической кривой (FIPS 186-2).
Стандартный: FIPS 186-2, X9.62
BCRYPT_ECDSA_P521_ALGORITHM
L"ECDSA_P521"
521-разрядный алгоритм цифровой подписи с эллиптической кривой (FIPS 186-2).
Стандартный: FIPS 186-2, X9.62
BCRYPT_HKDF_ALGORITHM
L"HKDF"
Функция извлечения и расширения ключа на основе HMAC.
Стандартный: RFC 5869
Windows 10: Начинается поддержка этого алгоритма.
BCRYPT_KMAC128_ALGORITHM
L"KMAC128"
Код проверки подлинности сообщений Keccak (KMAC), производный от SHA3, построенный на CSHAKE128.
Стандартный: SP800-185.
Windows 11 версии 24H2: Начинается поддержка этого алгоритма.
BCRYPT_KMAC256_ALGORITHM
L"KMAC256"
Код проверки подлинности сообщений Keccak (KMAC), производный от SHA3, построенный на CSHAKE256.
Стандартный: SP800-185.
Windows 11 версии 24H2: Начинается поддержка этого алгоритма.
BCRYPT_LMS_ALGORITHM
L"LMS"
Алгоритм подписи Leighton-Micali Hash-Based. Стандарт: RFC 8554.

Заметка: Этот идентификатор является частью предварительного продукта, который может быть существенно изменен до его коммерческого выпуска. Корпорация Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых в отношении информации, предоставленной здесь. Идентификатор доступен в предварительной версии предварительной версии предварительной версии Программы предварительной оценки Windows.
BCRYPT_MD2_ALGORITHM
L"MD2"
Хэш-алгоритм MD2.
Стандарт: RFC 1319
BCRYPT_MD4_ALGORITHM
L"MD4"
Хэш-алгоритм MD4.
Стандартный: RFC 1320
BCRYPT_MD5_ALGORITHM
L"MD5"
Хэш-алгоритм MD5.
Стандарт: RFC 1321
BCRYPT_MLDSA_ALGORITHM
L"ML-DSA"
Модуль— алгоритм цифровой подписиLattice-Based (ML-DSA).
Стандартный: FIPS 204.

Заметка: Этот идентификатор является частью предварительного продукта, который может быть существенно изменен до его коммерческого выпуска. Корпорация Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых в отношении информации, предоставленной здесь. Идентификатор доступен в предварительной версии предварительной версии предварительной версии Программы предварительной оценки Windows.
BCRYPT_MLKEM_ALGORITHM
L"ML-KEM"
Алгоритм инкапсуляции ключа (ML-KEM) модуля—Lattice-Based.
Стандартный: FIPS 203.

Заметка: Этот идентификатор является частью предварительного продукта, который может быть существенно изменен до его коммерческого выпуска. Корпорация Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых в отношении информации, предоставленной здесь. Идентификатор доступен в предварительной версии предварительной версии предварительной версии Программы предварительной оценки Windows.
BCRYPT_RC2_ALGORITHM
L"RC2"
Алгоритм симметричного шифрования RC2.
Стандартный: RFC 2268
BCRYPT_RC4_ALGORITHM
L"RC4"
Алгоритм симметричного шифрования RC4.
Стандартный: различные
BCRYPT_RNG_ALGORITHM
L"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
L"DUALECRNG"
Алгоритм генератора случайных чисел двойной эллиптической кривой.
Стандартный: SP800-90.
Windows 8: Начиная с Windows 8 алгоритм RNG EC поддерживает 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
L"FIPS186DSARNG"
Алгоритм генератора случайных чисел, подходящий для DSA (алгоритм цифровой подписи).
Стандартный: FIPS 186-2.
Windows 8: начинается поддержка fiPS 186-3.
BCRYPT_RSA_ALGORITHM
L"RSA"
Алгоритм открытого ключа RSA.
Стандартный: PKCS #1 версии 1.5 и версии 2.0.
BCRYPT_RSA_SIGN_ALGORITHM
L"RSA_SIGN"
Алгоритм подписи RSA. Этот алгоритм в настоящее время не поддерживается. Для выполнения операций подписывания RSA можно использовать алгоритм BCRYPT_RSA_ALGORITHM .
Стандартный: PKCS #1 версии 1.5 и версии 2.0.
BCRYPT_SHA1_ALGORITHM
L"SHA1"
160-разрядный хэш-алгоритм.
Стандартный: FIPS 180-2, FIPS 198.
BCRYPT_SHA256_ALGORITHM
L"SHA256"
256-разрядный хэш-алгоритм.
Стандартный: FIPS 180-2, FIPS 198.
BCRYPT_SHA384_ALGORITHM
L"SHA384"
384-разрядный алгоритм безопасного хэша.
Стандартный: FIPS 180-2, FIPS 198.
BCRYPT_SHA512_ALGORITHM
L"SHA512"
512-разрядный алгоритм безопасного хэша.
Стандартный: FIPS 180-2, FIPS 198.
BCRYPT_SHA3_256_ALGORITHM
L"SHA3_256"
Алгоритм хэша SHA3 256-разрядной защиты.
Стандартный: FIPS 202.
Windows 11 версии 24H2: Начинается поддержка этого алгоритма.
BCRYPT_SHA3_384_ALGORITHM
L"SHA3_384"
Алгоритм хэша SHA3 384-разрядной защиты.
Стандартный: FIPS 202.
Windows 11 версии 24H2: Начинается поддержка этого алгоритма.
BCRYPT_SHA3_512_ALGORITHM
L"SHA3_512"
Алгоритм хэша SHA3 512-разрядной защиты.
Стандартный: FIPS 202.
Windows 11 версии 24H2: Начинается поддержка этого алгоритма.
BCRYPT_SHAKE128_ALGORITHM
L"SHAKE128"
SHA3 XOF с 128-разрядной силой.
Стандартный: FIPS 202.

Заметка: Этот идентификатор является частью предварительного продукта, который может быть существенно изменен до его коммерческого выпуска. Корпорация Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых в отношении информации, предоставленной здесь. Идентификатор доступен в предварительной версии предварительной версии предварительной версии Программы предварительной оценки Windows.
BCRYPT_SHAKE256_ALGORITHM
L"SHAKE256"
SHA3 XOF с 256-разрядной силой.
Стандартный: FIPS 202.

Заметка: Этот идентификатор является частью предварительного продукта, который может быть существенно изменен до его коммерческого выпуска. Корпорация Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых в отношении информации, предоставленной здесь. Идентификатор доступен в предварительной версии предварительной версии предварительной версии Программы предварительной оценки Windows.
BCRYPT_SLHDSA_ALGORITHM
L"SLH-DSA"
Алгоритм цифровой подписи на основе хэша без отслеживания состояния (SLH-DSA).
Стандартный: FIPS 205.

Заметка: Этот идентификатор является частью предварительного продукта, который может быть существенно изменен до его коммерческого выпуска. Корпорация Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых в отношении информации, предоставленной здесь. Идентификатор доступен в предварительной версии предварительной версии предварительной версии Программы предварительной оценки Windows.
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_XMSS_ALGORITHM
L"XMSS"
Алгоритм хэш-подписи на основе eXtended Merkle (XMSS). XMSS Standard: RFC 8391.

Заметка: Этот идентификатор является частью предварительного продукта, который может быть существенно изменен до его коммерческого выпуска. Корпорация Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых в отношении информации, предоставленной здесь. Идентификатор доступен в предварительной версии предварительной версии предварительной версии Программы предварительной оценки Windows.
BCRYPT_XTS_AES_ALGORITHM
L"XTS-AES"
Расширенный алгоритм симметричного шифрования (AES) в режиме XTS.
Стандарт: SP-800-38E, IEEE Std 1619-2007.
Windows 10: Начинается поддержка этого алгоритма.

Замечания

Чтобы использовать BCRYPT_ECDSA_ALGORITHM или 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

Идентификаторы свойств CNG

BCryptSetProperty