Cryptographic API

Cryptographic API（CryptoAPI、CAPI）は、Microsoft Windows オペレーティングシステムのAPIの1つであり、Windows での暗号を使ったセキュアなアプリケーション開発のためのサービスを提供する。一種の抽象化レイヤーを提供する一連のダイナミックリンクライブラリで構成され、データの暗号化を行うコードをアプリケーションから分離する。
CryptoAPI は公開鍵暗号と共通鍵暗号をサポートしている。データの暗号化/復号機能、公開鍵証明書を使った認証機能を含む。また、暗号論的擬似乱数生成器関数 も含まれる。
CryptoAPI はマシン上にインストールされた CSP (Cryptographic Service Provider）を使って動作する。CSP は実際のデータの暗号化/復号を行うモジュールである。
Windows Vista では、CryptoAPI が Cryptography API: Next Generation (CNG) に更新された。使える暗号化アルゴリズムが増え、アメリカ国家安全保障局 (NSA) Suite B の一部の新しいアルゴリズムを含んでいる。また、プラグイン形式で独自暗号APIを追加できる柔軟性を備えている。CNG はカーネルモードでもユーザーモードでも動作し、従来の CryptoAPI での全アルゴリズムをサポートしている。CNG を実装したマイクロソフト製プロバイダは Bcrypt.dll にある。
CNG はRSAよりも短い鍵でセキュアな楕円曲線暗号もサポートしている。CNG API は、Base Smart Card Cryptographic Service Provider (Base CSP) モジュールを使うことでICカード用のAPIも提供する。