C#クラスの暗号化と復号化

1.SymmetricAlgorithm.IVプロパティ

取得または設定する初期化ベクトル対称アルゴリズム

IV属性のサイズは8と同じ属性のBlockSizeで割らなければなりません。

 

派生クラスSymmetricAlgorithmの鍵及びデータの暗号変換を実行するための初期化ベクトルを必要とするクラス使用連鎖モードと呼ばれる暗号ブロック連鎖(CBC)。いずれかを使用して暗号化されたデータを復号化するにはSymmetricAlgorithmのクラスを、あなたが設定しなければならない主なプロパティおよびIV暗号化に使用したのと同じ値にプロパティを。

与えられた秘密鍵のためにK、初期化ベクトルを使用しない単純なブロック暗号は、暗号文の同じ出力ブロックに平文の同じ入力ブロックを暗号化します。あなたは、プレーンテキストストリーム内の重複ブロックを持っている場合は、あなたの暗号文ストリーム内の重複ブロックを持つことになります。権限のないユーザーがあなたのプレーンテキストのブロックの構造について何を知っている場合、彼らは知られている暗号文ブロックを解読し、おそらくあなたの鍵を回復するためにその情報を使用することができます。この問題に対処するために、前のブロックからの情報は、次のブロックの暗号化プロセス中に混合されます。したがって、2つの同一の平文ブロックの出力が異なっています。この技術は次のブロックを暗号化する前のブロックを使用するため、初期化ベクトルは、データの最初のブロックを暗号化するために必要とされます。

おすすめ

転載: www.cnblogs.com/long612-/p/12132159.html