HOME Others
Cryptography
シーザー暗号

シーザー暗号

「2001年宇宙の旅」という映画を知っていますか? ご覧になった方は「HAL9000型コンピュータ」という名の人工知能を持つコンピュータが出てきたのを覚えているでしょう.そして,その「HAL」という名前は当時の米国最大手のコンピュータメーカ「IBM」に由来していることも有名なはなしですのでご存知の方も多いでしょう.
I・B・Mのアルファベットをそれぞれアルファベット順の一つ前にずらすとH・A・Lになりますよね.これが通称シーザー暗号です.なぜシーザーかというと,その昔,シーザー(=カエサル)が軍事連絡用に使用していた暗号だからです.

例えば…
WE WILL LEAVE HERE ROME FOR ATHENS ON NEXT MONDAY. (=我が軍はアテナに向けここローマを来週月曜日に出立する予定である.) を暗号化してみましょう.
個々の文字をアルファベット順にそれぞれ同じだけずらすのがシーザー暗号ですから,例えば3つ後ろにずらす(A→D,B→E,C→F…)とすると…
ZH ZLOO OHDYH KHUH UROH IRU DWKHQV RQ QHAW PRQGDB.
となります.こうなるとワケわかんないですね.
ただし,これを受け取るのは正当な受信者ですから暗号化とは逆の操作=個々の文字をアルファベット順にそれぞれ3つ前に戻せばいいことを知っていますから問題ありません.
ではこの暗号は安全でしょうか?

シーザー暗号はアルファベットの順序をずらすことで暗号化するので,上図のように26通りしかできません.総当たりで暗号解読されるとひとたまりもないほど虚弱な暗号ですね.
そこでちょっとした工夫をするとぐっと強力になります.キーワードを使う方法です.
送受信者双方であらかじめキーワードを決めておきます.たとえば[KEYWORD]としましょう.そしてその後ろにキーワードに含まれないアルファベットを順に並べます.


これはキーワードがわからないと,アルファベットが順序ばらばらに変えられているのと同じで,そのすべての組み合わせは
26!=26×25×24×23×22×21×20×19×18×17×16×15×14×13×12×11×10×9×8×7×6×5×4×3×2×1=
403,291,461,126,605,635,584,000,000 通りにもなります.
ただし,実際この暗号に挑むにはすべての組み合わせを試行してみる必要はありません.
頻度分析という手法を使うと,キーワードが不明でも解読できてしまいます.

言語にはそれぞれ固有の特徴があって,英語では「E」がもっとも頻度の高い文字であることが知られています.次に「T,A,O…」の順になります.また,英語の3文字単語でもっとも頻度の高いのは「THE」です.これらの特徴をふまえて暗号文を攻撃していくわけですね.では実際にやってみましょう.下記は英語です.

JIO JR QAO HJPQ RKHJSP BIQOGGBDOIYO DNJSL
BP QAO YBK.QAO YOIQNKG BIQOGGBDOIYO KDOIYX
UKP YNOKQOW UBQA QAO PBDIBID JR QAO
IKQBJIKG POYSNBQX KYQ EX LNOPBWOIQ QNSHKI.
では,それぞれのアルファベットの頻度を数えてみましょう.

ABCDEFGHIJKLM
12000601000603130710020006
5.3%0%2.7%0.4%0%2.7%1.3%5.8%3.1%4.4%0.9%0%2.7%
NOPQRSTUVWXYZ
06190716030400020002030800
2.7%19%3.1%16%1.3%1.8%0%0.9%0%0.9%1.3%3.5%0%

もっとも多いのはOで19個.次にQ=16個,I=13個,B=12個…と続きます.
さらに3文字単語はQAOが4個あります.以上のことからOはE,QはT,AはHでQAOはTHEであることは,ほぼ間違いないようですね.

JIE JR THE HJPT RKHJSP BITEGGBDEIYE DNJSL
BP THE YBK.THE YETNKG BITEGGBDEIYE KDEIYX
UKP YNETEW UBTH THE PBDIBID JR THE
IKTBJIKG PEYSNBTX KYT EX LNEPBWET TNSHKI.

次に,やはり頻度の高いAとOを探してみましょう.
I=13個,K=10個,Y=8個,J=7個…と続きますがどうでしょう?
文頭のJI JR とも照らし合わせるとJ=OでONE OF THE…となっているようです.

ONE OF THE HOT FKHOSP BNTEGGBDENE DNOSL
BP THE YBK.THE YENTNKG BNTEGGBDENE KDENYX
UKP YNETEW UBTH THE PBDNND OF THE
NTONKG PEYSNBTX KYT EX LNEPBWENT TNSHKN

あとは同じようにクロスワード・パズル系の要領で解けはいいだけです.
正解は…
ONE OF THE MOST FAMOUS INTELLIGENCE GROUP IS THE CIA.
THE CENTRAL INTELLIGENCE AGENCY WAS CREATED WITH THE NATIONAL SECURITY ACT BY PRESIDENT TRUMAN.
となります.

このように,十分に長いシーザー暗号で暗号化された暗号文を入手できれば,暗号化のキーワード/鍵語(上では『KEYWORD』)を知らなくても解読されてしまいます.ただし,短い文章や単語のみの暗号であれば,上記の頻度分析は有効ではありません.
例えば『OBM』だけ入手しても,それがCIAなのかFBIなのかはわかりませんね.しかし,同じキーワードで暗号化された短い文章を複数入手できたら,やはり頻度分析が有効になってしまいます.
また,頻度分析に頼らなくても,例えば [C SV S VSV. ] なんてのは,スグにわかってしまいます.
1文字で意味をなす英語は [i] か [a] なので[I am a mam. ] となります.
そこで,単語間のスペースは削除して5文字単位で区切って暗号化(文章の最後が5文字未満の場合はZなどで補います)すると,ぐっとむずかしくなります.

Challenge!! #01

以下は [ .=ピリオド ] が省略された英文です.2文字単語や3文字単語などの手がかりもパッと見ただけでは見当たりません.
ただ,よく見てみるとちょっとしたパターンが見えてくると思います.そのパターンと頻出分析とを合わせて解読してみてください.

QGCIN QEJIN DPCSR MEQXN ACISX EPNSM XKQJD JAESJ MANIE ZNQEJ IEIQG CRIEQ  CUPQN QCPEQ VNPSN DDCUI JPRSG NACIS XOCSN RPCQG CKMCP CISCJ HEQGN UOCCI  SDNPP EHECU HJMND JIAQE FCQGC IPNVG ESGEP NGEAG QCSGI JDJAX JMANI EZNQE  JIEPJ IQGCH MJIQE CMJHS JFFRI ESNQE JINIU UNQNK MJSCP PEIAE QEPND PJJIC  JHQGC FJPQE FKMJQ NIQSC IQCMP JHHJM CEAID NIARN QCNIN DXPEP NIUMC PCNMS  GVEQG EIQGC AJTCM IFCIQ QGCEI HJMFN QEJIN PPRMN ISCFE PPEJI EPJIC JHQGC  FJPQE FKMJQ NIQHJ MQGCI PNQGE PFEPP EJIEI TJDTC PKMJQ CSQEI ANDDS DNPPE  HECUN IUPCI PEQET CEIHJ MFNQE JIQGN QEPPQ JMCUJ MPCIQ QGMJR AGQGC RIEQC  UPQNQ CPAJT CMIFC IQCLR EKFCI QZZZZ

ヒント:以下に平文の英文における個々のアルファベットの平均頻度を挙げておきます.
ABCDEFGHIJKLM
8%1.5%3%4%13%2%2%6%7%0.1%1%4%2.5%
NOPQRSTUVWXYZ
7%8%2%0.1%6%6%9%3%1%2.5%2%0.1%0.1%

頻度順に並べ替えると…

ETA OIN SHR DLC U
13%9%8% 8%7%7% 6%6%6% 4%4%3% 3%
MW FGX PBV KJQ YZ
2.5%2.5% 2%2%2% 2%1.5%1% 1%0.1%0.1% 0.1%0.1%

答えはコチラ