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.
Interfejs API CNG udostępnia zestaw funkcji, które wykonują podstawowe operacje kryptograficzne, takie jak tworzenie skrótów lub szyfrowanie i odszyfrowywanie danych. Aby uzyskać więcej informacji na temat tych funkcji, zobacz CNG Kryptograficzne funkcje pierwotne.
CNG implementuje wiele algorytmów kryptograficznych. Każdy algorytm lub klasa algorytmów uwidacznia własny pierwotny interfejs API. W tym samym czasie można zainstalować wiele implementacji danego algorytmu; jednak tylko jedna implementacja będzie domyślna w danym momencie.
Każda klasa algorytmu w sieci CNG jest reprezentowana przez router pierwotny. Aplikacje korzystające z funkcji pierwotnych CNG będą łączyć się z plikiem binarnym routera Bcrypt.dll w trybie użytkownika lub Ksecdd.sys w trybie jądra przed wywołaniem funkcji. Różne procedury routera zarządzają wszystkimi algorytmami pierwotnymi. Te routery śledzą każdą implementację algorytmu zainstalowaną w systemie i kierują każde wywołanie funkcji do odpowiedniego modułu dostawcy pierwotnego.
CNG udostępnia typy pierwotne dla następujących klas algorytmów.
| Klasa Algorithm | Opis |
|---|---|
| generator liczb losowych |
Podłączane generowanie liczb losowych (RNG). |
|
hashing |
Algorytmy używane do tworzenia skrótów, takie jak SHA1 i SHA2. |
| szyfrowanie symetryczne |
Algorytmy używane do szyfrowania symetrycznego, takiego jak AES, 3DES i RC4. |
| szyfrowanie asymetryczne |
Algorytmy asymetryczne (klucz publiczny), które obsługują szyfrowanie, takie jak RSA. |
| podpis |
Algorytmy podpisów, takie jak DSA i ECDSA. Tej klasy można również używać z rsa. |
| umowa Secret |
Tajne algorytmy umowy, takie jak Diffie-Hellman (DH) i krzywa eliptyczna Diffie-Hellman (ECDH). |
Na poniższej ilustracji przedstawiono projekt i funkcję kryptograficznych pierwotnych CNG.
Plik nagłówka Bcrypt.h definiuje stałą MS_PRIMITIVE_PROVIDER jako "Dostawca pierwotny firmy Microsoft". Aby użyć dostawcy pierwotnego firmy Microsoft, przekaż tę wartość do BCryptOpenAlgorithmProvider.