ランダム アクセス モード (ファイルの任意の部分にアクセス) で機能する必要がある AES に基づくファイル暗号化を構築しています。たとえば、カウンターの AES を使用できますが、2 度使用されない一意のシーケンスが必要であることはよく知られています。この場合、単純化された Fortuna PRNG (特定のファイルに固有のランダムに選択された一意のキーでカウンターを暗号化する) を使用しても問題ありませんか? このアプローチに弱点はありますか?
したがって、暗号化/復号化は次のようになります
オフセットでのブロックの暗号化:
rndsubseq = AESEnc(Offset, FileUniqueKey)
xoredplaintext = plaintext xor rndsubseq
ciphertext = AESEnc(xoredplaintext, PasswordBasedKey)
オフセットでのブロックの復号化:
rndsubseq = AESEnc(Offset, FileUniqueKey)
xoredplaintext = AESDec(ciphertext, PasswordBasedKey)
plaintext = xoredplaintext xor rndsubseq
1 つの観察。フォルトゥナで使われているアイデアは自分で思いついたのですが、後になってそれがすでに発明されていることを発見したのは確かです。しかし、どこでも重要なポイントはセキュリティですが、別の良い点があります。いわば(簡略化された形式で)優れたランダムアクセス疑似乱数ジェネレーターです。したがって、PRNG は非常に優れたシーケンスを生成するだけでなく (Ent と Die Hard でテストしました)、ステップ番号がわかっている場合は任意のサブシーケンスにアクセスできます。では、Fortuna をセキュリティ アプリケーションの「ランダム アクセス」PRNG として使用することは一般的に問題ないのでしょうか?
編集:
言い換えれば、私が提案するのは、Fortuna PRNG を微調整として使用して、ランダム アクセス機能を備えた微調整可能な AES 暗号を形成することです。Liskov、Rivest、Wagner の著作を読みましたが、動作モードの暗号と微調整可能な暗号の主な違いは何かを理解できませんでした。彼らは、このアプローチを暗号自体の内部の高レベルから導入することを提案したと述べましたが、たとえば、私の場合、微調整でプレーンテキストを xor する場合、これは微調整ですか?