web-dev-qa-db-ja.com

同じソルト/ IVでAESを使用-パターンマッチングアルゴリズムに必要

保存しているデータを安全に暗号化する必要がありますが、クライアントごとに、同じプレーンテキストで同じ暗号テキストに暗号化する必要があります。この理由は、データは適用するパターンマッチングアルゴリズムにも必要であるため、同じ平文に対して暗号文が常に異なる場合は機能しないためです。

この要件を踏まえて、私は256ビットキーを使用したAES暗号化を使用して、ランダムなMD5ハッシュをパスワードとして、ハードコードされたソルトと各クライアントのIVを作成しています。暗号文が一致するため、データのパターンを見つけてもかまいませんが、クライアントのキーのすべてのデータを復号化するためのキーを取得できないことに注意します。

が平文と対応する暗号文の両方を含むデータの一部であった場合、キーを解読するのはどれほど簡単ですか。それはまだnビットキーまたはその近辺で2 ^(n-1)ですか、それとも今は固定ソルトとIVを持つセキュリティリスクですか?

既知の一致するすべての暗号化テキストとプレーンテキストを使用すると、同時にアタッチできるため、キーを攻撃するコストをN倍削減できると読みました...これは本当ですか?

6
moatak787

私があなたの質問を正しく理解している場合、誰かが暗号文に対応する平文を知っている可能性があり、あなたはこれがあなたの鍵を弱めるかもしれないと心配しています。

その場合、AESは 既知のプレーンテキスト攻撃 の影響を受けません。つまり、暗号文に対応する平文を知っていても、暗号化キーを推測するのに役立ちません。

MD5は128ビットなので、十分な長さの鍵が必要です。これは永久にかかります(これは、「(much)^(much)の暗号化された情報のライフサイクルよりも長い概算」)。

2
WoJ