Java私が書いたアプリケーションの場合、ユーザーから提供されたパスワードを取得し、ランダムに生成された512-ビットソルト:この鍵を使用して、AES-CBCモードの暗号化でファイルを暗号化し、その暗号化されたデータを使用して何かを行います。
気になるのは、誰かがパスワードを生成してから、暗号文の最初の数バイトを解読して、ゴミが出ていないかどうかを確認できることです。
私は偏執的ですか、それともできる追加の仕事はありますか?
たとえば、暗号文の部分的な解読を防ぐAESのモードはありますか?または、たくさんのキーをテストするプロセスを遅くする何か他に?
暗号文の一部を復号化する機能は重要ではありません。
たとえばディスク暗号化プログラムでは、固定(既知の)文字列を暗号文に追加して、パスワードが失敗するかどうかを確認するのが一般的です。使用しているモードに関係なく、これは重要なポイントではありません。
CBCモードの重要な弱点は1つだけです。CBCモードは改ざん攻撃を防止しません。つまり、攻撃者は暗号文の一部を推測し、その目的に応じてそれを変更できます。可能な場合は、GCM、EAX、CCMまたはOCBモードを使用します。