私は、AES 256を使用してファイルを暗号化および復号化するためのAndroidアプリケーションを作成しています。ユーザーが入力したパスワードからAESキーを引き出すためにAES-CBCモードとPBKDF2を使用しています。また、私はすべてのファイルの暗号化キーに対して安全な疑似ランダムソルトを生成しています。私はIVと塩を暗号化されたファイルと一緒に保存しているので、それらを再度読み込み、後で鍵を再生成してファイルを解読できるようにします。暗号化されたファイルブレークセキュリティと共に塩を保存していますか?
私の質問:暗号化されたファイルと一緒に塩を保存するとセキュリティと塩そのものの意味が損なわれますか?攻撃者が塩分を知ることはできず、IVは暗号化されたファイルに対してオフラインブルートフォース攻撃を行って暗号鍵を見つけることができないのですか?
しかし、攻撃者がファイルから平文で読むことができる有効な塩を含む虹のテーブルを作成するとどうなりますか? –
@AlexAmiryan虹のテーブルを構築することは、少なくともブルートフォース攻撃ほど高価です。だから、もしあなたがテーブルを再利用することができないなら(それは塩が防ぐものです)、テーブルを作ることは無駄です。単にブルートフォース攻撃を直接実行してください。 – CodesInChaos