2009年7月16日木曜日

キャロルの暗号

7 時過ぎに起床。珈琲、オレンジジュース、ベーコンエッグ、 トースト、バナナの朝食のあと出勤。今日もいい天気だなあ……(溜息)。 午前、午後とお仕事。昼食は、ビルの外の熱気の中に出る元気がなくて、 ビル一階で売っているお弁当。もうすっかり、昼は一階お弁当派の私。 17 時過ぎに退社。外はまだ、かんかん照りの上に、 湯が絞れそうな湿度。スーパーで買い物をして帰宅。 A/C のスイッチを入れたら、すぐにお風呂。 湯上がりに、出来合いの胡麻ドレッシングで豆腐のサラダを作り、 白ワインを一杯だけ。そのあと、素麺を一束。 素麺って、一束ではちょっと物足りないし、二束ではちょっと多い。 夜は、C.L.ドジソンの翻訳など。

ルイス・キャロルこと、C.L.ドジソンはアリスの小説などからも分かるように、 言葉遊びの類が大好きだったので、けっこう真面目に色々な暗号を考案していた。 イギリス軍に提案したことさえあったようである(しかし、返事はなかったらしい)。 今、訳しているのはその一つ、「行列暗号」についての文章。 なかなか巧妙な暗号で、基本は次のようなアルゴリズムである。 アルファベットを 5 x 5 の正方形型に並べておく (英語のアルファベットは 25 文字以上あるが、そこは適当に調整)。 そして鍵になる単語に対してメッセージのアルファベットを、 鍵のアルファベットから見て上の正方形のどこにあるかでもって、暗号化する。 例えば、鍵 "ALICE" でメッセージ "I AM ..." を暗号化するとしよう。 まず、メッセージの最初のアルファベット "I" を、 鍵の一文字目 "A" から見て "I" が表のどこにあるかで表す。 (例えば、"A" から右に 1 列、下に 3 行、移動したところに "I" があれば、"1.3." など)。 次はメッセージの二文字目 "A" を、鍵の二文字目 "L" から見て、 表のどこにあるかで表す、というようにこれを繰り返して暗号化する。 専門的には「多表式暗号」に属するもので、 同じ文字でも鍵のどの文字で暗号化されるかによって、違う文字に変換されるのが味噌だ。 その意味で、シャーロック・ホームズの「踊る人形」暗号などよりは高級で、解くのが難しい。 とは言え、19世紀後期であっても、プロの手にかかれば簡単に解かれただろう。 しかし、この「行列暗号」は大変単純で使い易いのに、 かなり複雑な多表式になっていて、変換も強く非線形で面白い。 ある意味、時代に先駆けていたと言えよう。