Handel pseudo algoritma CNG

Mulai windows 10, CNG (Cryptography API: Next Generation) menyediakan handel algoritma yang telah ditentukan sebelumnya untuk operasi kriptografi. Algoritma ini menangani penyederhanaan pengembangan dengan menghilangkan kebutuhan untuk membuat handel secara manual untuk algoritma kriptografi umum termasuk fungsi hash, algoritma enkripsi, tanda tangan digital, dan fungsi derivasi kunci.

Algoritma Kode Autentikasi Hash dan Pesan (MAC)

Konstan Deskripsi Standar
BCRYPT_MD2_ALG_HANDLE
0x00000001
Handel untuk algoritma hash MD2. RFC 1319
BCRYPT_MD4_ALG_HANDLE
0x00000011
Handel untuk algoritma hash MD4. RFC 1320
BCRYPT_MD5_ALG_HANDLE
0x00000021
Handel untuk algoritma hash MD5. RFC 1321
BCRYPT_SHA1_ALG_HANDLE
0x00000031
Handel untuk algoritma hash aman 160-bit. FIPS 180-4
BCRYPT_SHA256_ALG_HANDLE
0x00000041
Handel untuk algoritma hash aman 256-bit. FIPS 180-4
BCRYPT_SHA384_ALG_HANDLE
0x00000051
Handel untuk algoritma hash aman 384-bit. FIPS 180-4
BCRYPT_SHA512_ALG_HANDLE
0x00000061
Handel untuk algoritma hash aman 512-bit. FIPS 180-4
BCRYPT_HMAC_SHA1_ALG_HANDLE
0x000000A1
Handel untuk kode autentikasi pesan berbasis hash menggunakan algoritma hash aman 160-bit. FIPS 180-4, FIPS 198-1
BCRYPT_HMAC_SHA256_ALG_HANDLE
0x000000B1
Handel untuk kode autentikasi pesan berbasis hash menggunakan algoritma hash aman 256-bit. FIPS 180-4, FIPS 198-1
BCRYPT_HMAC_SHA384_ALG_HANDLE
0x000000C1
Handel untuk kode autentikasi pesan berbasis hash menggunakan algoritma hash aman 384-bit. FIPS 180-4, FIPS 198-1
BCRYPT_HMAC_SHA512_ALG_HANDLE
0x000000D1
Handel untuk kode autentikasi pesan berbasis hash menggunakan algoritma hash aman 512-bit. FIPS 180-4, FIPS 198-1
BCRYPT_HMAC_MD2_ALG_HANDLE
0x00000121
Handel untuk kode autentikasi pesan berbasis hash menggunakan algoritma hash MD2. RFC 1319, RFC 2104
BCRYPT_HMAC_MD4_ALG_HANDLE
0x00000131
Handel untuk kode autentikasi pesan berbasis hash menggunakan algoritma hash MD4. RFC 1320, RFC 2104
BCRYPT_HMAC_MD5_ALG_HANDLE
0x00000091
Handel untuk kode autentikasi pesan berbasis hash menggunakan algoritma hash MD4. RFC 1321, RFC 2104
Tersedia di Windows 11, versi 23H2
BCRYPT_SHA3_256_ALG_HANDLE
0x000003B1
Handel untuk algoritma hash aman SHA3 256-bit. FIPS 202
BCRYPT_SHA3_384_ALG_HANDLE
0x000003C1
Handel untuk algoritma hash aman SHA3 384-bit. FIPS 202
BCRYPT_SHA3_512_ALG_HANDLE
0x000003D1
Handel untuk algoritma hash aman SHA3 512-bit. FIPS 202
BCRYPT_HMAC_SHA3_256_ALG_HANDLE
0x000003E1
Handel untuk kode autentikasi pesan berbasis hash menggunakan algoritma hash aman SHA3 256-bit. FIPS 202, FIPS 198-1
BCRYPT_HMAC_SHA3_384_ALG_HANDLE
0x000003F1
Handel untuk kode autentikasi pesan berbasis hash menggunakan algoritma hash aman SHA3 384-bit. FIPS 202, FIPS 198-1
BCRYPT_HMAC_SHA3_512_ALG_HANDLE
0x00000401
Handel untuk kode autentikasi pesan berbasis hash menggunakan algoritma hash aman SHA3 512-bit. FIPS 202, FIPS 198-1
BCRYPT_CSHAKE128_ALG_HANDLE
0x00000411
Handel untuk algoritma hash SHA3 turunan cSHAKE 128-bit XOF (extendable-output function). SP 800-185
BCRYPT_CSHAKE256_ALG_HANDLE
0x00000421
Handel untuk algoritma hash SHA3 turunan cSHAKE 256-bit XOF (extendable-output function). SP 800-185
BCRYPT_KMAC128_ALG_HANDLE
0x00000431
Handel untuk kode autentikasi pesan Keccak turunan SHA3 (KMAC) yang dibangun di cSHAKE128. SP 800-185
BCRYPT_KMAC256_ALG_HANDLE
0x00000441
Handel untuk kode autentikasi pesan Keccak turunan SHA3 (KMAC) yang dibangun di cSHAKE256. SP 800-185

Algoritma tanda tangan digital PQ

Nota

Handel PQDSA di bagian ini berkaitan dengan produk prarilis yang mungkin dimodifikasi secara substansial sebelum dirilis secara komersial. Microsoft tidak memberikan jaminan, tersurat maupun tersirat, sehubungan dengan informasi yang diberikan di sini. Fitur yang dijelaskan di bagian ini tersedia dalam versi pra-rilis Pratinjau Windows Insider.

Konstan Deskripsi Standar
BCRYPT_MLDSA_ALG_HANDLE
0x00000471
Handel ke Module-Lattice-Based Digital Signature Algorithm (ML-DSA). FIPS 204
BCRYPT_COMPOSITE_MLDSA_ALG_HANDLE
0x00000491
Handel ke ML-DSA komposit dan algoritma tanda tangan tradisional. Draf IETF

Streaming algoritma cipher

Konstan Deskripsi Standar
BCRYPT_RC4_ALG_HANDLE
0x00000071
Handel untuk algoritma sandi aliran RC4. Various

Algoritma generator angka acak

Konstan Deskripsi Standar
BCRYPT_RNG_ALG_HANDLE
0x00000081
Handel ke algoritma generator angka acak. Dimulai dengan Windows 10: Algoritma RNG yang digunakan adalah CTR_DRBG AES, yang ditentukan dalam SP 800-90A.

Algoritma fungsi derivasi kunci (KDF)

Konstan Deskripsi
BCRYPT_CAPI_KDF_ALG_HANDLE
0x00000321
Handel ke algoritma fungsi derivasi kunci Crypto API (CAPI). Digunakan oleh fungsi BCryptKeyDerivation dan NCryptKeyDerivation .
BCRYPT_PBKDF2_ALG_HANDLE
0x00000331
Handel ke algoritma fungsi derivasi kunci berbasis kata sandi 2 (PBKDF2). Digunakan oleh fungsi BCryptKeyDerivation dan NCryptKeyDerivation .
BCRYPT_SP800108_CTR_HMAC_ALG_HANDLE
0x00000341
Handel ke mode Penghitung, algoritma fungsi derivasi kunci kode autentikasi pesan berbasis hash (HMAC). Digunakan oleh fungsi BCryptKeyDerivation dan NCryptKeyDerivation .
BCRYPT_SP80056A_CONCAT_ALG_HANDLE
0x00000351
Handel ke algoritma fungsi derivasi kunci SP800-56A. Digunakan oleh fungsi BCryptKeyDerivation dan NCryptKeyDerivation .
BCRYPT_HKDF_ALG_HANDLE
0x00000391
Handel ke fungsi derivasi kunci Extract-and-Expand berbasis HMAC. Digunakan oleh fungsi BCryptKeyDerivation dan NCryptKeyDerivation .

Algoritma mekanisme enkapsulasi kunci (KEM)

Nota

Handel ML-KEM di bagian ini berkaitan dengan produk prarilis yang mungkin dimodifikasi secara substansial sebelum dirilis secara komersial. Microsoft tidak memberikan jaminan, tersurat maupun tersirat, sehubungan dengan informasi yang diberikan di sini. Fitur yang dijelaskan di bagian ini tersedia dalam versi pra-rilis Pratinjau Windows Insider.

Konstan Deskripsi Standar
BCRYPT_MLKEM_ALG_HANDLE
0x00000481
Handel ke algoritma Module-Lattice-Based Key Enkapsulation Mechanism (ML-KEM). FIPS 203
BCRYPT_COMPOSITE_MLKEM_ALG_HANDLE
0x000004A1
Handel ke ML-KEM komposit dan algoritma enkapsulasi kunci tradisional. Draf IETF dan draf CFRG

Algoritma asimetris

Konstan Deskripsi Standar
BCRYPT_DH_ALG_HANDLE
0x00000281
Handel ke algoritma pertukaran kunci Diffie-Hellman. PKCS #3
BCRYPT_DSA_ALG_HANDLE
0x000002D1
Handel ke algoritma tanda tangan digital Digital Signature Algorithm (DSA). FIPS 186-2
Dimulai dengan Windows 8: Algoritma ini mendukung FIPS 186-3. Kunci kurang dari atau sama dengan 1024 bit mematuhi FIPS 186-2 dan kunci yang lebih besar dari 1024 ke FIPS 186-3.
BCRYPT_ECDH_ALG_HANDLE
0x00000291
Handel ke kurva elips utama generik Diffie-Hellman algoritma pertukaran kunci. SP 800-56A
BCRYPT_ECDH_P256_ALG_HANDLE
0x000002A1
Handel ke kurva elips utama 256-bit Diffie-Hellman algoritma pertukaran kunci. SP 800-56A
BCRYPT_ECDH_P384_ALG_HANDLE
0x000002B1
Handel ke kurva elips utama 384-bit Diffie-Hellman algoritma pertukaran kunci. SP 800-56A
BCRYPT_ECDH_P521_ALG_HANDLE
0x000002C1
Handel ke kurva elips utama 521-bit Diffie-Hellman algoritma pertukaran kunci. SP 800-56A
BCRYPT_ECDSA_ALG_HANDLE
0x000000F1
Handel ke algoritma tanda tangan digital kurva elips utama generik. ANSI X9.62
BCRYPT_ECDSA_P256_ALG_HANDLE
0x000002E1
Handel ke algoritma tanda tangan digital kurva elips utama 256-bit. FIPS 186-2, X9.62
BCRYPT_ECDSA_P384_ALG_HANDLE
0x000002F1
Handel ke algoritma tanda tangan digital kurva elips utama 384-bit. FIPS 186-2, X9.62
BCRYPT_ECDSA_P521_ALG_HANDLE
0x00000301
Handel ke algoritma tanda tangan digital kurva elips utama 521-bit. FIPS 186-2, X9.62
BCRYPT_RSA_ALG_HANDLE
0x000000E1
Handel ke algoritma kunci publik RSA. PKCS #1 v1.5 dan v2.0
BCRYPT_RSA_SIGN_ALG_HANDLE
0x00000311
Handel ke algoritma tanda tangan RSA. Algoritma ini saat ini tidak didukung. Anda dapat menggunakan algoritma BCRYPT_RSA_ALG_HANDLE untuk melakukan operasi penandatanganan RSA. PKCS #1 v1.5 dan v2.0.

Memblokir algoritma kode autentikasi pesan berbasis sandi dan sandi

Konstan Deskripsi Standar
BCRYPT_AES_CMAC_ALG_HANDLE
0x00000101
Handel untuk algoritma enkripsi simetris Kode autentikasi pesan berbasis sandi Advanced Encryption Standard (AES). SP 800-38B
BCRYPT_AES_GMAC_ALG_HANDLE
0x00000111
Handel untuk algoritma enkripsi simetris Standar Enkripsi Lanjutan (AES) Galois (GMAC). SP800-38D
BCRYPT_3DES_CBC_ALG_HANDLE
0x00000141
Handel untuk algoritma Standar Enkripsi Data tiga menggunakan mode Rantai Blok Cipher (CBC). SP 800-67, SP 800-38A
BCRYPT_3DES_ECB_ALG_HANDLE
0x00000151
Handel untuk algoritma Standar Enkripsi Data triple menggunakan mode Buku Kode Elektronik (ECB). SP 800-67, SP 800-38A
BCRYPT_3DES_CFB_ALG_HANDLE
0x00000161
Handel untuk algoritma Standar Enkripsi Data triple menggunakan mode Umpan Balik Sandi (CFB). SP 800-67, SP 800-38A
BCRYPT_3DES_112_CBC_ALG_HANDLE
0x00000171
Handel untuk algoritma Standar Enkripsi Data triple 112-bit menggunakan mode Rantai Blok Cipher (CBC). SP 800-67, SP 800-38A
BCRYPT_3DES_112_ECB_ALG_HANDLE
0x00000181
Handel untuk algoritma Standar Enkripsi Data triple 112-bit menggunakan mode Buku Kode Elektronik (ECB). SP 800-67, SP 800-38A
BCRYPT_3DES_112_CFB_ALG_HANDLE
0x00000191
Handel untuk algoritma Standar Enkripsi Data triple 112-bit menggunakan mode Umpan Balik Sandi (CFB). SP 800-67, SP 800-38A
BCRYPT_AES_CBC_ALG_HANDLE
0x000001A1
Handel untuk algoritma Standar Enkripsi Lanjutan (AES) menggunakan Cipher Block Chaining Mode (CBC). FIPS 197
BCRYPT_AES_ECB_ALG_HANDLE
0x000001B1
Handel untuk algoritma Standar Enkripsi Tingkat Lanjut (AES) menggunakan Mode Buku Kode Elektronik (ECB). FIPS 197
BCRYPT_AES_CFB_ALG_HANDLE
0x000001C1
Handel untuk algoritma Standar Enkripsi Tingkat Lanjut (AES) menggunakan Mode Umpan Balik Cipher (CFB). FIPS 197
BCRYPT_AES_CCM_ALG_HANDLE
0x000001D1
Handel untuk algoritma Standar Enkripsi Lanjutan (AES) menggunakan Penghitung dengan Mode CBC-MAC (CCM). FIPS 197
BCRYPT_AES_GCM_ALG_HANDLE
0x000001E1
Handel untuk algoritma Standar Enkripsi Lanjutan (AES) menggunakan Mode Penghitung Galois (GCM). FIPS 197
BCRYPT_DES_CBC_ALG_HANDLE
0x000001F1
Handel untuk algoritma Standar Enkripsi Data (DES) menggunakan Cipher Block Chaining Mode (GCM). FIPS 46-3, FIPS 81
BCRYPT_DES_ECB_ALG_HANDLE
0x00000201
Handel untuk algoritma Standar Enkripsi Data (DES) menggunakan Mode Buku Kode Elektronik (ECB). FIPS 46-3, FIPS 81
BCRYPT_DES_CFB_ALG_HANDLE
0x00000211
Handel untuk algoritma Standar Enkripsi Data (DES) menggunakan Mode Umpan Balik Cipher (CFB). FIPS 46-3, FIPS 81

Komentar

Anda dapat menggunakan handel ini dalam situasi apa pun yang memerlukan handel algoritma. Namun, setiap panggilan ke BCryptSetProperty gagal karena handel algoritma dibagikan dan tidak dapat dimodifikasi. Selain itu, handel ini tidak dapat digunakan dalam IRQL=DISPATCH mode kernel.