AESでデータを暗号化するときにIV(初期化ベクトル)を正しく使用することがわかりません。Python:AESでの暗号化と復号化に同じIVを使用する
ランダムに生成されたIVをどこに格納するかはわかりません。スクリプトでは、データは暗号化されてファイルに保存され、プログラムは終了します。次のセッションでは、以前に保存したデータを復号化する必要があります。私のIVの理解が正しいなら、私は暗号化と同じIVを復号化に使用しなければならない(しかし、すべての単一の暗号化プロセスのための別のランダムIV)。 したがって、IVをどこかに保存する必要があります。暗号化されたデータに先行することをお勧めする人もいますが、私の場合は正しく動作しません。を復号できるようにIV が必要です。それ。
これが正しいのですか、それとも私は何かを誤解しましたか?暗号化された/ハッシュされたキーとIV(暗号化されていなくても)を暗号化されていないプレーンテキスト設定ファイルや何かの中に保存しないようにしたい。
* *「何人かの人々は、暗号化されたデータにそれを先頭に追加をお勧めしますが、私は右のそれを得る場合には、私の場合には動作しません」 - 私はエラーがここにあると思います。それがまさにそれが機能しなければならない理由です。おそらく、暗号文の前部からIVを読んで、それをスキップして解読するのを忘れていたでしょう。 –
私はそれがポイントだと思います。私はIVが暗号文の内部に統合されていると想定していました。あなたが書いているように、そうではありません。暗号文が生成された後は明らかに**付加されているので、解読の際に読み取ることができます。すべてのものが保存されているファイルの種類は明らかに変更されていません(例えばtxtやxmlなど)。これはIVの読み込みを容易にします。私が読んだチュートリアルで遭遇した.encファイルタイプが混乱していました。私はそれを解読する前に.encファイルを読むことは不可能だと思った。 – Boandlkramer