poster13_hindo.pdf

【2011/ 期末】プロジェクト No.13 暗号解読の可視化 担当教員 白勢政明
小西修
頻度分析
Frequency analysis
坂本 浩樹
田中 雄太
宮川 良平
渡辺 貴仁
小林 由莉香
Sakamoto Hiroki
Tanaka Yuta
Miyakawa Ryohei
Watanabe Takahito
Kobayashi Yurika
頻度分析とは・・・
頻度分析とは、平文と暗号文に使用される文章中での文字の頻出傾向の度合いを分析したものを手掛りとして利用
する暗号解読法のことである。頻度分析の特徴として、1つ目に頻度分析が有効であるのは、主に古典暗号の換字式暗号
であることと、2つ目に平文と暗号文で対応する文字の出現頻度が一致するということである。
方法・手順
頻度分析の前提条件
・暗号文がある程度の長さを持つこと
・平文の言語が既知であること
.
(使用される文字の種類とその出現頻度は英語や日本語など言語によって異なるため)
頻度分析の方法
・英語普通文では大体 E - T - A - O - I - N の順で文字の出現頻度が高い(特にEが多い)ので、暗号文で出現頻度が高い
文字をEにおき、二番目をT またはAに置く。
また連続している2文字の統計ではTHが一番多いので、暗号文で2文字の
繋がりが一番多い組をTH と置く。
この手順を繰りかえしていくと簡単に解読できる。
例
Paks myecbtk gcc ybqkumegc myxjuqgpmjy namea mi ukdbmukt
(they include all numerical information which is required
pj ijcrk pak lujzckq bytku pj ijcrk pak lujzckq bytku
to solve the problem under consideration)
mympmgc gyt zjbytgus rgcbki jx pak tklkytkyp rgumgzcki, rgcbki
(initial and boundary values of the dependent variables, values
jx xmwkt lgugqkpkui, pgzcki jx xmwkt xbyepmjyi namea
of fixed parameters, tables of fixed functions which
jeebu my pak ipgpkqkyp jx pak lujzckq.
occur in the statement of the problem.)
成果物説明
成果物として、頻度分析をするアプリの開発を目指し、最初に文章を暗号化するプログラムを作成した。
ここで
暗号化する文章は英語とした。文章内におけるアルファベットを異なったランダムなアルファベットに置き換える
必要があるため、各アルファベットを重複しないようにA∼Zまでの26通りに置き換えるプログラムを作成した。
内容として0∼25までの数字の乱数を出現させ、それに対応するように0=A,1=B…と指定していき、暗号化のための
アルファベットの対応表を作成した。例として下部のように対応させた。
ABCDEFGHIJKLMNOPQRSTUVWXYZ
↓
BWEHJOUAQZMDTPYGRVKNSXFILC
平文のアルファベット
暗号文のアルファベット
次に暗号化した文章を解読していくプログラムの作成を行った。頻度分析は上記のように、暗号化した文章に存在する
文字の頻度を確認する必要がある。それぞれの文字によっての出現頻度はほぼ決まっているということから、文字の頻度
を確認することは解読のための重要な要素で、文字の頻度を確認し、文字を変換するプログラムを起動する。変換した後
の文章を見て、文字の変換を繰り返し、だんだんと原文に近づけていく。解読する対象である文章が長ければ長いほど、
精度が高くなるという特徴がある。