「夫子憮然曰、鳥獣不可與同羣。吾非斯人之徒與、而誰與。
「論語」微子、第十八、六

2013/12/06

ルイス・キャロルのマトリクス暗号

ルイス・キャロルこと C.L.ドジソンの「マトリクス暗号」の翻訳を公開します( pdf ファイルへのリンク)。

ルイス・キャロルが日記に書き残していた二つの暗号方式の後者。 本人は「前のものよりずっと良い」と書いていて、この発明にかなり自信を持っていたようだ。 詳細については翻訳を参照していただきたいが、アルゴリズムの本体自体は簡単で以下のような感じ。

まず、A から Z まで 5 行 5 列に順番に並べた表(マトリクス)を考える。 これは覚え易いように規則正しい表でよく、特に秘密ではない。 一方、暗号化と復号化に用いる鍵になるパスワードを決めておく。 そして、通信したい文章を一文字ずつ、このパスワードの文字を一つずつ順に使って、 二つの数字のペアに置き換えていく。 この置き換え方がキャロルの工夫で、 表の中で元の文字とパスワードの文字がどういう位置関係にあるか (例えば、2 列右、1 行下にあるなら "2.1" など)の情報を暗号文とする。

なお、この方式は専門的に言えば、 単純な「換字式暗号」を複数の表に拡張した「多表式暗号」に過ぎないので、 比較的簡単に破ることができる。 たまたま同じ文字が同じ鍵で暗号化されて同じ文字になった部分の間隔を調べると、 その公約数からパスワードの長さが判明し、換字式暗号に帰着してしまう。 あとは「踊る人形」のシャーロック・ホームズの要領で、 頻度分析(例えば英文では "E" の文字が一番多い、など)によって解けてしまう。