クライアントとサーバー間の通信にセキュリティを実装する必要があります。次のハイブリッド暗号システムを実装しました
Alice 宛てのメッセージをハイブリッド暗号システムで暗号化するために、Bob は次のことを行います。
- Alice の公開鍵を取得します。
- データ カプセル化スキームの新しい対称キーを生成します。
- 生成されたばかりの対称キーを使用して、データ カプセル化スキームでメッセージを暗号化します。
- アリスの公開鍵を使用して、鍵のカプセル化方式で対称鍵を暗号化します。
- これらの暗号化を両方とも Alice に送信します。
このハイブリッド暗号文を復号化するために、Alice は次のことを行います。
- 彼女の秘密鍵を使用して、鍵カプセル化セグメントに含まれる対称鍵を復号化します。
- この対称キーを使用して、データ カプセル化セグメントに含まれるメッセージを復号化します。
公開鍵暗号システムには RSA を使用し、対称鍵暗号システムには AES を使用しています。すべてが正常に動作しますが、AES 初期化ベクトルを処理する方法がわかりません。現在、AESキーと初期化ベクトルを連結して公開キーで暗号化し、それをサーバーに送信しています。
このアプローチについて意見を求めたかっただけです。この問題が他の通信プロトコル SSL などでどのように解決されているか。
ありがとう。