saku
これが佐久暗号だ!
Sku e, N(X)=Xe mod N
Sku-1 e, N(C)=Xd mod N


(*注意 このテキストの元ネタはゴルゴ13の話です。でも暗号の仕組みはメールの暗号署名とかに実際使われているとかいないとか。勉強不足ですんません。)

誰にも解く事が出来ないと暗号のプロNSA(アメリカ国家安全保障局)長官フリーマンに言わしめた、究極の最終暗号、佐久暗号の根本となる定理の数式がこれだ。 大学院レベルの数学の知識がない人(私もそう)にはさっぱりである。さてこれからこの式によってつくられる暗号について詳しく説明していこう。

まずいきなり暗号の作り方だが、それほど難しいものではない。掛け算の出来るものになら簡単に作る事のできる方法である。それは

”一つの文字を数百桁の素数*の2乗に対応させる”

*素数とは1と自分自身でしか割り切れない整数の事
(例・・2, 3, 5, 7, 11, 13, …,257 , …,523, …)

である。
簡単な例として、3桁の素数で暗号を作成してみよう。
暗号をやりとりする仲間の間で
a=337,b=679、c=953、d=451(本当に素数か?)
と決めたとき、"abcd"という言葉を暗号化すると…

”113569, 461041, 908209, 207936”

ダミーを入れれば…
114738, 113569, 632763, 346199, 461041, 376437, 908209, 207936, 337919

となる。これと同じ操作を”素数に数百桁の数字を採用して”行うのだ。

こうやって作られた暗号は

”素数の特性を利用した、誰にでも簡単につくれて互いに独自に作成した暗号表なしにはスーパーコンピュータであろうとも現在から宇宙の創世までの時間をかけても解く事のできないもの。”(佐久先生談)。

だそうである。

しかし…本当にこれが誰にも解けない最終暗号なのだろうか…その疑問は誰でも感じるであろう。
その疑問を解決するために、ここに作中で同様の疑問を持った助手に対する佐久先生の説明を抜粋しよう。
******************************************************************

助手「先生……この暗号式が完成すれば、本当に、誰でもが手軽に、あのNSA(アメリカ国家安全保障局)で
さえ解けない暗号を作れるのですか…?」
佐久「ああ…簡単に説明すると…」

佐久「例えば 273528 の平方根をYとしよう。Yをすぐにだせるかね?」
助手「うむ……(考え込む)」
佐久「これは、数学者の君たちにも難しい問題だ。」
「それは、素数を求めるのに素因数分解が必要になるからだね。
素数を簡単に求める方法は現在、見つかっていないために273529を、
2から順に根気よく割っていくしかないから、大変時間がかかるのだ・・・」

「この答えは523だよ。」

助手「あ、あなたの頭の中には、計算機が入っているのですか?」
佐久「このようにしてアルファベットの一つ一つを、更に数百桁以上の物に対応させると、その素数を求める事は、恐ろしく時間がかかるだろう。」
助手「それはそうですよ、数百桁の素数を求めるのにも、やはり2から順に割っていく方法しかないのですから・・・・・・・・・・・・」
佐久「現在の最速のスパコンは、1秒間に3千億回の計算をするが、その素数の桁数を50桁にするだけで数 十万年以上もかかる…それ以上だと、宇宙の創世までの時間でも無理だ…」
助手「宇宙の創世…」
佐久「しかし、523の二乗はいくつ、と聞けば、誰でも答えが出せる…50桁になろうが百桁になろうが二乗 ならば簡単に答えがでる。」

「私の暗号の特徴も、273529の平方根を求める事は難しくても、
逆に…523の二乗は誰にでも求める事が簡単というように、
ある一方からだと簡単に計算できて暗号に置き換えられるが、もう一方からだと
その答えを求めるには、果てしなく時間がかかり、暗号化した場合にも破れない、
という素数の資質を利用しているんだ。」

助手「な、なるほど…!!」

**********************************************************

別に暗号を解くのに平方根をとらずに単語や文脈等から解析すれば良いのでは…?という疑問もあるだろう。おそらくこの暗号を解くにはそれしかないだろう・・。

確かに定められた数だけしか数字がないのなら周期的に出てくる数字をチェックしていけば良いとも考えられる。しかし暗号にダミーの数字まで入ってきたらどうだろう?それこそ解読不可能である。一つの数字の平方根を取る事もできないので、ダミーと暗号を見分ける事も困難んである。もととなる素数のわかっている者は2乗してみて対応する数字のみを探して読めば良いだけである。

どうだろう?この暗号の凄さがわかってもらえただろうか?もちろん数百桁の素数を26個も
見つけ出すのも大変だが…

さて……私も自分達専用の素数を26個、選び出そうか…。

戻る