Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Начиная с Windows 10, CNG (API шифрования: следующее поколение) предоставляет предварительно определенные алгоритмы для криптографических операций. Этот алгоритм упрощает разработку, устраняя необходимость вручную создавать дескриптора для распространенных алгоритмов шифрования, включая хэш-функции, алгоритмы шифрования, цифровые подписи и функции вывода ключей.
Алгоритмы хэш-проверки подлинности и кода проверки подлинности сообщений (MAC)
| Постоянный | Описание | Стандарты |
|---|---|---|
|
BCRYPT_MD2_ALG_HANDLE 0x00000001 |
Дескриптор хэш-алгоритма MD2. | RFC 1319 |
|
BCRYPT_MD4_ALG_HANDLE 0x00000011 |
Дескриптор хэш-алгоритма MD4. | RFC 1320 |
|
BCRYPT_MD5_ALG_HANDLE 0x00000021 |
Дескриптор хэш-алгоритма MD5. | RFC 1321 |
|
BCRYPT_SHA1_ALG_HANDLE 0x00000031 |
Дескриптор для 160-разрядного алгоритма безопасного хэша. | FIPS 180-4 |
|
BCRYPT_SHA256_ALG_HANDLE 0x00000041 |
Дескриптор для 256-разрядного алгоритма безопасного хэша. | FIPS 180-4 |
|
BCRYPT_SHA384_ALG_HANDLE 0x00000051 |
Дескриптор для 384-разрядного алгоритма безопасного хэша. | FIPS 180-4 |
|
BCRYPT_SHA512_ALG_HANDLE 0x00000061 |
Дескриптор для 512-разрядного хэш-алгоритма. | FIPS 180-4 |
|
BCRYPT_HMAC_SHA1_ALG_HANDLE 0x000000A1 |
Дескриптор для кода проверки подлинности на основе хэша на основе хэша с помощью 160-разрядного алгоритма безопасного хэша. | FIPS 180-4, FIPS 198-1 |
|
BCRYPT_HMAC_SHA256_ALG_HANDLE 0x000000B1 |
Дескриптор для кода проверки подлинности на основе хэша на основе хэша с помощью 256-разрядного алгоритма безопасного хэша. | FIPS 180-4, FIPS 198-1 |
|
BCRYPT_HMAC_SHA384_ALG_HANDLE 0x000000C1 |
Дескриптор для кода проверки подлинности на основе хэша на основе хэша с помощью 384-разрядного алгоритма безопасного хэша. | FIPS 180-4, FIPS 198-1 |
|
BCRYPT_HMAC_SHA512_ALG_HANDLE 0x000000D1 |
Дескриптор для кода проверки подлинности на основе хэша на основе хэша с помощью 512-разрядного алгоритма безопасного хэша. | FIPS 180-4, FIPS 198-1 |
|
BCRYPT_HMAC_MD2_ALG_HANDLE 0x00000121 |
Дескриптор для кода проверки подлинности на основе хэша сообщений с помощью алгоритма хэша MD2. | RFC 1319, RFC 2104 |
|
BCRYPT_HMAC_MD4_ALG_HANDLE 0x00000131 |
Дескриптор для кода проверки подлинности на основе хэша сообщений с помощью алгоритма хэша MD4. | RFC 1320, RFC 2104 |
|
BCRYPT_HMAC_MD5_ALG_HANDLE 0x00000091 |
Дескриптор для кода проверки подлинности на основе хэша сообщений с помощью алгоритма хэша MD4. | RFC 1321, RFC 2104 |
| Доступно в Windows 11 версии 23H2 | ||
|
BCRYPT_SHA3_256_ALG_HANDLE 0x000003B1 |
Дескриптор алгоритма хэша SHA3 256-разрядной защиты. | FIPS 202 |
|
BCRYPT_SHA3_384_ALG_HANDLE 0x000003C1 |
Дескриптор для алгоритма хэша SHA3 384-разрядной защиты. | FIPS 202 |
|
BCRYPT_SHA3_512_ALG_HANDLE 0x000003D1 |
Дескриптор для алгоритма хэша SHA3 512-разрядной защиты. | FIPS 202 |
|
BCRYPT_HMAC_SHA3_256_ALG_HANDLE 0x000003E1 |
Дескриптор для кода проверки подлинности на основе хэша на основе хэша с помощью алгоритма хэша SHA3 256-разрядной версии. | FIPS 202, FIPS 198-1 |
|
BCRYPT_HMAC_SHA3_384_ALG_HANDLE 0x000003F1 |
Дескриптор для кода проверки подлинности на основе хэша на основе хэша с помощью алгоритма хэша SHA3 384-разрядной версии. | FIPS 202, FIPS 198-1 |
|
BCRYPT_HMAC_SHA3_512_ALG_HANDLE 0x00000401 |
Дескриптор для кода проверки подлинности на основе хэша на основе хэша с помощью алгоритма хэша SHA3 512-разрядного хэша. | FIPS 202, FIPS 198-1 |
|
BCRYPT_CSHAKE128_ALG_HANDLE 0x00000411 |
Дескриптор хэш-алгоритма sha3, производный от CSHAKE 128-разрядной (расширяемой выходной функции). | SP 800-185 |
|
BCRYPT_CSHAKE256_ALG_HANDLE 0x00000421 |
Дескриптор хэш-алгоритма хэша SHA3, производный от CSHAKE 256-разрядной (расширяемой выходной функции). | SP 800-185 |
|
BCRYPT_KMAC128_ALG_HANDLE 0x00000431 |
Дескриптор для производного кода проверки подлинности сообщений Keccak (KMAC), созданного на основе cSHAKE128. | SP 800-185 |
|
BCRYPT_KMAC256_ALG_HANDLE 0x00000441 |
Дескриптор для производного кода проверки подлинности сообщений Keccak (KMAC), созданного на основе cSHAKE256. | SP 800-185 |
Алгоритмы цифровой подписи PQ
Замечание
Дескриптор PQDSA в этом разделе относится к предварительному продукту, который может быть существенно изменен до его коммерческого выпуска. Корпорация Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых в отношении информации, предоставленной здесь. Функция, описанная в этом разделе, доступна в предварительной версии предварительной версии Предварительной версии Windows.
| Постоянный | Описание | Стандарты |
|---|---|---|
| BCRYPT_LMS_ALG_HANDLE | Дескриптор алгоритма подписи Leighton-Micali Hash-Based (LMS). | RFC 8554 |
| BCRYPT_MLDSA_ALG_HANDLE | Дескриптор алгоритма цифровой подписи модуляLattice-Based (ML-DSA). | FIPS 204 |
| BCRYPT_SLHDSA_ALG_HANDLE | Дескриптор алгоритма цифровой подписи без отслеживания состояния (SLH-DSA). | FIPS 205 |
| BCRYPT_XMSS_ALG_HANDLE | Дескриптор алгоритма хэш-хэша с отслеживанием состояния в схеме eXtended Merkle Signature Scheme (XMSS). | RFC 8391 |
Алгоритмы шифров потоковой передачи
| Постоянный | Описание | Стандарты |
|---|---|---|
|
BCRYPT_RC4_ALG_HANDLE 0x00000071 |
Дескриптор алгоритма шифра потока RC4. | Разное |
Алгоритмы генератора случайных чисел
| Постоянный | Описание | Стандарты |
|---|---|---|
|
BCRYPT_RNG_ALG_HANDLE 0x00000081 |
Дескриптор алгоритма генератора случайных чисел. | Начиная с Windows 10: Используемый алгоритм RNG — это AES CTR_DRBG, определенный в пакете обновления 800-90A. |
Алгоритмы функции производных ключей (KDF)
| Постоянный | Описание |
|---|---|
|
BCRYPT_CAPI_KDF_ALG_HANDLE 0x00000321 |
Дескриптор алгоритма функции вывода ключей API шифрования (CAPI). Используется функциями BCryptKeyDerivation и NCryptKeyDerivation . |
|
BCRYPT_PBKDF2_ALG_HANDLE 0x00000331 |
Дескриптор функции производного ключа на основе паролей 2 (PBKDF2). Используется функциями BCryptKeyDerivation и NCryptKeyDerivation . |
|
BCRYPT_SP800108_CTR_HMAC_ALG_HANDLE 0x00000341 |
Дескриптор режима счетчика, хэш-код проверки подлинности сообщений (HMAC) алгоритм функции вывода ключей. Используется функциями BCryptKeyDerivation и NCryptKeyDerivation . |
|
BCRYPT_SP80056A_CONCAT_ALG_HANDLE 0x00000351 |
Дескриптор функции извлечения ключей SP800-56A. Используется функциями BCryptKeyDerivation и NCryptKeyDerivation . |
|
BCRYPT_HKDF_ALG_HANDLE 0x00000391 |
Дескриптор функции извлечения и расширения ключа на основе HMAC. Используется функциями BCryptKeyDerivation и NCryptKeyDerivation . |
Алгоритмы механизма инкапсуляции ключей (KEM)
Замечание
ML-KEM дескриптор в этом разделе относится к предварительному продукту, который может быть существенно изменен до его коммерческого выпуска. Корпорация Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых в отношении информации, предоставленной здесь. Функция, описанная в этом разделе, доступна в предварительной версии предварительной версии Предварительной версии Windows.
| Постоянный | Описание | Стандарты |
|---|---|---|
| BCRYPT_MLKEM_ALG_HANDLE | Дескриптор алгоритмаLattice-Based инкапсуляции ключа (ML-KEM) модуля. | FIPS 203 |
Асимметричные алгоритмы
| Постоянный | Описание | Стандарты |
|---|---|---|
|
BCRYPT_DH_ALG_HANDLE 0x00000281 |
Дескриптор алгоритма обмена ключами Diffie-Hellman. | PKCS #3 |
|
BCRYPT_DSA_ALG_HANDLE 0x000002D1 |
Дескриптор алгоритма цифровой подписи (DSA). |
FIPS 186-2 Начиная с Windows 8: Этот алгоритм поддерживает FIPS 186-3. Ключи меньше или равно 1024 битам соответствуют FIPS 186-2 и ключам больше 1024 до FIPS 186-3. |
|
BCRYPT_ECDH_ALG_HANDLE 0x00000291 |
Дескриптор универсальной эллиптической кривой Diffie-Hellman алгоритм обмена ключами. | SP 800-56A |
|
BCRYPT_ECDH_P256_ALG_HANDLE 0x000002A1 |
Дескриптор 256-разрядной основной эллиптической кривой Diffie-Hellman алгоритме обмена ключами. | SP 800-56A |
|
BCRYPT_ECDH_P384_ALG_HANDLE 0x000002B1 |
Дескриптор 384-разрядной эллиптической кривой Diffie-Hellman алгоритме обмена ключами. | SP 800-56A |
|
BCRYPT_ECDH_P521_ALG_HANDLE 0x000002C1 |
Дескриптор 521-разрядной эллиптической кривой Diffie-Hellman алгоритме обмена ключами. | SP 800-56A |
|
BCRYPT_ECDSA_ALG_HANDLE 0x000000F1 |
Дескриптор универсального алгоритма цифровой подписи с многоточием. | ANSI X9.62 |
|
BCRYPT_ECDSA_P256_ALG_HANDLE 0x000002E1 |
Дескриптор 256-разрядной эллиптической кривой цифровой подписи. | FIPS 186-2, X9.62 |
|
BCRYPT_ECDSA_P384_ALG_HANDLE 0x000002F1 |
Дескриптор 384-разрядной эллиптической кривой цифровой подписи. | FIPS 186-2, X9.62 |
|
BCRYPT_ECDSA_P521_ALG_HANDLE 0x00000301 |
Дескриптор 521-разрядной эллиптической кривой цифровой подписи. | FIPS 186-2, X9.62 |
|
BCRYPT_RSA_ALG_HANDLE 0x000000E1 |
Дескриптор алгоритма открытого ключа RSA. | PKCS #1 v1.5 и v2.0 |
|
BCRYPT_RSA_SIGN_ALG_HANDLE 0x00000311 |
Дескриптор алгоритма подписи RSA. Этот алгоритм в настоящее время не поддерживается. Для выполнения операций подписывания RSA можно использовать алгоритм BCRYPT_RSA_ALG_HANDLE. | PKCS #1 v1.5 и v2.0. |
Блокировать алгоритмы проверки подлинности сообщений на основе шифров и шифров
| Постоянный | Описание | Стандарты |
|---|---|---|
|
BCRYPT_AES_CMAC_ALG_HANDLE 0x00000101 |
Дескриптор для алгоритма симметричного шифрования на основе шифрования на основе AES (CMAC). | SP 800-38B |
|
BCRYPT_AES_GMAC_ALG_HANDLE 0x00000111 |
Дескриптор для алгоритма симметричного шифрования GMAC (AES) Galois. SP800-38D | |
|
BCRYPT_3DES_CBC_ALG_HANDLE 0x00000141 |
Дескриптор для тройного алгоритма шифрования данных уровня "Стандартный" с помощью режима цепочки блоков шифров (CBC). | SP 800-67, SP 800-38A |
|
BCRYPT_3DES_ECB_ALG_HANDLE 0x00000151 |
Дескриптор для тройного алгоритма шифрования данных уровня "Стандартный" с помощью режима электронной кодовой книги (ECB). | SP 800-67, SP 800-38A |
|
BCRYPT_3DES_CFB_ALG_HANDLE 0x00000161 |
Дескриптор для тройного алгоритма шифрования данных уровня "Стандартный" с помощью режима обратной связи шифров (CFB). | SP 800-67, SP 800-38A |
|
BCRYPT_3DES_112_CBC_ALG_HANDLE 0x00000171 |
Дескриптор для 112-разрядного стандартного алгоритма шифрования данных с использованием режима цепочки блоков шифров (CBC). | SP 800-67, SP 800-38A |
|
BCRYPT_3DES_112_ECB_ALG_HANDLE 0x00000181 |
Дескриптор для 112-разрядного стандартного алгоритма шифрования данных с использованием режима электронной кодовой книги (ECB). | SP 800-67, SP 800-38A |
|
BCRYPT_3DES_112_CFB_ALG_HANDLE 0x00000191 |
Дескриптор для 112-разрядного стандартного алгоритма шифрования данных с помощью режима обратной связи шифров (CFB). | SP 800-67, SP 800-38A |
|
BCRYPT_AES_CBC_ALG_HANDLE 0x000001A1 |
Дескриптор алгоритма расширенного шифрования (AES) с помощью режима цепочки блоков шифров (CBC). | FIPS 197 |
|
BCRYPT_AES_ECB_ALG_HANDLE 0x000001B1 |
Дескриптор алгоритма расширенного шифрования (AES) с помощью режима электронных кодеков (ECB). | FIPS 197 |
|
BCRYPT_AES_CFB_ALG_HANDLE 0x000001C1 |
Дескриптор алгоритма расширенного шифрования (AES) с помощью режима обратной связи шифров (CFB). | FIPS 197 |
|
BCRYPT_AES_CCM_ALG_HANDLE 0x000001D1 |
Дескриптор алгоритма расширенного шифрования (AES) с помощью счетчика с режимом CBC-MAC (CCM). | FIPS 197 |
|
BCRYPT_AES_GCM_ALG_HANDLE 0x000001E1 |
Дескриптор алгоритма расширенного шифрования (AES) с помощью режима счетчика Galois (GCM). | FIPS 197 |
|
BCRYPT_DES_CBC_ALG_HANDLE 0x000001F1 |
Дескриптор алгоритма шифрования данных (DES) с помощью режима цепочки блоков шифров (GCM). | FIPS 46-3, FIPS 81 |
|
BCRYPT_DES_ECB_ALG_HANDLE 0x00000201 |
Дескриптор алгоритма шифрования данных (DES) с помощью режима электронной кодовой книги (ECB). | FIPS 46-3, FIPS 81 |
|
BCRYPT_DES_CFB_ALG_HANDLE 0x00000211 |
Дескриптор алгоритма шифрования данных (DES) с помощью режима обратной связи шифров (CFB). | FIPS 46-3, FIPS 81 |
Замечания
Эти дескриптора можно использовать в любой ситуации, требующей дескриптора алгоритма. Однако любой вызов BCryptSetProperty завершается ошибкой, так как дескриптор алгоритма является общим и не может быть изменен. Кроме того, эти дескриптора нельзя использовать в IRQL=DISPATCH режиме ядра.