24

だから、私の人生を簡素化するために、私のプログラムが処理しているいくつかのjpg画像の最後に1から7の追加文字を追加できるようにしたい*. これらは、ブロック暗号化のためにファイル サイズを 8 バイトの倍数にするためだけのダミー パディング (フィラーなど - おそらくすべて 0x00) です。

いくつかのプログラムでこれを試してみたところ、画像の終わりを指定する FF D9の後に発生する追加の文字で問題ないように見えます。最後に追加しても問題ありません。

必要に応じて、後でいつでもファイルの後処理を行うことができますが、私の好みは、可能な限り単純なことを行うことです。 )。

何年も前のステガノグラフィーのすべての話で、誰かがここでいくつかの意見を持っていると思います...

(8バイトブロック単位での暗号化処理、暗号化前のファイルサイズを節約したくないので、入力データに0x00を付加し、デコード後そのまま)

4

4 に答える 4

23

いいえ、jpgファイルを使用できなくすることなく、その末尾にビットを追加できます。jpgファイルの見出しはそれを読み取る方法を示しているので、それを読み取るプログラムはjpgデータの最後で停止します。

実際、人々はjpgデータの最後にzipデータを追加することにより、jpgファイル内にzipファイルを隠しています。これらの形式の構造により、結果のファイルはどちらの形式でも有効です。

于 2008-09-08T23:43:45.627 に答える
7

あなたは..することができますが、結果は予測できない かもしれません。

余分なデータを無視するようにクライアントに指示するのに十分な形式の情報がありますが、プログラマーがテストしたケースではない可能性があります。

妄想的なプログラムは、サイズを調べ、不一致に気づき、ファイルを完全に理解していないため、ファイルを処理しないと判断する場合があります。これは、ファイル内のランダムなバイトがセキュリティリスクと見なされる可能性がある場合に、Webからデータを読み取るときに特に発生する可能性があります。

于 2008-09-08T23:53:17.007 に答える
3

JPEG (または、EXIF または IPTC フィールド) 内の XMP タグにデータを埋め込むことができます。XMP は XML であるため、独自のものを独自に作成するための柔軟性がかなりあります。

おそらく最も単純なことではありませんが、ここにデータを配置すると、JPEG の整合性が維持され、「後処理」が不要になります。

その後、PhotoShop などの他の画像処理ソフトウェアにデータが表示されますが、これは理想的ではない場合があります。

于 2008-09-09T00:59:10.593 に答える
0

他の人が述べているように、プログラムが画像ファイルをどのように処理するかを制御することはできないため、一部のプログラムは有効な画像を見つける場合があり、他のプログラムはそうでない場合があります。

ただし、ここにはもっと大きな問題があります。あなたの質問から判断すると、あなたは「あいまいさによるセキュリティ」を実践していると思います。それは非常に悪い習慣であると広く考えられています。Google を使用して、トピックに関する多数の記事を検索します。

于 2008-09-09T03:44:53.050 に答える