3

AESを使用してユーザーからのキーテキスト入力を暗号化する機能があります。要求に応じて復号化します。AES暗号化のキーとIVを維持するための理想的な方法は何ですか(現在、アプリケーションにハードコーディングされています)。暗号化されたデータを毎回データベースに保存します。ページの読み込み時に、暗号化された値がデータベースから取得されます。この値は、ボタンをクリックすると復号化されます。キーとIVをより良い方法で使用できる最善のものはありますか?

4

1 に答える 1

5

IVは保存できます(または「公開」/公開することもできます)。それは「秘密」ではありません。キーは秘密にしておく必要があります。したがって、のようにデータを保存/送信できます<iv_here>;<encrypted_data_here>

ウィキペディアを参照してください:

初期化ベクトル(IV)は、暗号化をランダム化するためにいくつかのモードで使用されるビットのブロックであり、同じプレーンテキストが複数回暗号化されている場合でも、低速のキー再生成プロセスを必要とせずに、別個の暗号文を生成します。

初期化ベクトルにはキーとは異なるセキュリティ要件があるため、通常、IVは秘密である必要はありません。ただし、ほとんどの場合、初期化ベクトルが同じキーで再利用されないことが重要です。

于 2013-03-26T09:20:26.700 に答える