暗号の解読~簡単な換字式暗号の問題例
今日は、今シーズンのランニングのトレーニングが終了した翌日で、連休前。
既に今週は11000字以上書いてることだし、超手抜き記事で終わらせよう
・・・と思ったけど、記事ローテーション的には理数系が欲しい所。そう言えば、
個人的な暗号のコネタを書いてから半月経ってるし、簡単に暗号記事を1本
アップしとこう。
記事のカテゴリーとしては、言語カテゴリーが無いことだし、やはり数学か
な。あるいは、ゲームか♪ もちろん、現在の情報化社会を支えてるのは数
学的な暗号理論なんだろうけど、以下に書くような低いパズル・レベルのも
のだと、むしろ言語の分野だと思う。実際、私が初めて学校で暗号の話を
聞いたのは、国語の授業だった。
☆ ☆ ☆
高校のD先生は、ちょっと頭が切れる感じの人で、得意げにこんな感じの話
をしてたのだ。「すべての暗号は、必ず解読できます」。ただ、その中で一番
難しいのは、解読するための枠組み(ビンゴみたいに穴があいた紙や板)を
使うもの。送信者と受信者だけがそれを持ってると、傍受する第三者による
解読は難しい・・・・・・。そんな話だったと思う。
私は話を聞きながら、それは変だろ!と内心、突っ込んでた。暗号として、
記号の列が1つある時、何か強い条件(制約)が与えられてなければ、そ
れが表しうるものは無限にある。だから、答えの候補らしきものをいくつか
見出すことなら出来るだろうけど、正解を1つ特定することは出来ない。そ
う思ったのだ。
ここで、「換字式暗号なら有限では?」と思う人がいるかも知れないが、仮に
換字式と分かってたとしても、原理的には無限通りの表現内容を持ちうる。
と言うのも、暗号1文字に原文1文字が対応するかどうか分からないからだ。
正確に言うと、暗号文の区切り方は有限としても、区切られた暗号の各ユニッ
トが原文何文字を表すのか、その可能性は原理的に無限に存在する。例え
ば、apcqyという5文字の暗号列で、「apc」に日本語100文字、「qy」にアル
ファベット200文字を割り当てることも可能。あらかじめ送信者と受信者の
間で決定しておけばよい。
もちろん、実際には暗号の数文字に対して原文の数文字(普通は1~2文
字同士)が対応するのが普通だろうから、その仮定のもとで解読を試みて
もいいけど、唯一の正解を論理的に特定することは出来ない。たまたま当
たる程度が限界なのだ。実際、私が上の「apc」にどんな意味を込めたか、
誰にも特定できないはずだ。。
☆ ☆ ☆
ただし、各種の強い条件がある場合や、問題の出し方が特殊な場合は、あ
る程度は論理的に、正解へとたどり着けることもある。その1つの例が半月
前の記事に書いた暗号だ。そこでは、コメント欄のやり取りの中でヒントも追
加しておいた。
要点だけ再掲すると、私の友人「いがやたかほ」(猪谷貴穂)のメールアドレ
スが、「a3a-13au3a@・・・・・・」となってた。もちろん、元の半角を全角文
字に変更してるし、個人情報保護のため、仮名と仮暗号へと変えてある。さ
て、この暗号化の規則は?、というのが与えられた問題だった。
この場合、最初から答(=原文)が分かってるし、たかが個人のユーザー名
だから、それほど複雑な規則のはずはない。そもそも、他の友人が直ちに
見破ったという話だったのだ。では、私の解読作業の実際を書き記してみる。
☆ ☆ ☆
原文は常識的におそらく、漢字ではなく、ひらがなやカタカナか、アルファ
ベット(igaya takaho、あるいは、takaho igaya)だろうし、文字を交換す
る「換字式暗号」だろうと推測できる。
もちろん、文字交換に加えて、文字の順番を変える「転置式暗号」を組合せ
てるかも知れないが、それだと別の友人が直ちに見抜くことは出来ないは
ず。「a3a-13au3a」という文字列の順番の変え方は多過ぎるからだ。せ
いぜい、姓と名の順を逆にする程度だろうから、わざわざ転置式と考える
必要もない。
一方、文字を飛び飛びに配置する「分置式暗号」を組み合わせてる可能性
もほぼ無い。分置式とは、例えば「pkixce」というアルファベット6文字の列
から、3文字目と6文字目を取り出して、「ie」(家)と読むような形式のこと。
この場合、元の暗号よりも字数がかなり減ることになる。「a3a-13au3a」
という10文字(ハイフン込み)をかなり減らした場合、もはや文字交換で「い
がやたかほ」などを表すことは出来ないはず。
☆ ☆ ☆
という訳で私は、単純な換字式暗号だろうと推測した。さらに、私の質問へ
の応答によって、暗号と原文は1対1の対応だと分かってる。しかも原文は、
ひらがなか、アルファベットだ。
ここで場合分けしてみる。暗号「a3a-13au3a」が、ひらがな「いがや た
かほ」、または「たかほ いがや」と対応してるなら、10文字が6文字(空白
込みなら7文字)になってるわけで、文字数が合わない気がする。1文字と
1文字の対応ではないし、2文字と1文字の対応でもない。原文の母音の
「い」だけが1文字の暗号、他は2文字の暗号としても、1+2×5=11文
字の暗号になってしまう。
一方、暗号「a3a-13au3a」がアルファベット「igaya takaho」、または
「takaho igaya」と対応してるなら、暗号10文字に対して原文が11文字
(空白を入れると12文字)。これまた、文字数の対応が上手くいかない。
したがって、どちらにせよ、暗号2文字が原文1文字になる対応と、暗号1文
字が原文1文字になる対応と、2種類が組み合わさってるものと思われる。
☆ ☆ ☆
そこで改めて、暗号「a3a-13au3a」を見直すと、同じ文字(aと3)が繰返
し使われてるという特徴に気付く。ということは、少なくともどちらか1つは母
音を表すのではないか。
しかし、原文の母音は、ひらがなで「いああ ああお」、アルファベットで「iaa
aao」。姓と名を逆転させても、やはり暗号とはなかなか合わない。暗号の
aが、原文の母音「あ」や「a」に対応するのだろうと思うけど、暗号のハイフン
を文字として考慮しても、ピッタリは合わない。
そもそも、これほど難しい暗号規則を、どうして別の友人はすぐに見破った
のか。その点も不思議だ・・・と言うと失礼かも♪
とにかく私は白旗を上げて、答えを聞いてみた。すると、意外な応答が返っ
て来たのだ。簡単に言うと、「公約違反」 (^^ゞ 色んな意味で、1対1にはなっ
てなかったのだ。。
☆ ☆ ☆
正解の案(笑)として示されたのは、暗号から原文への次のような対応。
a3 → t a → a 1 → i 3 → g u3 → y
これだと、暗号「a3a-13au3a」に対して、2つの原文が対応してしまう。
もちろん、正しく(?)「ta-igaya」とも読めるが、「aga-igaya」とも読める。
この多義性を避けるには、例えば、「aのすぐ次に3が続く場合は、ag では
なく、t と読む」といった約束事が追加で必要だ。
さらに、たとえ「ta-igaya」と読めるようにしたとしても、これでは元の名前
と1対1になってない。「いがや たかほ」でも、「いがや たまこ」でも、「ta-
igaya」となってしまうからだ。。
☆ ☆ ☆
という訳で、私は直ちに「公約違反」だと反論♪ 納得できる再反論は返っ
て来てない。まあ、たかがこの程度の暗号でさえ、解読するのも作成する
のも大変だという話だ。
それでは、今日はこの辺で。。☆彡
(計 3027文字)
| 固定リンク | 0
「ゲーム」カテゴリの記事
- 賭け事ぬきの頭脳スポーツ・ゲームとして若者に人気、企業もサポート~麻雀人口の推移(レジャー白書 2023)(2023.12.09)
- トランプの1人遊びゲーム「ソリティア」(クロンダイク)、実際のプレイのやり方(超初心者向けの簡単な解説)(2023.02.19)
- パズル「絵むすび」25、解き方、考え方(難易度4、ニコリ作、朝日be、22年11月26日)(2022.11.26)
- 今週、残り740字、再び1km4分台で13km走&クロスワード「タテ8」を漢字2文字で♪(2022.10.30)
- パズル「ナンスケ」の解き方、考え方9~難易度3、ニコリ作、朝日新聞be、22年10月15日(2022.10.16)
「数学」カテゴリの記事
- Python(パイソン)入門4~ランダムなサイコロの目の予想、数値データのリストの処理(ChatGPT4oも使用)(2024.09.20)
- パズル「絵むすび」31、解き方とコツ、考え方(難易度4、ニコリ作、朝日新聞be、2024年9月14日)(2024.09.15)
- 四角形や丸の「真ん中」に正三角形を配置するデザイン(YouTubeほか)、長さ、重心、三角形分割錯視を考慮した視覚調整(2024.09.08)
- パズル「推理」、小学生向け8、カンタンな解き方、表の書き方(難易度3、ニコリ作、朝日be、24年8月31日)(2024.09.01)
- パズル「ナンスケ」解き方13、2024年7月13日の問題は間違い「ではありませんでした」(難易度4、ニコリ作、朝日新聞be)(2024.07.13)
コメント
ありがとうございました。
こういう経緯なんですね。。
私は、a→3a だと思ってましたが、そうすると
i→1となり筋が悪い、、、で白旗でした。
投稿: gauss | 2014年3月22日 (土) 01時06分
> gauss さん
わざわざどうも♪
この程度でも意外と面倒ですよね。
僕は1対1とは限らないと分かってれば
解けてたと思うのですが、
半ば負け惜しみかも。。(^^ゞ
1対1という言葉を、友人が緩く解釈してる
可能性を考えてみるべきでした。
ま、暗号も含めて、言語は難しいってことで。。
投稿: テンメイ | 2014年3月22日 (土) 22時55分