![見出し画像](https://assets.st-note.com/production/uploads/images/76963781/rectangle_large_type_2_86464d6fb596adf0ad1bfce02791c00f.png?width=1200)
「素数は無数にある」のか?
現代の暗号化技術の肝は素数にあります。素数には規則性がなくて、ある大きな数が素数かどうかを判定するのは難しい。ある大きな数の約数を探そうとしてスーパーコンピュータを使っても、現実には探せない。だから通信を不正に傍受されても、暗号を解かれる心配はないというわけです。
ところで、素数は無数にあるのでしょうか? 言い方を変えると、最大の素数はあるのでしょうか? もし「最大の素数がある」なら「素数の個数は有限個」ということになります。もし「最大の素数がない」なら「素数は無数にある」ことになります。
では、ここできちんと証明してみましょう。さて、ここからが【問題】です。
【問】「最大の素数はない」ことを示そうとして、次のように論を進めた。
最大の素数があると仮定して、その数を N とする。
ここでN 以下のすべての素数の積に 1 を加えた数を M とする。
すなわち M=2×3×…×N+1 である。
このとき M [ ア ] N である。
また、M を 2 から N までのどんな素数で割っても必ず [ イ ] 余る。
よって、M は素数である。
しかし、これは「N が最大の素数である」ことに矛盾する。
以上から、背理法によって「最大の素数はない」ことが示された。//
(1) [ ア ] に適切な不等号を、[ イ ] に適切な数を入れよ。
(2) この証明が正しいなら「 〇 」をかけ。不備があるなら下線部を書き変えて、正しい証明に直せ。
実はこの証明は、古代ギリシャの数学者ユークリッドが著した「ユークリッドの原論」に載っています。紀元前3世紀ごろに書かれた本です。それを試験問題風にアレンジしました。
では 《解答・解説》 と行きましょう。
(1) M=2×3×…×N+1 より、まず M > N が成り立ちます。
次に、M を 2 で割ると 1 余ります。M を 3 で割っても 1 余ります。
以下同様にして、M を N 以下のどんな素数で割っても必ず 1 余ります。
というわけで、答えは [ア] は > 、[イ] は 1 です。
(2) では、このことから「M は N より大きい素数」だと言えるかというと、残念ながら、そうとは言えません。
(1) より「M は N 以下の素数で割り切れない」のですが、「N より大きい素数で割り切れるかもしれない」からです。
そして、そのどちらの場合であっても「N より大きい素数がある」ことになって「N が最大の素数である」ことに矛盾しますから、結局のところ「最大の素数はない」つまり「素数は無数にある」ことが証明されるわけです。
たとえば「N=13 のとき、M=2×3×5×7×11×13+1=30031=59×509」ですから、M 自体は素数ではありませんが、この場合も N=13 より大きい素数(59と509)があることになります。
というわけで、(2) の答えは「M は素数 かまたは N より大きい素数で割り切れる」です。
ところで、30031 の約数を自力で探せますか? まぁ難しいでしょうね。私はネット上で上の例を見つけて、ここに載せましたが、自力で例を探そうとして結局あきらめました。話を前に戻しますと、その難しさ故に暗号の安全性が担保されているということです。