最終的にディスクに書き込まれるファイルのさまざまな部分を暗号化するために、同じ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. Video Core - スウィフトを使用したストリームの正方形ビデオ
- 4. C++ミューテックスを使用したストリーム演算子のロック
- 5. ffmpegを使用したストリーム公開rtmp:ネットワーク帯域幅が十分に活用されていません
- 6. spring-xdで解析モジュールを使用したストリーム作成が失敗しました
- 7. MediaPlayerを使用したストリーミングオーディオのプログレスバー
- 8. RestTemplateを使用したストリームファイルのダウンロード
- 9. WebRTCを使用したストリームメディアファイル
- 10. Exoplayerを使用したストリーミングビデオリスト
- 11. エンティティフレームワークを使用したストアドプロシージャ
- 12. CodeIgniterを使用したストアドプロシージャ
- 13. SSLを使用したストリームソケット
- 14. eclipseを使用したストレージプロジェクト
- 15. PHP Html5を使用したストリーミングビデオ
- 16. デビットカードを使用したストライプチェック
- 17. エンティティフレームワークとカスタムエンティティを使用したストアドプロシージャ
- 18. RTSPを使用したストリーミングウェブカメラ
- 19. IFを使用したストアドプロシージャ
- 20. PHPを使用したストライプでのチェックアウトの使用
- 21. Numpadを使用したresignFirstResponderの処理
- 22. POSTを使用したフォームの処理
- 23. javascriptを使用したショートカットキーの処理
- 24. セレンを使用したポップアップウィンドウの処理
- 25. angularJsを使用したリアルタイムデータの処理
- 26. WatiNを使用したフラッシュボタンの処理
- 27. asp.netを使用したエラーメッセージの処理
- 28. バックスラッシュを使用したデータベーステーブルエントリの処理?
- 29. SonataAdminBundleを使用したsimple_arrayの処理
- 30. WPF DataGridを使用したループ処理foreachを使用した
すばらしい、ありがとう!私があなたが言及した連鎖について読むことができるところはありますか? – Merrin
[ウィキにはこれに関する素晴らしい記事があります](https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation) –
また、暗号化中にivをバイトストリーム自体に書き込むことができたので、復号化する。 – Merrin