参考文献
1.アリスは図書館に行く
アリスは村人たちが使っているビジュネル暗号の解き方がわかってしまったので、どうすれば村人にその危険性を訴えるか考えあぐねていた。もし解読法を教えたとしても、それ以上のいい方法が見つからなければ何になる?何になる?
アリスはまず図書館で線形代数の本を調べてみた。どれもこれも同じような内容ばかりで役に立たなかった。
そして行列を魔法に使うための数秘術のコーナーに来たところで、大きな行列が表紙に書いてある、物直しの技の本が目に入った。
その中の一節に次のような四季があるのをアリスは見つけた。
$As+e=x$
アリスはデジャブを感じた。
「これってどこかで・・・アフィン暗号?」
確かアフィン暗号は次のようなものだったはずだ。
$f(x)=ax+b$
これを$a=A,x=s,b=e,f(x)=x$書き直すと、全くおなじになるではないか。
でも、アフィン暗号は$(a,b)$が秘密であっても、2つの平文と暗号文のペアがあれば簡単に解かれてしまう。
デモ者直しの技で使う四季は、形は似ていても、bの値がランダムなので解読できないのだった。
仮にものなオシの行列Gが正方行列出会ったとしても、未知のエラーが入っている暗号文cに逆行列を掛けたとしても、エラーと平文をうまく分離できるとは限らない。
と、こんなところで止まっている暇はない。
次に戸棚の裏側のコーナーに有る守りの数秘術のコーナーに行き、秘密の守り方の本を探した。
しかしアリスはそこそこ成績が良かったが、それでも分厚い専門書は理解できなかったし、かと言って簡単な本には基礎的なことばかりしか枯れていないので新しい暗号については書かれていなかった。
アリスは焦っていた。アリスは自分の直感を信じて、さっきのデジャブの謎を解き始めた。
確かもの直しの技では次のようにしてデータを直すのだった。つまりある方法で行列Gをつくり、それにデータsを掛けてエラーeを足す。つまり、
$c=sG+e$
更にeを取り除くて目にGH=0となるような行列Hを作っておいて、cにえらーがはいっていると、ある値が出てくるようにできている。
そしてその値を多項式の係数として扱うことでeを特定するのだった。
一方さっき見た守りの数秘術のの本には
$As+e=x$
であり、行列Aと暗号文xがわかっているときに、エラーeを取り除いて平文sを取り出すのであった。
しばらく読み勧めてみると、また次のような四季が見つかった。
$b(x)=s(x)a(x)+e(x)$
この場合も$a(x),b(x)$が与えられたとき、秘密の多項式$a(x),e(x)$を計算するものだった。
これには$a(x)$を計算するための消去法を使ってAの逆行列をかけてやれば簡単なのだが、
行列Aにエラーが含まれているので平文$s(x)$を計算する方法が見つかっていないということらしかった。
つまり行列Aは多元連立1次方程式系にエラーを混ぜた暗号文を解読する問題になるということだ。
行列にエラーが含まれているなんてもしもの直しの技だったらとんでもないことになる。
ということはなにか別の構造が行列に仕組まれているのかもしれない。
そうでなくても正しく平文を取り出す別の方法があるのだ。
それは一体どういうものだろう?
もし物直しの技で使う行列とどういう関係があるだろうか?
果たしてアリスは皇帝ロマーニャの陰謀から村人たちを救うことができるのか?(つづくw)