換字式暗号とは 定義と種類 シーザー暗号と周波数解析による解読法と安全性
置換暗号は、暗号の一種です。
置換暗号では、ある規則に従ってメッセージの各文字を1つずつ別の文字に置き換えます。単純なものは「アルファベット全体を一対一で置き換える」方法(単一換字、monoalphabetic substitution)で、規則を変化させるものには「位置ごとに置換を切り替える」方式(多換字、polyalphabetic substitution)などがあります。
例えば、次のような単純な置換表(アルファベットのシフト)を考えます。
平文(A–Z) | 暗号文(A–Z) |
---|---|
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 | D E F G H I J K L M N O P Q R S T U V W X Y Z A B C |
このルールは「シーザー暗号」の一例で、各文字を3つ後ろへずらす(シフトする)操作です。こうすると、たとえば "JACK" は "MDFN" に対応します。元の文章の例では、「Jack and Jill went up the hill」は、ある置換ルールを使うと「Etar tzn Evmm gkzc dw cuk uvmm」といった形になります。置換暗号の代表例として、シーザー暗号が知られています。
置換暗号の主な種類
- 単一換字暗号(Monoalphabetic):平文の各文字が常に同じ暗号文字に置き換わる。ルールは1つだけ。例:単純置換表、シーザー暗号。
- 多換字暗号(Polyalphabetic):位置や鍵に応じて置換表を切り替える。例:ヴィジュネル暗号(Vigenère)。単純な頻度解析を回避しやすいが完全ではない。
- 同音換字暗号(Homophonic):頻度の高い文字に対して複数の暗号文字を割り当て、文字頻度を平坦化することで解析を難しくする方式。
- その他:語単位やビット単位での置換、回転式(ローター)機械を用いる方式など、応用的・機械的な実装も存在します。
周波数解析による解読(考え方と手順)
単純な置換暗号は、文字の出現頻度(frequency)を利用した解析、すなわち周波数解析によって比較的簡単に解読できます。英語などの自然言語では特定の文字がよく使われます。たとえば英語では一般に E が最も多く、次いで T、A、O、I… の順に出現しやすい、という統計的傾向があります。
周波数解析の基本的な手順は次の通りです。
- 暗号文中の各文字の出現回数を数える(頻度分布を作る)。
- その分布を言語の一般的な頻度分布と比較する。最も多い暗号文字を E に当てはめる、次に多いものを T に当てはめるなど仮定を立てる。
- 短い単語(英文なら "the", "and", "of" など)、一文字の語(英語の "a", "I")や繰り返しパターンを手がかりに置換表を修正していく。
- 得られた仮説を適用して部分的に平文を復元し、文脈や文法で矛盾がないか確認する。矛盾があれば仮説を修正する。
より高度な手法として、ヴィジュネル暗号のような多換字暗号にはカシスキ法(Kasiski test)や一致指数(Index of Coincidence)を用いて鍵長を推定し、各周期ごとに単一換字解析を行う方法があります。こうした手法を組み合わせることで、多換字暗号も十分な長さの文なら解読可能になることが多いです。
安全性と実用上の注意点
単純な置換暗号は現代の暗号利用には不十分です。頻度解析や辞書攻撃、パターン検出で比較的短時間に解読されます。
- なぜ弱いか:言語固有の統計(文字頻度、共起、単語長、文法構造)がそのまま残るため、暗号文から規則性を見つけやすい。
- 改善策:多換字暗号や同音換字を用いると難度は上がるが、鍵が繰り返されるとそこから鍵長や置換表が推測される可能性がある。理論的に安全なのは一度きりの乱数鍵を用いる「ワンタイムパッド(OTP)」だけ(ただし鍵の長さが平文と同じで、鍵を完全にランダムかつ一度しか使わないことが条件)。
- 現代的な代替:機密性が必要な通信には、AES(共通鍵暗号)やRSA/ECC(公開鍵暗号)など、数学的に強く解析困難とされる現代暗号方式を使うべきです。
用途と学習上の利点
置換暗号は実務での秘匿手段としては弱いものの、暗号理論の入門やパズル、教育用としては非常に有用です。実際、新聞などで見かける暗号パズルや初歩的な暗号解読練習に使われています(暗号文の解読は、新聞などでよく見かけるパズルです。)。
簡単な解読のヒント(実践)
- まず文字頻度表を作る。次に短い語(2〜3文字)や繰り返しパターンを探す。
- 英語なら「the」「and」「of」「to」などの出現を想定して当てはめてみる。
- 仮説を立てたら、文全体に適用して矛盾を確認。矛盾が生じたら別の仮説を試す。
- 多換字の場合は、繰り返しの間隔を測って鍵長を推定(カシスキ法)、あるいは一致指数を計算して鍵長の候補を調べる。
まとめると、置換暗号は仕組みが単純で理解しやすく教育やパズルに適している一方で、実用上の安全性は限られています。機密性が重要な場面では、適切な鍵管理と現代の暗号方式を選ぶことが必要です。
例
変更されたメッセージが、仮に
lyvitcswpiyvewhevsriqmxleyveoiewhrxexipfemvewhkvstylxzixlikiixpijvszeyperrgerimwqlmglmxqeriwgpsrihmxqerekietxmjtprgevekeitrewhexxlexxmzitwawsqwxswextvepmrxrsj gstvrieyviexcvmuimwergmiwxmjcsmwxsjomiqxliviqivixsvstwhkpegarcsxrwievswiibxvzmxfsjxlikegaewhepswyswiievxlisxlivxlirgepirqiviibgiihmwypflevhewhypsrrfqmxle ppxlieccievewgisjktvwmrlihysphxliqimylxsjxlimwrigxqeroivfvizevaekpiewhxeamwyeppxlmwyrmwxsgswrmhivexmswmgstphlevhpfkpezintcmxivjsvlmrscmwmswvircigxmwymxxliysph ktyこの例では、未知の文字には大文字を使用し、知っている、あるいは推測できる文字には小文字を使用しています。
Xも非常に多く、XLIは何度も出てくるので、これは英語で最も多い3文字のグループであると推測されます。
Eは、2番目に多い文字です。eとtはすでに推測されているので、Eはaだと推測されます。
heVeTCSWPeYVaWHaVSReQMthaYVaOeaWHRtatePFaMVaWHKVSTYhtZetheKeetPeJVSZaYPaRRGaReMWQhMGhMtQaReWGPSReHMtQaRaKeaTtMJTPRGaVaKaeTRaWHatthattMZeTWAWSQWtSWatTVaPMRtRSJ GSTVReaYVeatCVMUeMWaRGMeWtMJMGCSMWtSJOMeQtheVeQeVetQSVSTWHKPaGARCStRWeaVSWeeBtVeZMtFSJtheKaGAaWHaPSWYSWeWeaVtheStheVtheRGaPeRQeVeeBGeeHMWYPFhaVHaWHYPSRRFQMtha PPtheaCCeaVaWGeSJKTVWMRheHYSPHtheQeMYhtSJtheMWReGtQaROeVFVeZaVAaKPeaWHtaAMWYaPPthMWYRMWtSGSWRMHeVatMSWMGSTPHhaVHPFKPaZeNTCMteVJSVhMRSCMWMSWVeRCeGtMWYMttheYSPH KTYheVeはhere、Rtateはstate、atthattMZeはatthattimeの可能性があり、さらにいくつかの推測ができます。これらの推測を埋めると、次のようになります。
ここTCSWPeYraWHarSseQithaYraOeaWHstatePFairaWHKrSTYhtmetheKeetPeJrSmaYPassGaseiWQhiGhitQaseWGPSseHitQasaKeaTtiJTPsGaraKaeTsaWHatthattimeTWAWSQWtSWatTraPistsSJ GSTrseaYreatCriUeiWasGieWtiJiGCSiWtSJOieQthereQeretQSrSTWHKPaGAsCStsWearSWeeBtremitFSJtheKaGAaWHaPSWYSWeWeartheStherthesGaPesQereeBGeeHiWYPFharHaWHYPSssFQitha PPtheaCCearaWGeSJKTrWisheHYSPHtheQeiYhtSJtheiWseGtQasOerFremarAaKPeaWHtaAiWYaPPthiWYsiWtSGSWsiHeratiSWiGSTPHharHPFKPameNTCiterJSrhisSCiWiSWresCeGtiWYittheYSPH KTYそうすることで、より多くの推測をすることができ、それがさらなる推測につながり、すべてを推測することができるのです。
墓があって空気が澄んでいるグランドローズの上で、閉ざされていたガラスケースからカブトムシを連れてきたとき、それは美しいスカラベであったが、当時はまだ知られていなかった。自然科学者はもちろん、科学的にも偉大な賞を受賞しているが、そのときは丸い黒点があった。背中には黒い斑点があり、耳の上には黒い斑点があり、鱗粉は非常に硬く、光沢があり、火傷の様子は金色で、昆虫の重さは非常に驚くべきもので、すべてのことを考慮すると、金の虫を尊敬する木星の意見を責めることはできません。この時点で、スペースや句読点を挿入することができます。
荘厳な雰囲気を漂わせたル・グランが、
ガラスケースに入ったカブトムシを持ってきてくれた。それは
美しいコガネムシで、
当時はもちろん博物学者には知られていなかったが、科学的な
観点
から見れば大きな価値がある。背中の片方の端に
丸い黒点が
2つあり
、もう片方の端には長い黒点があった。鱗粉は
非常に硬く、光沢があり、まるで
焼き金のようである。この
虫の重さは非常に注目に値するもの
であり、すべてのことを考慮しても、この
虫に対するjupiter
の意見を責めることはできない。(金の虫)
仮に間違った推測をしていたとしても、どこかの時点でそれがわかり、戻って新しい推測をすることができたはずです。
質問と回答
Q: 置換暗号とは何ですか。A: 置換暗号とは暗号の一種で、メッセージの各文字をアルファベットの別の文字に置き換えるルールが用いられます。
Q: 置換暗号はどのように機能するのですか?
A: 置換暗号では、ルールがメッセージの各文字をアルファベットの別の文字に置き換えるために使用されます。
Q: 置換暗号で使われる表の例を教えてください。
A: 本文中の表は、各文字をアルファベットの別の文字に置き換えるために使用できる置換暗号の規則を示しています。
Q: シーザー暗号とは何ですか?
A: シーザー暗号は置換暗号の一例です。
Q: 置換暗号は重要なメッセージに対して十分安全ですか?
A: いいえ、重要なメッセージに使用するには安全ではありません。
Q: どのようにして置換暗号は破られるのですか?
A: 置換暗号は、頻度分析を使って解読することができます。頻度分析では、変更されたメッセージに含まれる一般的な文字が、英語で最も一般的な文字である可能性が高いことを調べます。
Q: 暗号を解く一般的なパズルは何ですか?
A: 置換暗号で隠されたメッセージを解く暗号解読は、新聞によく載っているパズルです。