連載「暗号と暗号史」

このエントリーをはてなブックマークに追加
2011/3/22

【第1回】暗号黎明期~古代ギリシャ・ローマの暗号~

「一般大衆の目から隠しもせずに秘密を書く者は、頭がどうかしている」
~ロジャー・ベーコン『秘密の技法と魔法の無効性についての書簡』~

 暗号に関する西洋の書籍で最も古いとされる中の一節だ。13世紀に書かれたこの言葉、アマゾンで本を選び、iTunesストアで購入した音楽を聴く現代にピタリと当てはまるのではないだろうか。

 その昔、暗号の技術を必要としていたのは国家レベルであった。しかし、企業や個人がインターネットを通じた金銭のやり取りを行っている今では、生活レベルまで暗号が浸透している。日常の安全と安心を担っているとはいえ、インターネット上で使用されている暗号技術は専門性が高く、一般的にはほとんど知られていない。

 この「暗号と暗号史」では、紀元前から現代まで、文書を秘匿する暗号文がどのような工夫を凝らして作られてきたかを追っていきたい。

暗号とは?

 連載第1回は、紀元前のギリシャ・ローマで利用されていた暗号を紹介したい。


 その前に「暗号」の定義をしておきたい。暗号とは、文書を送りたい相手以外には何が記されているか分からないよう、文字をランダムに変える方法(クリプトグラフィー)だ。文書を鞄の上げ底に入れたり、「あぶり出し」をすることによって文字を浮かび上がらせたりするような、文書自体を隠す手法は「ステガノグラフィー」と呼ばれる。


 ステガノグラフィーは、書かれた文書はそのまま(平文)なので、もし他人に仕掛けが発見されたら、文書の内容も同時に露見してしまう。暗号は、たとえ送り手に届く前に他人が文書を手にとっても、何が書いてあるか判読できないため、より有効な手段と言える。


 「重要な情報を送り手と受け手以外の人間に分からないよう伝える」という行為は、古代エジプトのヒエログリフ(神聖文字)、ユダヤ教の旧約聖書にまでさかのぼるという。文字の誕生とともに歴史を刻んできたと言われる暗号。紀元前の時代に有名になったのは古代ギリシャの「スキュタレー暗号」と古代ローマの「シーザー暗号」だ。

スキュタレー暗号の方法。巻きつけたヒモをほどくと、ランダムな文字列になる
スキュタレー暗号の方法。巻きつけたヒモをほどくと、ランダムな文字列になる

古代ギリシャの鍵は「丸太棒」

 「スキュタレー暗号」は紀元前6世紀、古代ギリシャの都市国家・スパルタで使用されていたものだ。


 「スキュタレー」とは、暗号文を送る際に使用する棒のこと。送り手と受け手は、あらかじめ同じ直径の棒を持っておき、送り手は棒にヒモを巻きつけ、横書きに文字を書く。書き終えたら棒から外して受け手へ送る。受け手は、手元にある棒にヒモを巻き戻して元の文章に戻すのだ。


 ヒモが途中で敵の手に落ちても、ヒモに書いてあるアルファベットを縦に読んでも、でたらめな文字列にしかならない。この方法は、平文(元の文章)をそのまま並べ替えた「転字式」と呼ばれる。


 スパルタでは同じ直径の棒を「鍵」として使用していたが、古代ローマでは別の方法が使用されていた。


暗号の元祖、「シーザー暗号」

 平文で使用されている文字を別の文字に置き換えることを「換字式」と呼ぶ。暗号研究に長年携わっている中央大学の辻井重男教授によれば「換字式暗号をたどると、紀元前20世紀の古代バビロニアから使用されていたとも言われている」という。


 これほど古くから使用されている暗号手法を有名にしたのが古代ローマの英雄、ジュリアス・シーザー(紀元前100年頃~紀元前44年)だ。彼がこの手法を頻繁に使用したことから「シーザー暗号」(カエサル暗号とも)と呼ばれるようになった。


 シーザー暗号は、平文のアルファベットをずらして暗号化するもの。例えば「アルファベットを4文字分ずらす」ということを、送り手と受け手であらかじめ決めておく。

 平文のアルファベット「A」は4文字ずらすと「E」となるので、

HUMMINGHEADS
という平文は、

LYQQMRKLIEHW
のように暗号化される。

 シーザー暗号は25パターンしかないので、25回総当たりすればすぐに解読が可能となってしまう。だが下のように、置き変える文字をでたらめに並べ替えてしまえば、総当たりで解読するとなるとおよそ26通り×25通り×24通り×…×1通りで計400000000000000000000000000通りにもなる。

平文文字:ABCDEFGHIJKLMNOPQRSTUVWXYZ
暗号文字:TUBKZIACEDYFJOGSLNPHVRQMXW


平文 :HUMMINGHEADS
暗号文:CVJJEOACZTKP

 換字式暗号は、送り手と受け手が換え方を秘密にしておけば、破ることはかなり難しくなる。実際はキーワードを決めて簡易化したものを使用していたようだ。

 例えばキーワード「CHUOKU(中央区)」から重複する文字(U)を抜いて「CHUOK」とし、そのあとに残ったアルファベットを順番に並べていく、というものだ。

平文文字:ABCDEFGHIJKLMNOPQRSTUVWXYZ
暗号文字:CHUOKLMNPQRSTVWXYZABDEFGIJ

 このようにあるアルファベットを別のアルファベットに置き換える暗号は「単一換字式暗号」と呼ばれる。お互いにずらす方法を共有しておけば、それに沿って復号できる簡便さ、鍵が分からなければ解読が不可能に近いこともあり、約1500年以上ヨーロッパで頻繁に使用されるようになったという。

 次回は約1500年経ったヨーロッパで考案された、単一換字式暗号に取って代わる「ヴィジュネル暗号」を紹介する。

(中西 啓)

>>暗号と暗号史【第2回】へ


【関連カテゴリ】

情報セキュリティ