2

ファイルをディスクに保存するときに暗号化しようとしています。C#でCrypto名前空間を確認しましたが、どのように行うべきかわかりません。基本的に、プログラムがファイルの暗号化と復号化の両方を行えるようにする機能が必要です。このファイルは、私のプログラムによってシリアル化された単なるxmlファイルですが、SQLサーバーの接続文字列などの機密データを含めることができます。私のクライアントは、これらのプロファイルを他の人に電子メールで送信し、アプリケーションで開いて設定をシステムに適用する機能を望んでいます。

Crypto名前空間でAESクラスを試しましたが、別のマシン上のプログラムで復号化できるように、IVとキーをどこに保存するかわかりません。

4

1 に答える 1

2

典型的なシナリオでは、このようなものを処理するためのフローは次のようになります。

  • IVは静的であり、クライアントに認識されています
  • エンドマシンはRSAキーペアを生成し、データ(XMLファイル)を送信する当事者にのみ公開キーを提供します
  • AESキーが生成され、RSA公開キーを使用して暗号化されてクライアントに送信されます。これで、クライアントのみが、以前に生成した秘密キーを使用してそのAESキーを取得できます。
  • 以前にクライアントに安全に送信したAESキーを使用してデータを暗号化します

つまり、誰かが完全なデータストリームをキャプチャしたとしても、AESキーを取得するために必要な秘密キーを持っていないため、データを復号化することはできません。

于 2012-08-29T14:54:03.857 に答える