第18話 トランプで実装する公開鍵暗号
「ほな、行きますよぉ。」
陽菜はトランプの山を構えて、指をずらした。左右$${26}$$枚ずつ、計$${52}$$枚のカードがパラパラとたがい違いにおり重なり、$${1}$$つの山に戻った。
「ほーお! 器用なもんや!」
「えへへ・・・。」
吉栄光比売にほめられ、彼女はてれ笑いした。
月曜日の夕方、陽菜は1人で塵劫神社をおとずれていた。大翔は宿題を忘れて、放課後居残りである。
吉栄光比売は陽菜からトランプを受けとると、ためしに同じように山を2つにわってしならせた。でも指がすべってしまい、カードは彼女のヒザの上にバラまかれてしまった。
「あーん! むずかしいな、もう。」
「あはは。」
女神がすこしくやしそうに笑う。それを見て、陽菜もまた笑った。
彼女が失敗するのも、そんな表情をするのも、見るのは初めてである。神通力でいろいろなことをやってのけてしまうので、なんでもできるかのように思っていたが、そうでもないらしい。
「もういっそ、神通力使た方がキレイにできるかもしれませんね。」
「んー、まあそうかいな?」
陽菜がすこし挑発してやると、吉栄光比売はすっと手をかざした。すると、散らばっていたカードがみるみるうちに2つの山にまとまった。空中で向かいあい、ひとりでにしなると、あざやかにたがい違いにおり重なって1つの山になった。
「わー、すごーい。」
「もうちょい、心こめんかいな。」
ムリもない。
自分が半日練習してできるようになった切り方を指一本使わずにやられてしまえば、棒読みにもなるというものだ。
「ほんで? これが、なんていう切り方やったかいな?」
「リフルシャッフルですね。」
「英吉利語かえ?」
「ですね。“シャッフル”っていうのは“いれかえる”みたいな意味で、ほかにもたとえば、スマホで音楽きくときに曲をランダムな順番で再生するのを“シャッフル再生”なんて言ったりします。」
「そんなきき方することがあるんかいな。ありがたみがよくわからんが・・・。まあええわ。ほんで? “リフル”の方は?」
「“リフル”はまさに、さっきやったみたいな感じでパラパラと紙をめくることを言うらしいです。ほかにも、本のページをそんな感じでめくるんもそう言うんですって。」
「はーん。あえて訳すなら、“パラパラめくり切り”いう感じかいな?」
「です・・・かね?」
陽菜はおととい、これらの言葉を家に帰ってから辞書で調べていた。“シャッフル”はそれこそ音楽アプリで知っていたが、“リフル”は完全に初耳だった。英語好きとしては、そこは放っておくわけにはいかない。
「それで、なんできゅうにこれを披露してきたんや?」
「大翔がおととい言うてたやないですか。『これを$${8}$$回くり返したらもとのならびに戻る』て。それを実際にたしかめてみたくて。」
「はあはあ、なるほどな。ほいで、確認できたんかえ?」
「そりゃもう、バッチリ! 見てて下さい!」
陽菜はトランプを受けとると、いったん数字や絵が描かれている面を見た。もちろん、実験する前のならびを確認するためである。が・・・。
「うわっちゃ・・・。順番バラバラ・・・。」
「あー、ごめんな。」
そう言えばついさきほど、吉栄光比売が失敗してぶちまけたあと、適当に直して空中でシャッフルしていたのだった。順番などメチャクチャになっているに決まっている。
彼女が手をかざすと、カードの山はふたたび空中に舞い上がり、あっという間に順番がならべかえられた。
「ほい。これでええか?」
再度、カードのならびをたしかめる。スペードやらダイヤやらの順番が適当だったり、クイーンとキングの順番が逆になっていたりはしたが、数字のカードは順番どおりである。覚えられなくはない。
気をとり直し、陽菜はリフルシャッフルを$${8}$$回くり返した。
「ほら! ちゃんともとに戻ってる!」
おうぎ状にカードを広げ、吉栄光比売に見せる。ならびはきちんと、吉栄光比売がならべたものになっていた。
「はー! これは大したもんや。」
吉栄光比売がふたたび、感心の声を上げる。
「そう言えば陽菜、知ってるか?」
女神はそう言って、人差し指をピンと立てた。すると、陽菜が持っているおうぎ状の束からカードが数枚、ひとりでに抜けでて吉栄光比売の右手におさまった。各マークの“10”のカード$${4}$$枚である。
「徳川の時代はな、“10”の札がなかったんえ。」
「え? そもそも江戸時代にトランプってあったんですか?」
「あったよ。もっとも、とらんぷとは言わずに“かるた”って呼んでたけどな。」
「え、え、え? かるたって、百人一首のことちゃうんですか?」
「それは“歌かるた”やな。それももちろんあったけど、葡萄牙から入ってきたヤツとほぼ一緒のもんもあったんや。なんなら、それがのちに規制されたときに、とりしまりの目をゴマカすために形をかえて作られたんが“花かるた”、今の花札や。」
「えー!! 知らんかった・・・。」
「むかしのとらんぷも花札も、札の数は$${48}$$枚。今、あんたの手の中にある札も$${48}$$枚。陽菜、ためしにその状態からりふるしゃっふるくり返してみ? $${\textbf{8}}$$回ではもとに戻らへんはずや。」
陽菜は目を丸くした。
言われたとおり、リフルシャッフルをまた$${8}$$回くり返す。だが、結果はもとのならびとは似ても似つかないものだった。
「えええ? $${48}$$枚やとあかん、いうことですか??」
吉栄光比売がにんまりと笑う。
「そこからさらに、$${15}$$回切ってみ。」
「はあ。」
陽菜が続けて切ること$${15}$$回、はたしてカードはもとのならびに戻った。
「な? 札の数が$${48}$$枚やと、合計$${23}$$回でもとに戻るんや。」
「え、$${1}$$枚ずつ減らしただけなんに?! ぜんぜんちゃう!! へええええ!!!」
陽菜は思わず感動の声を上げた。
その様子を見て、吉栄光比売がなにかをひらめいたような顔で言った。
「ふむ。あんたひょっとして、数学より理科の方が得意やったりせんか?」
「へ? んー、得意ってことはないですよぉ? テストの点は似たような感じですし・・・。」
「実験が得意やったりせえへんか?」
「実験・・・。あ、得意ではないですけど・・・、好きです。」
陽菜がすこし考えるようにして言った。
「やっぱりなぁ。ここ数日見てて思たけど、あんたは頭で理屈を考えるよりも、実際に目で見て、手ェ動かしてためした方がのみこみが早いねん。」
「あ、そうかも・・・。その方がしっくり来ます・・・。」
「ふむ、よしよし。ようわかった。」
「? なにがですか?」
「なに、なんでもあらへん。」
そこで吉栄光比売は話題をかえた。
「で、実験するのはええけど、かんじんの暗号の話は理解できたんかえ?」
「あう・・・。えっと、なんちゃら暗号でしたっけ?」
「公開鍵暗号な。」
吉栄光比売が、なかばあきれたような顔で言った。
リフルシャッフルの話は、もともとは大翔の叔父が考えた、なにかの暗号を説明するためのたとえ話だ。だが、おととい大翔からその話をきいたときは、シャッフルのくり返しの話に気をとられてしまい、暗号の説明をほとんどききのがしてしまっていた。
「えっと、たしか・・・。上杉謙信が話にでて来たんだけは覚えてます・・・。」
「ああ、上杉暗号のくだりやな。」
吉栄光比売は、あらためて陽菜に上杉暗号の説明をした。
上杉暗号は、ひらがな$${48}$$文字を正方形にならべ、それに数学の座標のように数字をわりあてるというものである。
手紙などで家臣に指示を出す場合、ひらがなのかわりにこれらの数字を書いて送る。謙信と家臣であらかじめこの対応表を共有しておけば、家臣はこの表にてらし合わせて手紙の内容を理解できるというわけだ。
もしこの表がなんらかの理由で敵にバレてしまったら、手紙の情報はつつ抜けになってしまう。
「陽菜はもし、この対応表を他人にバレんように、たとえば大翔に送ろうと思ったらどうする?」
「『送る』って・・・、RINEかなにかで、ですか?」
「それでもええよ。」
「んーと・・・。」
陽菜の指先が宙をなでる。1分ほど考えて、彼女は答えた。
「まず表だけ書いてもらったらええんやないです?
これやったら、簡単に説明できますし。で、『右上から順番に、いろは歌のひらがなを縦書きで書いて』って言うたら通じますよね?」
「そやな。確実に通じるわ。大翔にも、そしてそれを盗み見た別の人にもな。」
「ああ。ですね。」
「“いろは歌”て言うてしまうと誰でもわかってまう。そこで、それをならべかえたもんを伝えて、『そっちでもとに戻してから表にならべろ』て言うたらどないや? そんでもって、そのもとに戻す方法が大翔しかわからへんとしたら、どうや?」
“もとに戻す”というフレーズをきいて、陽菜はひらめいた。
「ひょっとして、それにリフルシャッフルを使うんです? つまり、
ひらがなを1文字ずつ書いたカードを用意する
そのカードをいろは歌の順にならべる
何回かリフルシャッフルする
その結果と、シャッフルした回数を伝える
大翔は残りの回数だけシャッフルする
カードのならびがいろは歌に戻り、表が完成!
みたいなことですか?」
「そういうこと! そして奇しくも、ひらがなもぜんぶで$${48}$$文字ある。ということは?」
「・・・・・・。たとえば、ステップ3で$${8}$$回切ったら、大翔はステップ5で$${15}$$回切ればいい?」
吉栄光比売が満足げにうなずく。
「さっきあんたも、わらわに言われなんだら残りの回数わからへなんだやろ? つまりあんたと同じことしか知らへん人は、その情報のやりとりを見ても札の順番をもとに戻せへんわけや。」
「そーいうことかぁ!!」
陽菜が、目からウロコが落ちたような顔をしたあと、またすぐに首をかしげた。
「これがその・・・、えっと・・・。」
「公開鍵暗号な。」
「そうそれ! それの説明なんですか?」
「せやな。そもそも“鍵”いうのは暗号化と復号化に必要な情報のことで、今の場合、札を切る回数がそれにあたる。」
「それを“公開する”っていうのは?」
「さっきあんたが言うてた手順やと、暗号化の鍵をあんたから大翔へ伝えることになってたやろ?」
「『8回シャッフルした』いうヤツですよね?」
「そう。その情報はほかの人に盗み見されてもかまへん。暗号文の復号に必要なのは$${15}$$回の方やからな。暗号化の鍵から復号化の鍵を推定できひんなら、見られても問題あらへん。せやからじっさいのところ、暗号化の鍵は誰でも見られるような状態にされる、つまり公開されるわけやな。」
「なるほどなぁ・・・。で、それが今大翔がチャレンジしてる暗号なんですか?」
「あれはRSA暗号やな。公開鍵暗号の1つや。公開鍵暗号いうんは、暗号化の鍵だけ公開するような暗号の種類のこと。RSA暗号も、今説明した“りふるしゃっふる暗号”も、それを実現するための仕組みやな。」
「あー。じゃあ、これだけわかってても、大翔は叔父さんの宿題をとけへんのですね。」
「まあな。ただ、“りふるしゃっふる暗号”はRSA暗号を理解するのにも役にたつから、わかっといて損はないよ。」
「そうなんですか?」
「さっき、札のならびがもとに戻る、いう話したやろ? 言いかえれば、札を切り続けると、同じならびがなんどもくり返す、いうことや。おととい大翔が、『あまりがくり返す』言うてたん覚えてへんか?」
To Be Continued…
この記事が気に入ったらサポートをしてみませんか?