2017年4月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
無料ブログはココログ

« 岡本龍明氏の中央大学2011年度集中講義 | トップページ | 換字暗号の解読(その後) »

換字暗号の解読

Yahoo!知恵袋をながめていたところ、換字暗号に関する質問があったので、リハビリも兼ねて解いてみました。内容と質問時期から考えて、大学生のレポートの課題だと思いますが、締め切りも過ぎているでしょうから、最後まで解いてみようと思います。

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14138726349

問:この暗号文(単一換字暗号)を解読しなさい。

EBGJSUEWQMTJMOKYJSUMELCEUKQMOIEKYJIEKWAQKMGJKYJUHWKYTNISJUKY
JMUVGJMIJKUVETLETEBVQWQWTWKQIMQKGJTJUEBOMUIEBGJSUEWQKYJQKNLV
MOQVISMBQETLKYJUNBJQOMUIETWCNBEKWTGQVISMBQETLWQENTWOVWTGKYUJ
ELMOEBBMOIEKYJIEKWAQEQQNAYWKWTABNLJQJDJUVKYWTGOUMIJBJIJTKEUV
JRNEKWMTQMBDWTGKMKYJQKNLVMOESQKUEAKWMTQQNAYEQGUMNCQUWTGQETLO
WJBLQKYJIMUJSEQWACEUKQMOEBGJSUEEUJAEBBJLJBJIJTKEUVEBGJSUEKYJ
IMUJESQKUEAKCEUKQEUJAEBBJLESQKUEAKEBGJSUEMUIMLJUTEBGJSUEJBJI
JTKEUVEBGJSUEWQJQQJTKWEBOMUETVQKNLVMOIEKYJIEKWAQQAWJTAJMUJTG
WTJJUWTGEQHJBBEQQNAYECCBWAEKWMTQEQIJLWAWTJETLJAMTMIWAQESQKUE
AKEBGJSUEWQEIEXMUEUJEWTELDETAJLIEKYJIEKWAQQKNLWJLCUWIEUWBVSV
CUMOJQQWMTEBIEKYJIEKWAWETQINAYJEUBVHMUFWTEBGJSUEEQKYJEUESWAM
UWGWTMOWKQTEIJQNGGJQKQHEQLMTJWTKYJTJEUJEQKSVQNAYIEKYJIEKWAWE
TQEQMIEUFYEVVEI

ヒント
1. 元の文には algebra がある
2. M→o , L→d , C→p , F→k , U→r
3. 一番多い文字は e ではないかもしれない

まず、換字(式)暗号に関する一般的なまとめを書きます。換字暗号とは、Wikipediaによると、平文を1文字または数文字単位で別の文字や記号等に変換することで暗号文を作成する暗号方式のことをいいます。単一換字(式)暗号は換字暗号の中で最も簡単な方式で、平文を1文字ずつ別の1文字に変換して暗号文を作成します。なので、平文のどのアルファベット文字が暗号文のどのアルファベット文字に変換されるかを調べれば良いわけです。とはいえ、26文字のアルファベットを26文字のアルファベットに変換するパターンは約2^88(=26の階乗)通りあるので、しらみつぶしは大変です。そこで役立つのがアルファベットの頻度分析です。単一換字暗号の場合、平文の同じ文字(例えば "a" という文字)は、暗号文の同じ文字(例えば "Z" という文字)に変換されるため、平文における文字の頻度("a"という文字の頻度)と暗号文における文字の頻度("Z" という文字の頻度)は同じになります。そこで、暗号文のそれぞれの文字の頻度を利用して平文の類推が可能となります。

スペース・ピリオド・カンマなどのアルファベット以外の記号も変換の対象にすることがありますが、その場合、変換ルールはもっと複雑になります。また、換字暗号を表記する場合、平文のアルファベットを小文字、暗号文のアルファベットを大文字で表すという習慣があります。


では問題文を解読していきましょう。この問題の場合、登場する文字は26種類なので、アルファベット以外の記号は無視されていると理解すべきでしょう。また、登場する文字は全て大文字なので、以下では、平文のアルファベットは小文字で表すことにします。また、平文に "algebra" という文字列が含まれるとあるので、平文は英文なのでしょう。

まずわかりやすいのはヒント2です。このヒントを使って暗号文の文字を置き換えると、以下のような文となりますが、さすがにまだ内容がわかりません。
EBGJSrEWQoTJoOKYJSroEdpErKQoOIEKYJIEKWAQKoGJKYJrHWKYTNISJrKY
JorVGJoIJKrVETdETEBVQWQWTWKQIoQKGJTJrEBOorIEBGJSrEWQKYJQKNdV
oOQVISoBQETdKYJrNBJQOorIETWpNBEKWTGQVISoBQETdWQENTWOVWTGKYrJ
EdoOEBBoOIEKYJIEKWAQEQQNAYWKWTABNdJQJDJrVKYWTGOroIJBJIJTKErV
JRNEKWoTQoBDWTGKoKYJQKNdVoOESQKrEAKWoTQQNAYEQGroNpQrWTGQETdO
WJBdQKYJIorJSEQWApErKQoOEBGJSrEErJAEBBJdJBJIJTKErVEBGJSrEKYJ
IorJESQKrEAKpErKQErJAEBBJdESQKrEAKEBGJSrEorIodJrTEBGJSrEJBJI
JTKErVEBGJSrEWQJQQJTKWEBOorETVQKNdVoOIEKYJIEKWAQQAWJTAJorJTG
WTJJrWTGEQHJBBEQQNAYEppBWAEKWoTQEQIJdWAWTJETdJAoToIWAQESQKrE
AKEBGJSrEWQEIEXorErJEWTEdDETAJdIEKYJIEKWAQQKNdWJdprWIErWBVSV
proOJQQWoTEBIEKYJIEKWAWETQINAYJErBVHorkWTEBGJSrEEQKYJErESWAo
rWGWToOWKQTEIJQNGGJQKQHEQdoTJWTKYJTJErJEQKSVQNAYIEKYJIEKWAWE
TQEQoIErkYEVVEI
次はヒント1を使います。平文に "algebra" という文字列が含まれているので、暗号文から "*++++r*"(ただし*は同じ文字) という文字列を探します。ところが暗号文の最初の "EBGJSrE" がこのパターンになっていて、さらにはこの文字列は暗号文に何回も登場しており、"EBGJSrE"="algebra" の可能性が高いと期待できます。なので、E→a, B→l, G→g, J→e, S→b と仮定して、以下のような解読文が得られます("algebra" が文頭に来るように改行を変更しました。
algebraWQoTeoOKYebroadparKQoOIaKYeIaKWAQKogeKYerHWKYTNIberKYeorVgeoIeKrVaTdaTalVQWQWTWKQIoQKgeTeralOorI
algebraWQKYeQKNdVoOQVIbolQaTdKYerNleQOorIaTWpNlaKWTgQVIbolQaTdWQaNTWOVWTgKYreadoOalloOIaKYeIaKWAQaQQNAYWKWTAlNdeQeDerVKYWTgOroIeleIeTKarVeRNaKWoTQolDWTgKoKYeQKNdVoOabQKraAKWoTQQNAYaQgroNpQrWTgQaTdOWeldQKYeIorebaQWAparKQoO
algebraareAalledeleIeTKarV
algebraKYeIoreabQKraAKparKQareAalledabQKraAK
algebraorIoderT 
algebraeleIeTKarV
algebraWQeQQeTKWalOoraTVQKNdVoOIaKYeIaKWAQQAWeTAeoreTgWTeerWTgaQHellaQQNAYapplWAaKWoTQaQIedWAWTeaTdeAoToIWAQabQKraAK
algebraWQaIaXorareaWTadDaTAedIaKYeIaKWAQQKNdWedprWIarWlVbVproOeQQWoTalIaKYeIaKWAWaTQINAYearlVHorkWT 
algebraaQKYearabWAorWgWToOWKQTaIeQNggeQKQHaQdoTeWTKYeTeareaQKbVQNAYIaKYeIaKWAWaTQaQoIarkYaVVaI
"algebra" の次に "WQ" が何回も来ていることに注目すると "WQ"="is" が予想できるので、 W→i, Q→s と仮定すると、解読文は以下のようになります。
algebraisoTeoOKYebroadparKsoOIaKYeIaKiAsKogeKYerHiKYTNIberKYeorVgeoIeKrVaTdaTalVsisiTiKsIosKgeTeralOorI
algebraisKYesKNdVoOsVIbolsaTdKYerNlesOorIaTipNlaKiTgsVIbolsaTdisaNTiOViTgKYreadoOalloOIaKYeIaKiAsassNAYiKiTAlNdeseDerVKYiTgOroIeleIeTKarVeRNaKioTsolDiTgKoKYesKNdVoOabsKraAKioTssNAYasgroNpsriTgsaTdOieldsKYeIorebasiAparKsoO
algebraareAalledeleIeTKarV
algebraKYeIoreabsKraAKparKsareAalledabsKraAK
algebraorIoderT
algebraeleIeTKarV
algebraisesseTKialOoraTVsKNdVoOIaKYeIaKiAssAieTAeoreTgiTeeriTgasHellassNAYappliAaKioTsasIediAiTeaTdeAoToIiAsabsKraAK
algebraisaIaXorareaiTadDaTAedIaKYeIaKiAssKNdiedpriIarilVbVproOessioTalIaKYeIaKiAiaTsINAYearlVHorkiT
algebraasKYearabiAorigiToOiKsTaIesNggesKsHasdoTeiTKYeTeareasKbVsNAYIaKYeIaKiAiaTsasoIarkYaVVaI
かなり英文っぽくなってきているので、ここまでの仮定は正しいと確信できます。

後は、適宜スペースを入れながら文頭から読んでいき、文章になるよう残りの文字の変換ルールを決めていけば良いでしょう。例えば1行目でいくと、 T→n, O→f, K→t, Y→h, K→t などとなります。この作業を進めていくと、最終的に
暗号文 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
平文    c l p v a k g w m e t d o u f ? s q b n r y i j h ?

という対応関係が得られました。この対応関係が、換字暗号における暗号鍵・復号鍵となります。なお、対応関係に未確定な文字がありますが、元の暗号文にPもZも登場しないため、どちらの文字が未使用なアルファベット x と z に対応するか確定できませんでした。


最終的に得られる平文は以下のようになりました。文章になるよう、適宜スペース・カンマ・ピリオドを追加しています。参考までに意訳をつけてみましたが、細かい文法の誤りはご容赦ください:
Algebra is one of the broad parts of mathematics, together with number theory, geometry, and analysis.
(代数は数論・幾何・解析とともに、数学の大きな分野の一つである)
In its most general form, algebra is the study of symbols and the rules for manipulating symbols, and is a unifying thread of all of mathematics.
(最も一般的には、代数とは記号と記号操作の規則の学問であり、すべての数学をつなぎあわせる糸である)
As such, it includes everything from elementary equation solving to the study of abstractions such as groups, rings, and fields.
(そのため、代数は初等的な方程式の解法から、群・環・体などの抽象的な概念の研究までのすべてを含んでいる)
The more basic parts of algebra are called elementary algebra,the more abstract parts are called abstract algebra or modern algebra.
(代数の最も基本的な部分を初等代数、より抽象的な部分を抽象代数または現代代数とよぶ)
Elementary algebra is essential for any study of mathematics, science, or engineering as well as such applications as medicine and economics.
(初等代数は数学、科学、工学のあらゆる研究において必須であるだけでなく、薬学や経済学への応用においても重要である)
Abstract algebra is a major area in advanced mathematics studied primarily by professional mathematicians.
(抽象代数は高等数学における重要分野であり、主として専門的な数学科によって研究されている)
Much early work in algebra as the Arabic origin of its name suggests, was done in the Near East by such mathematicians as Omar Khayyam.
(名前が指し示す通りアラビアを源として、代数の初期の研究の多くは Omar Khayyam のような数学者により、中東で達成された)
かなり数学の専門用語が含まれているので、今回の解読問題は数学科の学生向けの課題だったことが類推できます。
今回の問題はヒントが充実していたため、頻度分析をするには至りませんでした。が、念のためにチェックしておきましょう。暗号文に最も多く含まれているアルファベットは E で、約12.7%を占めています。解読の結果、E→a になったので、ヒント3の通り、確かに "a" は最も多いわけではありませんでした。

« 岡本龍明氏の中央大学2011年度集中講義 | トップページ | 換字暗号の解読(その後) »

日記・コラム・つぶやき」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/177150/61595413

この記事へのトラックバック一覧です: 換字暗号の解読:

« 岡本龍明氏の中央大学2011年度集中講義 | トップページ | 換字暗号の解読(その後) »

リンク