「素数は無数にある」のか?
現代の暗号化技術の肝は素数にあります。素数には規則性がなくて、ある大きな数が素数かどうかを判定するのは難しい。ある大きな数の約数を探そうとしてスーパーコンピュータを使っても、現実には探せない。だから通信を不正に傍受されても、暗号を解かれる心配はないというわけです。
ところで、素数は無数にあるのでしょうか? 言い方を変えると、最大の素数はあるのでしょうか? もし「最大の素数がある」なら「素数の個数は有限個」ということになります。もし「最大の素数がない」なら「素数は無数にある」ことになります。
では、ここできちんと証明してみましょう。さて、ここから【問題】です。
【問】「最大の素数はない」ことを示そうとして、次のように論を進めた。
最大の素数があると仮定して、その数を $${\textrm{N}}$$ とする。
ここで $${\textrm{N}}$$ 以下のすべての素数の積に 1 を加えた数を $${\textrm{M}}$$ とする。
すなわち $${\textrm{M} = 2 \times 3 \times \cdots \times \textrm{N} + 1}$$ である。
このとき $${\textrm{M}}$$[ ア ]$${\textrm{N}}$$ である。
また、$${\textrm{M}}$$ を 2 から $${\textrm{N}}$$ までのどんな素数で割っても必ず[ イ ]余る。
よって、$${\textrm{M}}$$ は素数である。
しかし、これは「 $${\textrm{N}}$$ が最大の素数である」ことに矛盾する。
以上から、背理法によって「最大の素数はない」ことが示された。//
(1) [ ア ]に適切な等号または不等号を、[ イ ]に適切な数を入れよ。
(2) この証明が正しいなら解答欄に「 ⭕️ 」をかけ。そもそも結論が間違っているなら「 ❌ 」をかけ。証明に不備があるなら、上の証明8行のうちの1行 だけ を書き変えて、正しい証明に直せ。
この証明は、古代ギリシャの数学者ユークリッドが著した「ユークリッド原論」に載っています。紀元前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) の答えは次(↓)のようになります。
6行目の「M は素数である」を「M は素数 か または N より大きい素数で割り切れる合成数である」と書き換えれば完成です。
ところで、30031 の約数を自力で探せますか? まぁ難しいでしょうね。私はネット上で上の例を見つけて、ここに載せましたが、自力で例を探そうとして結局あきらめました。話を前に戻しますと、その難しさ故に暗号の安全性が担保されているということです。
上の【問題】、勤務校の学年末試験で出題しました(2026.03.07)。3学期の授業で「 結論を言わない証明問題 」をやりまして、そこからの出題です。高校2年の数学(文系)の試験です。
ついでながら、この記事の見出し画像はイラン・イスファハンのイマーム広場です。イランはとても綺麗なところですよ。よろしければ こちら をご覧ください。
