【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 平文のアルファベット 暗号文のアルファベット 次に暗号化した文章を解読していくプログラムの作成を行った。頻度分析は上記のように、暗号化した文章に存在する 文字の頻度を確認する必要がある。それぞれの文字によっての出現頻度はほぼ決まっているということから、文字の頻度 を確認することは解読のための重要な要素で、文字の頻度を確認し、文字を変換するプログラムを起動する。変換した後 の文章を見て、文字の変換を繰り返し、だんだんと原文に近づけていく。解読する対象である文章が長ければ長いほど、 精度が高くなるという特徴がある。
© Copyright 2026 Paperzz