Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
À compter de Windows 10, CNG (API de chiffrement : Nouvelle génération) fournit des handles d’algorithmes prédéfinis pour les opérations de chiffrement. Ces algorithmes simplifient le développement en éliminant la nécessité de créer manuellement des handles pour les algorithmes de chiffrement courants, notamment les fonctions de hachage, les algorithmes de chiffrement, les signatures numériques et les fonctions de dérivation de clé.
Algorithmes de code d’authentification de hachage et de message (MAC)
| Constante | Descriptif | Standards |
|---|---|---|
|
BCRYPT_MD2_ALG_HANDLE 0x00000001 |
Handle pour l’algorithme de hachage MD2. | RFC 1319 |
|
BCRYPT_MD4_ALG_HANDLE 0x00000011 |
Handle pour l’algorithme de hachage MD4. | RFC 1320 |
|
BCRYPT_MD5_ALG_HANDLE 0x00000021 |
Handle pour l’algorithme de hachage MD5. | RFC 1321 |
|
BCRYPT_SHA1_ALG_HANDLE 0x00000031 |
Handle pour l’algorithme de hachage sécurisé 160 bits. | FIPS 180-4 |
|
BCRYPT_SHA256_ALG_HANDLE 0x00000041 |
Handle pour l’algorithme de hachage sécurisé 256 bits. | FIPS 180-4 |
|
BCRYPT_SHA384_ALG_HANDLE 0x00000051 |
Handle pour l’algorithme de hachage sécurisé 384 bits. | FIPS 180-4 |
|
BCRYPT_SHA512_ALG_HANDLE 0x00000061 |
Handle pour l’algorithme de hachage sécurisé 512 bits. | FIPS 180-4 |
|
BCRYPT_HMAC_SHA1_ALG_HANDLE 0x000000A1 |
Handle pour le code d’authentification de message basé sur le hachage à l’aide de l’algorithme de hachage sécurisé 160 bits. | FIPS 180-4, FIPS 198-1 |
|
BCRYPT_HMAC_SHA256_ALG_HANDLE 0x000000B1 |
Handle pour le code d’authentification de message basé sur le hachage à l’aide de l’algorithme de hachage sécurisé 256 bits. | FIPS 180-4, FIPS 198-1 |
|
BCRYPT_HMAC_SHA384_ALG_HANDLE 0x000000C1 |
Handle pour le code d’authentification de message basé sur le hachage à l’aide de l’algorithme de hachage sécurisé 384 bits. | FIPS 180-4, FIPS 198-1 |
|
BCRYPT_HMAC_SHA512_ALG_HANDLE 0x000000D1 |
Handle pour le code d’authentification de message basé sur le hachage à l’aide de l’algorithme de hachage sécurisé 512 bits. | FIPS 180-4, FIPS 198-1 |
|
BCRYPT_HMAC_MD2_ALG_HANDLE 0x00000121 |
Handle pour le code d’authentification de message basé sur le hachage à l’aide de l’algorithme de hachage MD2. | RFC 1319, RFC 2104 |
|
BCRYPT_HMAC_MD4_ALG_HANDLE 0x00000131 |
Handle pour le code d’authentification de message basé sur le hachage à l’aide de l’algorithme de hachage MD4. | RFC 1320, RFC 2104 |
|
BCRYPT_HMAC_MD5_ALG_HANDLE 0x00000091 |
Handle pour le code d’authentification de message basé sur le hachage à l’aide de l’algorithme de hachage MD4. | RFC 1321, RFC 2104 |
| Disponible dans Windows 11, version 23H2 | ||
|
BCRYPT_SHA3_256_ALG_HANDLE 0x000003B1 |
Handle pour l’algorithme de hachage sécurisé SHA3 256 bits. | FIPS 202 |
|
BCRYPT_SHA3_384_ALG_HANDLE 0x000003C1 |
Handle pour l’algorithme de hachage sécurisé SHA3 384 bits. | FIPS 202 |
|
BCRYPT_SHA3_512_ALG_HANDLE 0x000003D1 |
Handle pour l’algorithme de hachage sécurisé SHA3 512 bits. | FIPS 202 |
|
BCRYPT_HMAC_SHA3_256_ALG_HANDLE 0x000003E1 |
Handle pour le code d’authentification de message basé sur le hachage à l’aide de l’algorithme de hachage sécurisé SHA3 256 bits. | FIPS 202, FIPS 198-1 |
|
BCRYPT_HMAC_SHA3_384_ALG_HANDLE 0x000003F1 |
Handle pour le code d’authentification de message basé sur le hachage à l’aide de l’algorithme de hachage sécurisé SHA3 384 bits. | FIPS 202, FIPS 198-1 |
|
BCRYPT_HMAC_SHA3_512_ALG_HANDLE 0x00000401 |
Handle pour le code d’authentification de message basé sur le hachage à l’aide de l’algorithme de hachage sécurisé SHA3 512 bits. | FIPS 202, FIPS 198-1 |
|
BCRYPT_CSHAKE128_ALG_HANDLE 0x00000411 |
Handle pour l’algorithme de hachage CSHAKE 128 bits dérivé de SHA3 (fonction de sortie extensible). | SP 800-185 |
|
BCRYPT_CSHAKE256_ALG_HANDLE 0x00000421 |
Handle pour l’algorithme de hachage CSHAKE 256 bits dérivé de SHA3 (fonction de sortie extensible). | SP 800-185 |
|
BCRYPT_KMAC128_ALG_HANDLE 0x00000431 |
Handle pour le code d’authentification de message Keccak dérivé de SHA3 basé sur cSHAKE128. | SP 800-185 |
|
BCRYPT_KMAC256_ALG_HANDLE 0x00000441 |
Handle pour le code d’authentification de message Keccak dérivé de SHA3 basé sur cSHAKE256. | SP 800-185 |
Algorithmes de signature numérique PQ
Remarque
Les handles PQDSA de cette section concernent un produit de préversion qui peut être sensiblement modifié avant sa publication commerciale. Microsoft n’offre aucune garantie, expresse ou implicite, en ce qui concerne les informations fournies ici. La fonctionnalité décrite dans cette section est disponible dans les versions préliminaires de Windows Insider Preview.
| Constante | Descriptif | Standards |
|---|---|---|
| BCRYPT_LMS_ALG_HANDLE | Handle de l’algorithme Leighton-Micali Hash-Based Signature (LMS). | RFC 8554 |
| BCRYPT_MLDSA_ALG_HANDLE | Handle de l’algorithme de signature numériqueLattice-Based module (ML-DSA). | FIPS 204 |
| BCRYPT_SLHDSA_ALG_HANDLE | Handle de l’algorithme de signature numérique basé sur le hachage sans état (SLH-DSA). | FIPS 205 |
| BCRYPT_XMSS_ALG_HANDLE | Handle de l’algorithme basé sur le hachage avec état eXtended Merkle Signature Scheme (XMSS). | RFC 8391 |
Algorithmes de chiffrement de flux
| Constante | Descriptif | Standards |
|---|---|---|
|
BCRYPT_RC4_ALG_HANDLE 0x00000071 |
Handle pour l’algorithme de chiffrement de flux RC4. | Divers |
Algorithmes de générateur de nombres aléatoires
| Constante | Descriptif | Standards |
|---|---|---|
|
BCRYPT_RNG_ALG_HANDLE 0x00000081 |
Handle de l’algorithme de générateur de nombres aléatoires. | À compter de Windows 10 : L’algorithme RNG utilisé est AES CTR_DRBG, défini dans SP 800-90A. |
Algorithmes de fonction de dérivation de clé (KDF)
| Constante | Descriptif |
|---|---|
|
BCRYPT_CAPI_KDF_ALG_HANDLE 0x00000321 |
Handle de l’algorithme de fonction de dérivation de clé d’API Crypto (CAPI). Utilisé par les fonctions BCryptKeyDerivation et NCryptKeyDerivation . |
|
BCRYPT_PBKDF2_ALG_HANDLE 0x00000331 |
Handle de l’algorithme de dérivation de clé basée sur le mot de passe 2 (PBKDF2). Utilisé par les fonctions BCryptKeyDerivation et NCryptKeyDerivation . |
|
BCRYPT_SP800108_CTR_HMAC_ALG_HANDLE 0x00000341 |
Handle vers le mode Compteur, algorithme de fonction de dérivation de clé HMAC (Code d’authentification de message basé sur le hachage). Utilisé par les fonctions BCryptKeyDerivation et NCryptKeyDerivation . |
|
BCRYPT_SP80056A_CONCAT_ALG_HANDLE 0x00000351 |
Handle de l’algorithme de fonction de dérivation de clé SP800-56A. Utilisé par les fonctions BCryptKeyDerivation et NCryptKeyDerivation . |
|
BCRYPT_HKDF_ALG_HANDLE 0x00000391 |
Handle de la fonction de dérivation de clé Extract-and-Expand basée sur HMAC. Utilisé par les fonctions BCryptKeyDerivation et NCryptKeyDerivation . |
Algorithmes de mécanisme d’encapsulation de clé (KEM)
Remarque
Les ML-KEM handles de cette section concernent un produit de préversion qui peut être sensiblement modifié avant sa publication commerciale. Microsoft n’offre aucune garantie, expresse ou implicite, en ce qui concerne les informations fournies ici. La fonctionnalité décrite dans cette section est disponible dans les versions préliminaires de Windows Insider Preview.
| Constante | Descriptif | Standards |
|---|---|---|
| BCRYPT_MLKEM_ALG_HANDLE | Handle de l’algorithme Module-Lattice-Based Key Encapsulation Mechanism (ML-KEM). | FIPS 203 |
Algorithmes asymétriques
| Constante | Descriptif | Standards |
|---|---|---|
|
BCRYPT_DH_ALG_HANDLE 0x00000281 |
Handle de l’algorithme d’échange de clés Diffie-Hellman. | PKCS #3 |
|
BCRYPT_DSA_ALG_HANDLE 0x000002D1 |
Handle de l’algorithme de signature numérique DSA (Digital Signature Algorithm). |
FIPS 186-2 À compter de Windows 8 : Cet algorithme prend en charge FIPS 186-3. Les clés inférieures ou égales à 1024 bits adhèrent à FIPS 186-2 et les clés supérieures à 1024 à FIPS 186-3. |
|
BCRYPT_ECDH_ALG_HANDLE 0x00000291 |
Handle de la courbe elliptique prime générique Diffie-Hellman algorithme d’échange de clés. | SP 800-56A |
|
BCRYPT_ECDH_P256_ALG_HANDLE 0x000002A1 |
Handle de la courbe elliptique 256 bits Diffie-Hellman algorithme d’échange de clés. | SP 800-56A |
|
BCRYPT_ECDH_P384_ALG_HANDLE 0x000002B1 |
Handle de la courbe elliptique 384 bits Diffie-Hellman algorithme d’échange de clés. | SP 800-56A |
|
BCRYPT_ECDH_P521_ALG_HANDLE 0x000002C1 |
Handle de la courbe elliptique 521 bits Diffie-Hellman algorithme d’échange de clés. | SP 800-56A |
|
BCRYPT_ECDSA_ALG_HANDLE 0x000000F1 |
Handle vers l’algorithme générique de signature numérique de courbe elliptique générique. | ANSI X9.62 |
|
BCRYPT_ECDSA_P256_ALG_HANDLE 0x000002E1 |
Handle de l’algorithme de signature numérique de courbe elliptique 256 bits. | FIPS 186-2, X9.62 |
|
BCRYPT_ECDSA_P384_ALG_HANDLE 0x000002F1 |
Handle vers l’algorithme de signature numérique de courbe elliptique 384 bits. | FIPS 186-2, X9.62 |
|
BCRYPT_ECDSA_P521_ALG_HANDLE 0x00000301 |
Handle à l’algorithme de signature numérique de courbe elliptique 521 bits. | FIPS 186-2, X9.62 |
|
BCRYPT_RSA_ALG_HANDLE 0x000000E1 |
Handle de l’algorithme de clé publique RSA. | PKCS #1 v1.5 et v2.0 |
|
BCRYPT_RSA_SIGN_ALG_HANDLE 0x00000311 |
Handle de l’algorithme de signature RSA. Cet algorithme n’est actuellement pas pris en charge. Vous pouvez utiliser l’algorithme BCRYPT_RSA_ALG_HANDLE pour effectuer des opérations de signature RSA. | PKCS #1 v1.5 et v2.0. |
Bloquer le chiffrement et les algorithmes de code d’authentification de message basés sur le chiffrement
| Constante | Descriptif | Standards |
|---|---|---|
|
BCRYPT_AES_CMAC_ALG_HANDLE 0x00000101 |
Handle pour l’algorithme de chiffrement symétrique CMAC (Advanced Encryption Standard) basé sur le chiffrement basé sur les messages (AES). | SP 800-38B |
|
BCRYPT_AES_GMAC_ALG_HANDLE 0x00000111 |
Handle pour l’algorithme de chiffrement symétrique AES (Advanced Encryption Standard) Galois (GMAC). SP800-38D | |
|
BCRYPT_3DES_CBC_ALG_HANDLE 0x00000141 |
Handle pour l’algorithme Triple Data Encryption Standard à l’aide du mode de chaînage de blocs de chiffrement (CBC). | SP 800-67, SP 800-38A |
|
BCRYPT_3DES_ECB_ALG_HANDLE 0x00000151 |
Handle pour l’algorithme triple Data Encryption Standard à l’aide du mode Codebook électronique (BCE). | SP 800-67, SP 800-38A |
|
BCRYPT_3DES_CFB_ALG_HANDLE 0x00000161 |
Handle pour l’algorithme triple Data Encryption Standard à l’aide du mode de commentaires de chiffrement (CFB). | SP 800-67, SP 800-38A |
|
BCRYPT_3DES_112_CBC_ALG_HANDLE 0x00000171 |
Handle pour l’algorithme standard de chiffrement de données triple 112 bits à l’aide du mode de chaînage de blocs de chiffrement (CBC). | SP 800-67, SP 800-38A |
|
BCRYPT_3DES_112_ECB_ALG_HANDLE 0x00000181 |
Handle pour l’algorithme 112 bits triple Data Encryption Standard à l’aide du mode Codebook électronique (BCE). | SP 800-67, SP 800-38A |
|
BCRYPT_3DES_112_CFB_ALG_HANDLE 0x00000191 |
Handle pour l’algorithme standard de chiffrement de données triple 112 bits à l’aide du mode de commentaires de chiffrement (CFB). | SP 800-67, SP 800-38A |
|
BCRYPT_AES_CBC_ALG_HANDLE 0x000001A1 |
Handle pour l’algorithme AES (Advanced Encryption Standard) à l’aide du mode de chaînage de blocs de chiffrement (CBC). | FIPS 197 |
|
BCRYPT_AES_ECB_ALG_HANDLE 0x000001B1 |
Handle pour l’algorithme AES (Advanced Encryption Standard) à l’aide du mode de codebook électronique (BCE). | FIPS 197 |
|
BCRYPT_AES_CFB_ALG_HANDLE 0x000001C1 |
Handle pour l’algorithme AES (Advanced Encryption Standard) à l’aide du mode de commentaires de chiffrement (CFB). | FIPS 197 |
|
BCRYPT_AES_CCM_ALG_HANDLE 0x000001D1 |
Handle pour l’algorithme AES (Advanced Encryption Standard) à l’aide de Counter avec CBC-MAC Mode (CCM). | FIPS 197 |
|
BCRYPT_AES_GCM_ALG_HANDLE 0x000001E1 |
Handle pour l’algorithme AES (Advanced Encryption Standard) à l’aide de Galois Counter Mode (GCM). | FIPS 197 |
|
BCRYPT_DES_CBC_ALG_HANDLE 0x000001F1 |
Handle pour l’algorithme DES (Data Encryption Standard) à l’aide du mode de chaînage de blocs de chiffrement (GCM). | FIPS 46-3, FIPS 81 |
|
BCRYPT_DES_ECB_ALG_HANDLE 0x00000201 |
Handle pour l’algorithme DATA Encryption Standard (DES) à l’aide du mode De codebook électronique (BCE). | FIPS 46-3, FIPS 81 |
|
BCRYPT_DES_CFB_ALG_HANDLE 0x00000211 |
Handle pour l’algorithme DES (Data Encryption Standard) à l’aide du mode de commentaires de chiffrement (CFB). | FIPS 46-3, FIPS 81 |
Remarques
Vous pouvez utiliser ces handles dans n’importe quelle situation nécessitant un handle d’algorithme. Toutefois, tout appel à BCryptSetProperty échoue car le handle d’algorithme est partagé et ne peut pas être modifié. En outre, ces handles ne peuvent pas être utilisés en IRQL=DISPATCH mode noyau.