Cryptographic API

Cryptographic API（CryptoAPI、CAPI）は、Microsoft Windows オペレーティングシステムのAPIの1つであり、Windows での暗号を使ったセキュアなアプリケーション開発のためのサービスを提供する。一種の抽象化レイヤーを提供する一連のダイナミックリンクライブラリで構成され、データの暗号化を行うコードをアプリケーションから分離する。

CryptoAPI は公開鍵暗号と共通鍵暗号をサポートしている。データの暗号化/復号機能、公開鍵証明書を使った認証機能を含む。また、暗号論的擬似乱数生成器関数 CryptGenRandom も含まれる。

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も提供する。

関連項目 
 公開鍵暗号

外部リンク 
 Cryptography Reference on MSDN

Windows API
Windowsのセキュリティ技術