映画「ナショナルトレジャー」の続編「リンカーン暗殺者の日記」のDVDを買いました。
そこに登場する「プレイフェア暗号」なるものに興味を持ち、調べてみました。
暗号化の方法については、下記のページを参考にさせていただきました。
むかでさんの
すきっぷ本舗
たまがき歯科クリニック院長の
趣味のページ
上記ページの解説を参考に、暗号化・及び解読ソフトを、エクセルで作ってみました。
Playfair.xls(175KB)
「HD AH IO SN ZE BF DT MW MN TL RD VG VT AT HD」
※ 私の解釈に勘違いがあり、エクセルファイルを差し替えました。
2文字ずつ組み合わせて同じ文字だったとき、
「X」に置き換えていたのは間違いで、
間に入れるのが正解でした。つまり、文字列が長くなります。(2009/04/15)
確かめたい点がいくつかあります。
参考にした2つのページで、解釈の違う点がありました。
2文字が行、列ともに違う位置にある場合、交差する文字が2つ存在しますが、どちらがどちらに対応するか?
同じ行の違う列か、同じ列の違う行か? おそらく前者でしょう。
映画ではキーワードは5文字と断定して、たまたま上手くいきましたが、
5×5=25マスを25種類の異なる文字で埋めれば良いだけなので、
理論上は何文字でもOKなはずです(重複する文字を除いて25種類まで)。
玉垣院長の例では7文字ですが、まったく問題ありません。
映画では、何といちいち手入力していました。一体何万語試すつもりだったのでしょうか?
21世紀の話とは思えません。天才ハッカーであるはずのライリーにしては御粗末です。
また、「BACON」と入力したはずなのに、直後の画面がおかしいです。
右の写真で「S」の次が「U」になっていることから、「T」が使われていることが分かります(おそらく「BATON」)。
まあ、外れの例だからどうでもいいっちゃぁどうでもいいんですけど。
「DEATH」と入力する場面で、いきなりソフトが変わっています。
アルファベット26文字では1文字多いため、「J」は「I」に含める(「J」を省略する)と定義されています。
映画でも初めのソフトではそうだったのですが、2つめのソフトには「J」が存在し、代わりに「X」が消えています。
ウィキペディアの英語版では「Q」を省略するパターンもあるようです。
さらに、暗号「EH」を解読すると、それぞれ左隣の「DT」になるはずで、
右隣の「AD」に変換するのは暗号化の手順です。
と思ったら、そもそも、暗号文が違う!
やはり、ルールを変えたら、暗号とその解読は成立しなくなるのです。(2008/06/30)