最終的にディスクに書き込まれるファイルのさまざまな部分を暗号化するために、同じinitVectorを使用してCipherOutputStreamを使用して書き込むことは安全ですか?私は同じキーを使用しますが、おそらくcos.write()を呼び出すたびに異なるivを使用したいと考えています。これが行われるならば、私は毎回新しいivを無作為に生成する必要があります。次に、解読中に、これらの初期ベクトルを解読暗号にどのように渡すか。 ivがファイルの内容に埋め込まれ、確定的な方法で読み返すことができますか?私はそれが役立つ場合は、ivの長さを修正することができます。AESを使用したストリーム処理用のinitVector
0
A
答えて
2
初期化ベクトル(IV)は、連鎖モードの開始に使用されます。その後、このIVで初期化された連鎖モードは、のの暗号ストリームを閉じるまで有効です。
あなたはミッドストリームスイッチIVに必要な場合は、オフ仕上げに適用可能なパディングを適用するなど、継続的な暗号化ストリームが必要になります。これは、1つの「暗号化ストリーム」がいつ終了するかを識別するためのスキームの必要性と、新たな開始をもたらす。
あなたはランダムアクセスのいくつかの種類を必要とするか、暗号化されたデータとの明確な混合でデータを持っていない限り、あなたは通常、一つだけのユニークなIVで一つのストリーム内のすべてのデータを暗号化します。
IVについては、暗号化されたデータの前にファイルにプリペンドすることができます。これにより、暗号ストリームをインスタンス化する直前にこれを読み取ることができます。
関連する問題
- 1. httpwebquestを使用したストリーム接続
- 2. async sinatraを使用したストリームの複数のボディ
- 3. C++ミューテックスを使用したストリーム演算子のロック
- 4. Video Core - スウィフトを使用したストリームの正方形ビデオ
- 5. MPEG-DASHを使用したストリーム内非線形広告
- 6. Jenkins Pipeline + Docker/VMを使用したストリーム出力
- 7. ffmpegを使用したストリーム公開rtmp:ネットワーク帯域幅が十分に活用されていません
- 8. spring-xdで解析モジュールを使用したストリーム作成が失敗しました
- 9. Spring MVCを使用したストライプJava統合支払い処理
- 10. MediaPlayerを使用したストリーミングオーディオのプログレスバー
- 11. CosmosDbを使用したストアドプロシージャのデプロイ
- 12. RestTemplateを使用したストリームファイルのダウンロード
- 13. PHP Html5を使用したストリーミングビデオ
- 14. eclipseを使用したストレージプロジェクト
- 15. CodeIgniterを使用したストアドプロシージャ
- 16. WebRTCを使用したストリームメディアファイル
- 17. RTSPを使用したストリーミングウェブカメラ
- 18. エンティティフレームワークを使用したストアドプロシージャ
- 19. エンティティフレームワークとカスタムエンティティを使用したストアドプロシージャ
- 20. ピラミッドフレームワーク:Opencvを使用したストリームカメラ
- 21. コンパレータを使用したストリームソートメソッド
- 22. キャメルを使用したストリーミングJMS
- 23. IFを使用したストアドプロシージャ
- 24. デビットカードを使用したストライプチェック
- 25. SSLを使用したストリームソケット
- 26. Exoplayerを使用したストリーミングビデオリスト
- 27. PHPを使用したストライプでのチェックアウトの使用
- 28. node-maxmind IPアドレスを使用したストリーミングデータの使用
- 29. Numpadを使用したresignFirstResponderの処理
- 30. javascriptを使用したショートカットキーの処理
すばらしい、ありがとう!私があなたが言及した連鎖について読むことができるところはありますか? – Merrin
[ウィキにはこれに関する素晴らしい記事があります](https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation) –
また、暗号化中にivをバイトストリーム自体に書き込むことができたので、復号化する。 – Merrin