hellog〜英語史ブログ     前の日     次の日     最新     2016-09     検索ページへ     ランダム表示    

hellog〜英語史ブログ / 2016-09-21

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

2016-09-21 Wed

#2704. カエサル暗号 [cryptology][grammatology]

 種々の暗号のなかで最も古く単純なものの1つにカエサル暗号がある.この名は,Julius Caesar が軍事的に用いていたことが『ガリア戦記』から知られることによる.カエサル式単アルファベット換字法ともシフト・シファーとも言われる.平文のアルファベットの各文字を n 文字分ずらすことによって暗号文を作るもので,カエサルはローマ字をギリシア文字に変換した上でこの暗号方式を n = 3 で運用していた.現代英語の26文字アルファベットで,鍵が n = 3 であるカエサル暗号の対応表を示そう.慣習により,平文では小文字が,暗号文では大文字が用いられる.

平アルファベットabcdefghijklmnopqrstuvwxyz
暗号アルファベットDEFGHIJKLMNOPQRSTUVWXYZABC


 これで有名な "veni, vidi, vici" を暗号化すると,"YHQL, YLGL, YLFL" となる.きわめて単純な原理であり,鍵の n = 3 を知らずとも,解読者は n = 1 から n = 25 に至る25通りの可能性をすべて試してみれば,いずれ解読に至るだろう.
 このままでは強度が足りないので,その後,様々な攪乱法が発達した.例えば,平文の綴字を崩しておいたり,単語を区切る空白を消去したり,何にも相当しない無意味な「冗字」 (null) をところどろこに挿入したり,複数の平アルファベットを単一の暗号アルファベットに対応させたり (homophonic),キーワードを暗号アルファベットの先頭に挿入してからシフトする方法などが編み出された.この最後の方法によると,例えばキーワードが "JULIUS CAESAR" だとすると,空白を詰めたり文字重複を避けたりして,次のような対応表が得られる.

平アルファベットabcdefghijklmnopqrstuvwxyz
暗号アルファベットJULISCAERTVWXYZBDFGHKMNOPQ


 これにより,"veni, vidi, vici" は "MSYS, MRIR, MRLR" となる.キーワードを知らない解読者にとって,格段に解読が難しくなる.
 しかし,アルファベットを単にシフトさせるのではなく,ランダムに対応付けることをすれば,作り上げられる対応表の数は 400,000,000,000,000,000,000,000,000 通りを上回り,はるかに安全な暗号システムとなる.この原理の単純さが受け,ヨーロッパではなんと15世紀に至るまで,カエサル暗号の系列が最も頻繁に用いられたのである.以上,サイモン・シン(著書の上巻第1章)およびフレッド・B・リクソン (136--40) を参照して執筆した.
 なお,シーザー暗号は言葉遊びとして用いられることもあり,VMS を1つ後ろにずらして(性能においてそれを越したいという意図から) WNT (= Windows NT) と命名した例,IBM を1つ前にずらして HAL(『2001年宇宙の旅』のコンピュータにつけられた名前)とした例がある.

 ・ サイモン・シン(著),青木 薫(訳) 『暗号解読 上下巻』 新潮社,2017年.
 ・ フレッド・B・リクソン(著),松田 和也(訳) 『暗号解読事典』 創元社,2013年.

[ | 固定リンク | 印刷用ページ ]

2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12

最終更新時間: 2019-03-14 09:23

Powered by WinChalow1.0rc4 based on chalow