dd、cat、openssl:ブロックサイズとバッファサイズ

dd、cat、openssl:ブロックサイズとバッファサイズ

ここddスルーdm-cryptオーバーレイブロックデバイスを使用する場合、ブロックサイズは同じで(512バイト)、ブロックサイズを増やすと最終ブロックが書き込まれない可能性があるため、デフォルトのブロックサイズのみをdd使用する必要があると述べられています。dm-cryptdd

これも動作しますかopenssl(Linuxでは)?

ここopensslGilesはそれがデフォルトであると言いました。バッファーサイズは8kBです。この場合、バッファサイズはブロックサイズと同じですか?

デフォルトのブロックサイズが512のdd場合、1Mのブロックサイズを使用するには、このブロックサイズも同じ数にdd設定する必要がありますか?バイト単位で?-bufsizeopenssl-bufsize

また、デフォルト(および設定不可能)ブロックサイズが128kBの場合、catスルーを使用することをお勧めしませんか?opensslcat

ベストアンサー1

TLDR 大丈夫です(私の推測が正しい場合)

まず、opensslコマンドラインを使用して実行できるタスクは約50種類あります。そのうちの2つですが、一括入力データを使用します。つまり、enc「ファイル」を暗号化または復号化したり、特殊な場合に base64 エンコード/デコード (実際には暗号化ではない) とdgst暗号化を行います。 「ファイル」ハッシュし、オプションで署名または確認します。これは、何かを「上書きする」ために使用できる出力のみを生成するため、バッチ出力を生成することも可能ですが、入力に依存しないことを意味すると仮定encします。rand

2. 問題はリンクに問題がありますはい遅延暗号化データチャンクまたはエンコードされた(base64)チャンクを待つためインターネット経由。正しい出力を得ることに興味があるなら、遅延時間は重要ではなく、ソースがリモートでない場合でも遅延しません。

openssl enc ブロック暗号とパターンの使用、特にデフォルトで使用される基本 CBCPKCS#5 パディング(いわゆる公式はPKCS#5に基づくPKCS#7ですが、OpenSSLを含む多くの人はちょうどPKCS#5と言います。)これにより、次のことが可能になります。必要な数のバイト暗号化と復号化オペレーティング・システムおよびファイル・システムでサポートされる入出力「ファイル」に適したデータ。暗号化されたファイル(パディングの追加)は、常に使用される暗号ブロックサイズの正確な倍数です。パスワードベースのソルト暗号化(デフォルト)では、暗号文はプレーンテキストより最大32バイト長くなる可能性があるため、暗号化するときにこれを考慮することができます。指定した場合-nopad(ブロックパスワード/モードの場合)パディングは無効になり、プレーンテキストはパスワードブロックサイズの正確な倍数でなければなりません。それ以外の場合はエラーが発生し、出力が不完全です。一般的に空でなくても、不注意な人やスクリプトなどが有効ではないのに有効だと思うように欺くことができます。

使用する場合ストリームパスワード(現在はRC4のみ)またはストリーミングモードブロック暗号(CFB OFB CTR)はパディングを要求または使用しません。プレーンテキストは次のとおりです。任意のバイト数(ファイルに合います)。ソルテッドPBEの場合、暗号文はまだ16バイト長です。 (警告:一部のバージョンでは、CCMモードとGCMモードがサポートされていると誤ってリストされています。encこれを使用しようとすると実際には機能しません。)

-bufsizeデータの読み書きにのみ使用されるサイズです。暗号ブロックサイズ(存在する場合)に関連付ける必要はありませんが、基本的には2乗の2乗で、サポートされているすべてのブロック暗号のブロックサイズは2の小さい2乗であるため、均等に分割されます。 Cryptologicはビッグデータを任意のサイズに分割されたストリームとして扱います。全長だけが重要です。しかし、処理効率が低い。場所Cライブラリと(通常)オペレーティングシステムをより多く呼び出すので、より小さなチャンクです。

cat入力にパイプを接続するのは問題ありませんが、「ファイル」のみを読み取る場合は、openssl encそのファイルを(リダイレクトされた)標準入力または引数として使用するよりも利点はありません。繰り返しますが、単にデータをコピーする場合は、それを使用しても有害または利点はありません。 EBCDICおよび/または固定長レコード(通常のIBMメインフレームデータ)変換などの他の機能を使用する場合、これは明らかにそうです。必要です。もしあなたならopenssl-indddd考える1234+0 records inddなどに関する同様の統計が必要です。

おすすめ記事