おもしろいかな算数(19) 「時計計算機と素数とインターネット」(セミナー通信 2022年02月号)
小学校では時間の計算を学習します。
例えば朝の10時から4時間たつと何時ですか?
答えは午後2時ですね。これは10+4を12で割ったあまりです。
このような計算を高校1年生になると
10+4≡2 (modulo 12) とあらわすことを学習します。
Modulo はモデュロと読みます。「2モデュロ12」とか「12を法として2」と読みます。2の前の記号は「=」ではなく「≡」を使います。
掛け算や割り算も使できます。
例えば、10×4≡2(modulo 12)
10×4=40なので40を12で割ると余りは2になります。
時計計算とはこんなふうに考え、「≡」記号を使って表す式を合同式と呼びます。
では5を3回かけると(5の3乗といいます。53と書きます)どうなるでしょう?
5×5×5=125
125=12×10+5なので 5×5×5≡5(modulo 12)となります。
ところで、初めの5×5≡1(mod 12)です。
(5×5=25 25を12で割ったあまりは1)
次にこの1に5をかけると
1×5≡5(mod 12)
(1×5=5 5を12で割ったあまりは5)
つまり5を3回かけてから12で割って余りをださなくても、5×5を12で割ったあまり1に次の5をかけれ ばいいんです。
では7を99回かけた数を12で割ったあまりはどうでしょう?
7×7=49なので 7×7≡1(modulo 12)
では 7×7×7≡1×7≡7(modulo 12)
さらに
7×7×7×7≡(7×7)×(7×7)≡1×1≡1(modulo 12)
では99回かけると 799≡149×7≡7(modulo 12)です。
時計計算については17世紀の数学者フェルマーが素数時間pの時計計算機を使った計算について「フェルマーの小定理」という定理を発見しました。
素数時間pの時計計算機にどんな数を入れても、p回かける(p乗する)と必ず元の数に戻るというものです。
式で書くと
「素数p時間の時計では
Ap ≡ A (modulo p) が成り立つ。」というものです。
この素数時計の計算 実はインターネットを使う上で大変重要な役割を任されています。
例えばクレジットカードの番号を誰かに伝えなければならないとき(ネット通販で買い物をするときなど)、番号は誰にも知られないように送らなければなりません。
クレジットカードの番号がAだとするとp時間時計を使ってAE(modulo p)という数に変換して相手に送ります。この番号を相手は元の数に解読するわけです。
ところがpとEは公開された(誰でも知ることができる)数字なのでこのままだと誰でも変換できてしまいます。実際はもう少し複雑になっていて、もし誰かが解読しようとしても、ものすごく大変な時間が必要になります。RSA暗号と呼ばれるこの仕組、どこかで見たことがあるかもしれませんね。(RSAとは3人の科学者の頭文字です)
このように、時計計算と素数の性質を使っうことで、インターネットを安全に使うことができるのです。
が、いつの日かこの暗号方式の解読を短時間でできるようなコンピューター(例えば量子コンピューター)が作られるかもしれません。解読方法を数学者が考え付くかもしれません。
新しい暗号方式が作られても人はそれを解読しようとし、これまでに次から次に暗号方式が作られては解読されるという歴史が繰り返されてきました。
素数がちょっと身近に感じられたでしょうか?
前回のテンパズルの解答
1158 8÷(1-1÷5)=8÷(1―1/5)
=8÷4/5
=8×5/4 = 10
4466 (4+6×6)÷4=40÷4 =10
3478 8×(3-7÷4)=8×(3―7/4)