2016-05-19 13 views
0

私はuserIdをとり、RijndaelManagedプロバイダでそれを暗号化するWebサイトを持っています。対称アルゴリズムキーと初期化ベクトル(IV)の実装

このデータを暗号化した後、そのデータはキューに入れられます。私の理解では、すべてのデータを異なるIV値で暗号化する必要があり、これを公開することができます。

SymmetricAlgorithmクラスの1つを使用して暗号化されたデータを復号化するには、KeyプロパティとIVプロパティを暗号化に使用したのと同じ値に設定する必要があります。対称アルゴリズムが有用であるためには、秘密鍵は送信者と受信者だけが知る必要があります。

また、Windowsサービスがこのキューから読み取り、データの復号化を試みます。しかし、キュー内のすべての値が異なるIVで暗号化されているため、WindowsサービスはどのIVを使用するかをどのように知っていますか?

私は以下のような暗号化されたデータを横に並べておく必要があります。

MRibePnbXiN578TUAZcITw== - MyIVValueIsHere 

既知のアプローチが必要ですか?

答えて

2

はい、これはAES-CBCを使用する場合はまさにあなたがすべきことです。各メッセージに対してIVを無作為に生成する必要があります(RNGCryptoServiceProviderなどの暗号化された安全なランダムジェネレータを使用)。その後、暗号化されたメッセージとともにIVを送信します。

AESが標準であるため、AESCryptoServiceProviderも使用することを検討してください。 AESはRijndaelと同じですが、標準化されたいくつかのパラメータが固定されています。

+0

説明のため、AESCryptoServiceProviderの提案も検討します。 –

1

暗号化されたデータにIVを付加して復号化できるようにするのが一般的です。

関連する問題