24.2. 概要
デジタル署名は、非対称暗号技術を使用してメッセージに署名します。高いレベルから、このアルゴリズムでは、1 つの鍵で暗号化されたデータは、もう一方の鍵でのみ復号化できるという特別なプロパティーを持つ補完的な鍵ペアが使用されます。秘密鍵は厳重に保護され、メッセージの '署名' に使用されますが、公開鍵は署名付きメッセージの検証に関心を持つすべてのユーザーに共有されます。メッセージは、秘密鍵を使用してメッセージのダイジェストを暗号化することによって署名されます。この暗号化されたダイジェストは、メッセージとともに送信されます。一方、検証者はメッセージダイジェストを再計算し、公開鍵を使用して署名内のダイジェストを復号化します。両方のダイジェストが一致する場合、検証者には、署名を作成できたのは秘密鍵の所有者のみであることがわかります。
Camel は、Java 暗号化拡張機能の署名サービスを使用して、エクスチェンジ署名の作成に必要なすべての重い暗号処理を行います。以下のリソースでは、暗号化、メッセージダイジェスト、デジタル署名の仕組みと、それらを JCE で活用する方法を説明しています。
- Bruce Schneier の応用暗号
- David Hook による Java による暗号化の開始
- 洞察に満ちたウィキペディア Digital_signatures