Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Począwszy od systemu Windows 10, CNG (Cryptography API: Next Generation) udostępnia wstępnie zdefiniowane algorytmy do obsługi operacji kryptograficznych. Ten algorytm upraszcza programowanie, eliminując konieczność ręcznego tworzenia dojść dla typowych algorytmów kryptograficznych, w tym funkcji skrótu, algorytmów szyfrowania, podpisów cyfrowych i funkcji wyprowadzania kluczy.
Algorytmy uwierzytelniania skrótów i komunikatów (MAC)
| Stały | Opis | Standards |
|---|---|---|
|
BCRYPT_MD2_ALG_HANDLE 0x00000001 |
Uchwyt algorytmu skrótu MD2. | RFC 1319 |
|
BCRYPT_MD4_ALG_HANDLE 0x00000011 |
Uchwyt algorytmu skrótu MD4. | RFC 1320 |
|
BCRYPT_MD5_ALG_HANDLE 0x00000021 |
Uchwyt algorytmu skrótu MD5. | RFC 1321 |
|
BCRYPT_SHA1_ALG_HANDLE 0x00000031 |
Uchwyt dla algorytmu 160-bitowego bezpiecznego skrótu. | FIPS 180-4 |
|
BCRYPT_SHA256_ALG_HANDLE 0x00000041 |
Uchwyt dla 256-bitowego algorytmu bezpiecznego skrótu. | FIPS 180-4 |
|
BCRYPT_SHA384_ALG_HANDLE 0x00000051 |
Uchwyt dla algorytmu 384-bitowego bezpiecznego skrótu. | FIPS 180-4 |
|
BCRYPT_SHA512_ALG_HANDLE 0x00000061 |
Uchwyt dla algorytmu 512-bitowego bezpiecznego skrótu. | FIPS 180-4 |
|
BCRYPT_HMAC_SHA1_ALG_HANDLE 0x000000A1 |
Dojście do kodu uwierzytelniania komunikatów opartego na skrótach przy użyciu algorytmu 160-bitowego bezpiecznego skrótu. | FIPS 180-4, FIPS 198-1 |
|
BCRYPT_HMAC_SHA256_ALG_HANDLE 0x000000B1 |
Dojście do kodu uwierzytelniania komunikatów opartego na skrótach przy użyciu 256-bitowego algorytmu bezpiecznego skrótu. | FIPS 180-4, FIPS 198-1 |
|
BCRYPT_HMAC_SHA384_ALG_HANDLE 0x000000C1 |
Dojście dla kodu uwierzytelniania komunikatów opartego na skrótach przy użyciu algorytmu 384-bitowego bezpiecznego skrótu. | FIPS 180-4, FIPS 198-1 |
|
BCRYPT_HMAC_SHA512_ALG_HANDLE 0x000000D1 |
Dojście dla kodu uwierzytelniania komunikatów opartego na skrótach przy użyciu algorytmu 512-bitowego bezpiecznego skrótu. | FIPS 180-4, FIPS 198-1 |
|
BCRYPT_HMAC_MD2_ALG_HANDLE 0x00000121 |
Dojście dla kodu uwierzytelniania komunikatów opartego na skrótach przy użyciu algorytmu skrótu MD2. | RFC 1319, RFC 2104 |
|
BCRYPT_HMAC_MD4_ALG_HANDLE 0x00000131 |
Dojście do kodu uwierzytelniania komunikatów opartego na skrótach przy użyciu algorytmu skrótu MD4. | RFC 1320, RFC 2104 |
|
BCRYPT_HMAC_MD5_ALG_HANDLE 0x00000091 |
Dojście do kodu uwierzytelniania komunikatów opartego na skrótach przy użyciu algorytmu skrótu MD4. | RFC 1321, RFC 2104 |
| Dostępne w systemie Windows 11 w wersji 23H2 | ||
|
BCRYPT_SHA3_256_ALG_HANDLE 0x000003B1 |
Uchwyt algorytmu wyznaczania skrótu SHA3 256-bitowego. | FIPS 202 |
|
BCRYPT_SHA3_384_ALG_HANDLE 0x000003C1 |
Uchwyt algorytmu wyznaczania skrótu SHA3 384-bitowego. | FIPS 202 |
|
BCRYPT_SHA3_512_ALG_HANDLE 0x000003D1 |
Uchwyt algorytmu wyznaczania skrótu SHA3 512-bitowego. | FIPS 202 |
|
BCRYPT_HMAC_SHA3_256_ALG_HANDLE 0x000003E1 |
Dojście do kodu uwierzytelniania komunikatów opartego na skrótach przy użyciu algorytmu sha3 256-bitowego bezpiecznego skrótu. | FIPS 202, FIPS 198-1 |
|
BCRYPT_HMAC_SHA3_384_ALG_HANDLE 0x000003F1 |
Dojście dla kodu uwierzytelniania komunikatów opartego na skrótach przy użyciu algorytmu sha3 384-bitowego bezpiecznego skrótu. | FIPS 202, FIPS 198-1 |
|
BCRYPT_HMAC_SHA3_512_ALG_HANDLE 0x00000401 |
Dojście do kodu uwierzytelniania komunikatów opartego na skrótach przy użyciu algorytmu sha3 512-bitowego bezpiecznego skrótu. | FIPS 202, FIPS 198-1 |
|
BCRYPT_CSHAKE128_ALG_HANDLE 0x00000411 |
Uchwyt algorytmu wyznaczania wartości skrótu CSHAKE 128-bitowego XOF (funkcji rozszerzalnej-wyjściowej). | SP 800-185 |
|
BCRYPT_CSHAKE256_ALG_HANDLE 0x00000421 |
Uchwyt algorytmu wyznaczania wartości skrótu skrótu CSHAKE 256-bitowego XOF (funkcji rozszerzalnej-wyjściowej). | SP 800-185 |
|
BCRYPT_KMAC128_ALG_HANDLE 0x00000431 |
Uchwyt dla pochodnego kodu uwierzytelniania komunikatów Keccak (KMAC) oparty na cSHAKE128. | SP 800-185 |
|
BCRYPT_KMAC256_ALG_HANDLE 0x00000441 |
Uchwyt dla pochodnego kodu uwierzytelniania komunikatów Keccak (KMAC) oparty na cSHAKE256. | SP 800-185 |
Algorytmy podpisu cyfrowego PQ
Uwaga / Notatka
Dojścia PQDSA w tej sekcji odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany, zanim zostanie wydany komercyjnie. Firma Microsoft nie udziela żadnych gwarancji, wyraźnych ani domniemanych, w odniesieniu do podanych tutaj informacji. Funkcja opisana w tej sekcji jest dostępna w wersjach wstępnych niejawnych testów systemu Windows Preview.
| Stały | Opis | Standards |
|---|---|---|
| BCRYPT_LMS_ALG_HANDLE | Dojście do algorytmu Leighton-Micali Hash-Based Signature (LMS). | RFC 8554 |
| BCRYPT_MLDSA_ALG_HANDLE | Dojście do modułu —Lattice-Based algorytmu podpisu cyfrowego (ML-DSA). | FIPS 204 |
| BCRYPT_SLHDSA_ALG_HANDLE | Dojście do bezstanowego algorytmu podpisu cyfrowego opartego na skrótach (SLH-DSA). | FIPS 205 |
| BCRYPT_XMSS_ALG_HANDLE | Dojście do algorytmu eXtended Merkle Signature Scheme (XMSS) opartego na skrótach stanowych. | RFC 8391 |
Algorytmy szyfrowania strumienia
| Stały | Opis | Standards |
|---|---|---|
|
BCRYPT_RC4_ALG_HANDLE 0x00000071 |
Uchwyt algorytmu szyfrowania strumienia RC4. | Różne |
Algorytmy generatora liczb losowych
| Stały | Opis | Standards |
|---|---|---|
|
BCRYPT_RNG_ALG_HANDLE 0x00000081 |
Uchwyt algorytmu generatora liczb losowych. | Począwszy od systemu Windows 10: Używany algorytm RNG jest CTR_DRBG AES zdefiniowany w sp 800-90A. |
Algorytmy funkcji wyprowadzania kluczy (KDF)
| Stały | Opis |
|---|---|
|
BCRYPT_CAPI_KDF_ALG_HANDLE 0x00000321 |
Dojście do algorytmu funkcji wyprowadzania klucza interfejsu API kryptograficznego (CAPI). Używane przez funkcje BCryptKeyDerivation i NCryptKeyDerivation . |
|
BCRYPT_PBKDF2_ALG_HANDLE 0x00000331 |
Uchwyt algorytmu wyprowadzania klucza opartego na hasłach 2 (PBKDF2). Używane przez funkcje BCryptKeyDerivation i NCryptKeyDerivation . |
|
BCRYPT_SP800108_CTR_HMAC_ALG_HANDLE 0x00000341 |
Dojście do trybu Licznik, algorytm funkcji funkcji wyprowadzania klucza uwierzytelniania komunikatów oparty na skrótach (HMAC). Używane przez funkcje BCryptKeyDerivation i NCryptKeyDerivation . |
|
BCRYPT_SP80056A_CONCAT_ALG_HANDLE 0x00000351 |
Dojście do algorytmu funkcji wyprowadzania klucza SP800-56A. Używane przez funkcje BCryptKeyDerivation i NCryptKeyDerivation . |
|
BCRYPT_HKDF_ALG_HANDLE 0x00000391 |
Dojście do funkcji wyprowadzania kluczy opartych na protokole HMAC i rozwiń. Używane przez funkcje BCryptKeyDerivation i NCryptKeyDerivation . |
Algorytmy mechanizmu hermetyzacji kluczy (KEM)
Uwaga / Notatka
Dojścia ML-KEM w tej sekcji odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany, zanim zostanie wydany komercyjnie. Firma Microsoft nie udziela żadnych gwarancji, wyraźnych ani domniemanych, w odniesieniu do podanych tutaj informacji. Funkcja opisana w tej sekcji jest dostępna w wersjach wstępnych niejawnych testów systemu Windows Preview.
| Stały | Opis | Standards |
|---|---|---|
| BCRYPT_MLKEM_ALG_HANDLE | Dojście do algorytmu Module-Lattice-Based Key Encapsulation Mechanism (ML-KEM). | FIPS 203 |
Algorytmy asymetryczne
| Stały | Opis | Standards |
|---|---|---|
|
BCRYPT_DH_ALG_HANDLE 0x00000281 |
Dojście do algorytmu wymiany kluczy Diffie-Hellman. | PKCS #3 |
|
BCRYPT_DSA_ALG_HANDLE 0x000002D1 |
Dojście do algorytmu podpisu cyfrowego (DSA, Digital Signature Algorithm). |
FIPS 186-2 Począwszy od systemu Windows 8: Ten algorytm obsługuje standard FIPS 186-3. Klucze mniejsze niż lub równe 1024 bitom są zgodne ze standardem FIPS 186-2 i kluczami większymi niż 1024 do standardu FIPS 186-3. |
|
BCRYPT_ECDH_ALG_HANDLE 0x00000291 |
Uchwyt do ogólnej krzywej wielokropka podstawowego Diffie-Hellman algorytm wymiany kluczy. | SP 800-56A |
|
BCRYPT_ECDH_P256_ALG_HANDLE 0x000002A1 |
Uchwyt do 256-bitowej krzywej wielokropka podstawowego Diffie-Hellman algorytm wymiany kluczy. | SP 800-56A |
|
BCRYPT_ECDH_P384_ALG_HANDLE 0x000002B1 |
Uchwyt do 384-bitowej krzywej eliptycznej Diffie-Hellman algorytm wymiany kluczy. | SP 800-56A |
|
BCRYPT_ECDH_P521_ALG_HANDLE 0x000002C1 |
Uchwyt do 521-bitowej krzywej eliptycznej Diffie-Hellman algorytm wymiany kluczy. | SP 800-56A |
|
BCRYPT_ECDSA_ALG_HANDLE 0x000000F1 |
Uchwyt do ogólnego algorytmu podpisu cyfrowego krzywej eliptycznej. | ANSI X9.62 |
|
BCRYPT_ECDSA_P256_ALG_HANDLE 0x000002E1 |
Uchwyt do 256-bitowego algorytmu podpisu cyfrowego krzywej wielokropka. | FIPS 186-2, X9.62 |
|
BCRYPT_ECDSA_P384_ALG_HANDLE 0x000002F1 |
Uchwyt do 384-bitowego algorytmu podpisu cyfrowego krzywej eliptycznej. | FIPS 186-2, X9.62 |
|
BCRYPT_ECDSA_P521_ALG_HANDLE 0x00000301 |
Uchwyt do 521-bitowego algorytmu podpisu cyfrowego krzywej wielokropka. | FIPS 186-2, X9.62 |
|
BCRYPT_RSA_ALG_HANDLE 0x000000E1 |
Dojście do algorytmu klucza publicznego RSA. | PKCS #1 w wersji 1.5 i 2.0 |
|
BCRYPT_RSA_SIGN_ALG_HANDLE 0x00000311 |
Uchwyt algorytmu podpisu RSA. Ten algorytm nie jest obecnie obsługiwany. Algorytm BCRYPT_RSA_ALG_HANDLE umożliwia wykonywanie operacji podpisywania RSA. | PKCS #1 w wersji 1.5 i 2.0. |
Blokuj algorytmy kodu uwierzytelniania komunikatów oparte na szyfrach i szyfrach
| Stały | Opis | Standards |
|---|---|---|
|
BCRYPT_AES_CMAC_ALG_HANDLE 0x00000101 |
Dojście dla algorytmu szyfrowania komunikatów opartych na szyfrowaniu (CMAC) w standardzie Advanced Encryption Standard (AES). | SP 800-38B |
|
BCRYPT_AES_GMAC_ALG_HANDLE 0x00000111 |
Dojście dla algorytmu szyfrowania symetrycznego GMAC (Advanced Encryption Standard, AES) Galois message authentication code (GMAC). SP800-38D | |
|
BCRYPT_3DES_CBC_ALG_HANDLE 0x00000141 |
Uchwyt dla algorytmu triple Data Encryption Standard przy użyciu trybu łańcucha bloków szyfrowania (CBC). | SP 800-67, SP 800-38A |
|
BCRYPT_3DES_ECB_ALG_HANDLE 0x00000151 |
Uchwyt dla potrójnego algorytmu standardowego szyfrowania danych przy użyciu trybu elektronicznego podręcznika (EBC). | SP 800-67, SP 800-38A |
|
BCRYPT_3DES_CFB_ALG_HANDLE 0x00000161 |
Uchwyt dla algorytmu triple Data Encryption Standard przy użyciu trybu szyfrowania opinii (CFB). | SP 800-67, SP 800-38A |
|
BCRYPT_3DES_112_CBC_ALG_HANDLE 0x00000171 |
Uchwyt dla 112-bitowego algorytmu standardowego szyfrowania danych przy użyciu trybu łańcucha bloków szyfrowania (CBC). | SP 800-67, SP 800-38A |
|
BCRYPT_3DES_112_ECB_ALG_HANDLE 0x00000181 |
Uchwyt dla 112-bitowego algorytmu standardowego szyfrowania danych przy użyciu elektronicznego trybu podręcznika (EBC). | SP 800-67, SP 800-38A |
|
BCRYPT_3DES_112_CFB_ALG_HANDLE 0x00000191 |
Uchwyt dla 112-bitowego algorytmu standardowego szyfrowania danych przy użyciu trybu szyfrowania opinii (CFB). | SP 800-67, SP 800-38A |
|
BCRYPT_AES_CBC_ALG_HANDLE 0x000001A1 |
Dojście dla algorytmu Advanced Encryption Standard (AES) przy użyciu trybu łańcucha bloków szyfrowania (CBC). | FIPS 197 |
|
BCRYPT_AES_ECB_ALG_HANDLE 0x000001B1 |
Dojście dla algorytmu Advanced Encryption Standard (AES) przy użyciu elektronicznego trybu podręcznika (EBC). | FIPS 197 |
|
BCRYPT_AES_CFB_ALG_HANDLE 0x000001C1 |
Dojście dla algorytmu Advanced Encryption Standard (AES) przy użyciu trybu szyfrowania opinii (CFB). | FIPS 197 |
|
BCRYPT_AES_CCM_ALG_HANDLE 0x000001D1 |
Dojście dla algorytmu Advanced Encryption Standard (AES) przy użyciu licznika z trybem CBC-MAC (CCM). | FIPS 197 |
|
BCRYPT_AES_GCM_ALG_HANDLE 0x000001E1 |
Dojście dla algorytmu Advanced Encryption Standard (AES) przy użyciu trybu licznika Galois (GCM). | FIPS 197 |
|
BCRYPT_DES_CBC_ALG_HANDLE 0x000001F1 |
Dojście dla algorytmu DES (Data Encryption Standard) przy użyciu trybu łańcucha bloków szyfrowania (GCM). | FIPS 46-3, FIPS 81 |
|
BCRYPT_DES_ECB_ALG_HANDLE 0x00000201 |
Dojście dla algorytmu Szyfrowania Danych Standard (DES) przy użyciu trybu elektronicznego książki kodowej (EBC). | FIPS 46-3, FIPS 81 |
|
BCRYPT_DES_CFB_ALG_HANDLE 0x00000211 |
Dojście dla algorytmu DES (Data Encryption Standard) przy użyciu trybu szyfrowania opinii (CFB). | FIPS 46-3, FIPS 81 |
Uwagi
Można użyć tych dojść w dowolnej sytuacji, która wymaga uchwytu algorytmu. Jednak każde wywołanie elementu BCryptSetProperty kończy się niepowodzeniem, ponieważ uchwyt algorytmu jest współużytkowany i nie można go modyfikować. Ponadto nie można używać tych dojść w IRQL=DISPATCH trybie jądra.