6

このwikiページのように暗号化された写真をどのように見るのですか? それを行うための特別なプログラムはありますか、または誰かが愚かな xor を ECB について主張することに決めましたか? 私はグラフィック担当者ではないので、暗号化された画像を表示するプログラムがあるとしたら、それらは何ですか?

4

3 に答える 3

4

暗号化は、バイト ストリームで機能します。つまり、バイト配列を受け取り、別のバイト配列を出力します。画像単なるバイト配列です。左上のピクセルの "r" コンポーネントを最初のバイトに、"g" コンポーネントを 2 番目のバイトに、"b" コンポーネントを 3 番目のバイトに割り当てます。その隣のピクセルの "r" コンポーネントは 4 番目のバイトなどです。

したがって、画像を「暗号化」するには、最初の画像のピクセルのバイト配列を取得し、それを暗号化し (暗号化は通常、パディングを除いてバイト数を変更しません)、それらの暗号化されたバイトをピクセル データとして使用します。 2番目の画像。

これは、イメージファイル全体の暗号化とは異なることに注意してください。通常、画像ファイルには特定のヘッダー (JPEG ヘッダーなど) があります。ファイル全体を暗号化すると、ヘッダーも含まれ、全体を復号化しないと画像を「表示」できなくなります。

于 2010-05-24T00:58:43.423 に答える
3

それは単なるばかげた XOR (それらはすべて XOR を使用できます) ではありませんが、同じ入力を毎回同じ出力に変換するスキームは、入力に存在するパターンを簡単に見つけることができることを強調するためにあります。この画像は、「暗号化された」出力で Tux を簡単に見つけることができることを示しています。著者はあらゆる種類のデータを使用できた可能性がありますが、人間の目はパターンを見つけるのが非常に得意であるため、画像を使用しました。これは良い例です。

記事にあるように、より良いスキームでは、前のブロックの出力を使用して次のブロックを「ランダム化」するため、出力にパターンが表示されません (右の画像のように)。

于 2011-01-27T21:05:11.243 に答える