Microsoft CryptoAPI

Microsoft CryptoAPI

The Cryptographic Application Programming Interface (also known variously as CryptoAPI, Microsoft Cryptography API, MS-CAPI or simply CAPI) is an application programming interface included with Microsoft Windows operating systems that provides services to enable developers to secure Windows-based applications using cryptography. It is a set of dynamically-linked libraries that provides an abstraction layer which isolates programmers from the code used to encrypt the data. The Crypto API was first introduced in Windows NT 4.0 [1] and enhanced in subsequent versions.

CryptoAPI supports both public-key and symmetric key cryptography, though persistent symmetric keys are not supported. It includes functionality for encrypting and decrypting data and for authentication using digital certificates. It also includes a cryptographically secure pseudorandom number generator function CryptGenRandom.

CryptoAPI works with a number of CSPs (Cryptographic Service Providers) installed on the machine. CSPs are the modules that do the actual work of encoding and decoding data by performing the cryptographic functions. Vendors of HSMs may supply a CSP which works with their hardware.

Contents

Cryptography API: Next Generation

Windows Vista features an update to the Crypto API known as Cryptography API: Next Generation (CNG). It has better API factoring to allow the same functions to work using a wide range of cryptographic algorithms, and the inclusion of a number of newer algorithms that are part of the National Security Agency (NSA) Suite B. It is also flexible, featuring support for plugging in custom cryptographic APIs into the CNG runtime. However, CNG Key Storage Providers still do not support symmetric keys. CNG works in both user and kernel mode, and also supports all of the algorithms from the CryptoAPI. The Microsoft provider that implements CNG is housed in Bcrypt.dll.

CNG also supports elliptic curve cryptography which is also secure and uses shorter keys than RSA.[2] The CNG API integrates with the smart card subsystem by including a Base Smart Card Cryptographic Service Provider (Base CSP) module which encapsulates the smart card API. Smart card manufacturers just have to make their devices compatible with this, rather than provide a from-scratch solution.

CNG also adds support to Dual_EC_DRBG[3], a pseudorandom number generator defined in NIST SP 800-90 that could expose the user to eavesdropping by the National Security Agency unless the user remembers to generate new random numbers with a different cryptographically secure pseudorandom number generator or a true random number generator and then publishing the generated seed in order to make it secure. It is also very slow.[4] It is only used when called for explicitly.

CNG also replaces the default PRNG with CTR_DRBG using AES as the block cipher, because the earlier RNG which is defined in the now superseded FIPS 186-2 is based on either DES or SHA-1, both which have been broken[5]. CTR_DRBG is one of the two algorithms in NIST SP 800-90 endorsed by Schneier, the other being Hash_DRBG[4].

See also

References

External links


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • CryptoAPI — CryptoAPI  интерфейс программирования приложений, который обеспечивает разработчиков Windows приложений стандартным набором функций для работы с криптопровайдером. Входит в состав операционных систем Microsoft. Большинство функций CryptoAPI… …   Википедия

  • Microsoft Layered Service Provider — LSP (Layered Service Provider, англ. многоуровневый поставщик услуг) технология Windows sockets версии 2.0, позволяющая пользователю подключать собственные DLL библиотеки для обработки вызовов Winsock API. Суть технологии состоит в том, что любое …   Википедия

  • CryptoAPI — Cryptographic Application Programming Interface La Cryptographic Application Programming Interface de Microsoft (aussi connue sous le nom de CryptoAPI, MS CAPI ou simplement CAPI) est une interface de programmation pour les langages C et C++… …   Wikipédia en Français

  • Microsoft Windows Server 2008 — Windows Server 2008 …   Deutsch Wikipedia

  • Microsoft XNA — XNA Тип Фреймворк приложения Разработчик Microsoft Операционная система Microsoft Windows, Xbox 360, Zune, Windows Phone 7 Последняя версия 4.0 Refresh (6 октября 2011) …   Википедия

  • Microsoft Trident — У этого термина существуют и другие значения, см. Trident. Trident (также известен как MSHTML)  браузерный движок для Microsoft Internet Explorer. Впервые Trident был реализован в четвёртой версии Internet Explorer (октябрь 1997 года),… …   Википедия

  • Microsoft Foundation Classes — Пакет Microsoft Foundation Classes (MFC)  библиотека на языке C++, разработанная Microsoft и призванная облегчить разработку GUI приложений для Microsoft Windows путем использования богатого набора библиотечных классов. Содержание 1 Принцип… …   Википедия

  • Cryptography API — Entwickler Microsoft Corp. Aktuelle Version obsolet Betriebssystem Windows Kategorie Entwicklung …   Deutsch Wikipedia

  • Cryptographic Service Provider — In Microsoft Windows, a Cryptographic Service Provider (CSP) is a software library that implements the Microsoft CryptoAPI (CAPI). CSPs implement encoding and decoding functions, which computer application programs may use, for example, to… …   Wikipedia

  • Аппаратное шифрование — Аппаратное шифрование  процесс шифрования, производимый при помощи специализированных вычислительных устройств. Содержание 1 Введение 2 Достоинства и недостатки аппаратного шифрования …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”