Kryptografické primitivy
Rozhraní API CNG poskytuje sadu funkcí, které provádějí základní kryptografické operace, jako je vytváření hodnot hash nebo šifrování a dešifrování dat. Další informace o těchto funkcích naleznete v tématu kryptografické primitivní funkce CNG.
CNG implementuje mnoho kryptografických algoritmů. Každý algoritmus nebo třída algoritmů zveřejňuje své vlastní primitivní rozhraní API. Současně lze nainstalovat více implementací daného algoritmu; V každém okamžiku však bude výchozí pouze jedna implementace.
Každá třída algoritmu v CNG je reprezentována primitivním směrovačem. Aplikace používající primitivní funkce CNG propojí binární soubor směrovače Bcrypt.dll v uživatelském režimu nebo Ksecdd.sys v režimu jádra před voláním funkcí. Různé rutiny směrovače spravují všechny primitivní algoritmy. Tyto směrovače sledují každou implementaci algoritmu nainstalovanou v systému a směrují volání jednotlivých funkcí do příslušného modulu primitivního poskytovatele.
CNG poskytuje primitiva pro následující třídy algoritmů.
Třída algoritmu | Popis |
---|---|
generátor náhodných čísel |
Připojitelné náhodné generování čísel (RNG). |
hashování |
Algoritmy používané pro hashování, například SHA1 a SHA2. |
symetrické šifrování |
Algoritmy používané pro symetrické šifrování, jako je AES, 3DES a RC4. |
asymetrické šifrování |
Asymetrické algoritmy (veřejný klíč), které podporují šifrování, jako je RSA. |
podpis |
Algoritmy podpisů, jako jsou DSA a ECDSA. Tuto třídu lze také použít s RSA. |
tajná smlouva |
Algoritmy tajných smluv, jako jsou Diffie-Hellman (DH) a tři tečky Diffie-Hellman (ECDH). |
Následující obrázek znázorňuje návrh a funkci kryptografických primitiv CNG.
Soubor hlavičky Bcrypt.h definuje MS_PRIMITIVE_PROVIDER konstantu jako "Microsoft Primitive Provider". Chcete-li použít Microsoft Primitive Provider, předejte tuto hodnotu BCryptOpenAlgorithmProvider.