プログラミングパズルとコードゴルフのサイトには、非常に興味深いパズルがあります 画像内のピクセルを並べ替えて、認識できないようにしてから元に戻す 。これは暗号化ではないことを理解していますが、メッセージがそのような画像に隠され、安全に転送および取得される可能性はどれほどあるのでしょうか。
アリスがボブにテキストの画像を送信するためのパズルの解決策の1つを使用することを事前に共謀したアリスとボブを考えてみましょう。 TLA *は、その場限りの「暗号化」(難読化)を破ることを任されていますが、Stack Exchangeサイトについては知りません。アリスが管轄外にいるため、TLAはアリスにアクセスできません。さらに、テキストの画像なので、画像全体がグレースケールになります。
TLAがコードゴルフコンテストのソリューションの1つで「エンコード」された画像を傍受する場合、それらを解読するためにどのような手順を実行しますか?
* TLA:ネットワークにアクセスできる架空の政府機関。
基本的に、これは 転置暗号 です。次のテキストの例のように、パターンを探して再配置します。
http://www.richkni.co.uk/php/crypta/trans0.php
正しい解決策が何であるかが非常に簡単にわかるので、グレースケールのテキストを使用した例はコードゴルフの写真のように簡単です。
コードゴルフは本質的に、画像を変換するためのキーなしの1:1関数を作成することです。そのため、これは chosen-plaintext attack に対して非常に脆弱です。攻撃者がアリスまたはボブに巧妙に作成された画像を送信するように説得できる場合、そのピクセルが移動する場所のマップを構築できます。画像サイズ。
さらに、送信される画像に予測可能な特徴がある場合(たとえば、新聞の切り抜きの画像には常に白い境界線がある)、統計分析を使用して、画像の詳細を知らなくても地図を作成できます。