「割り切れるか」の不思議から量子コンピュータまで:現代社会を守る数論の系譜
第1章:万能な倍数判定法と1001の魔法
日常生活の中で、ある数が特定の数で割り切れるかどうかを判断したい場面は意外と多いものです。例えば、3人で食事をして合計金額を過不足なく分けられるか確認するときや、分数の約分を行うときなどが挙げられます。
本章では、あらゆる整数に活用できる「万能な倍数判定法」と、3桁の数字に隠された不思議な「1001の性質」について解説します。
万能な倍数判定法:一の位を操作する
2の倍数(一の位が偶数)や5の位(一の位が0か5)の判定は非常に簡単ですが、7や13といった数になると途端に難しくなります。しかし、実はどのような数にも応用できる共通の手順が存在します。
その手順は、判定したい数の一の位を切り離し、残りの部分から「一の位にある特定の数をかけたもの」を引くというものです。
例えば、7の倍数を判定したい場合、この特定の数(n)は「2」となります。
294が7の倍数か調べる例:
- 一の位の「4」を切り離します。残った数は「29」です。
- 切り離した「4」に2をかけて「8」とします。
- 「29」から「8」を引くと「21」になります。
- 21は7の倍数であるため、元の294も7の倍数であると判断できます。
この方法は、一度で判定しきれない大きな数であっても、同じ操作を繰り返すことで数値をどんどん小さくできるというメリットがあります。
なぜこの方法で判定できるのか:数学的根拠
この仕組みを論理的に説明します。ある整数を、一の位の数字を a、十の位以上の部分を A として、10A + a と表します。
判定したい数(割る数)を p としたとき、一の位にかける数 n が次の条件を満たしていれば、この判定法が成立します。
10n + 1 が p で割り切れる
例えば p = 7 の場合、 となり、これは7で割り切れます。だからこそ、一の位を2倍して引くという操作が有効なのです。この n を見つけることさえできれば、13や17といった他の数でも同様の手順で判定が可能になります。
3桁の数を2つ並べてできる「1001の魔法」
次に、数字の並びが生み出す不思議な性質を紹介します。好きな3桁の数を2回繰り返して6桁の数を作ってみてください(例:123123)。この数は、驚くべきことに必ず「7」「11」「13」という3つの数で同時に割り切れます。
この現象には、次のような明確な数学的理由があります。
3桁の数を x とすると、それを2つ並べた数は次のように書き換えることができます。
つまり、3桁の数を2つ並べるという行為は、元の数を「1001倍」することと同義です。そして、この「1001」という数字を素因数分解(これ以上分けられない素数の掛け算に分解すること)すると、以下のようになります。
1001がこれら3つの素数を「部品」として持っているため、どのような3桁の数を並べても、必ず7, 11, 13で割り切れるのです。
メリットとデメリット
ここまでの内容を事実に基づいて整理します。
メリット
- 汎用的な思考:特定の数だけでなく、あらゆる数に共通する「構造」を理解することで、未知の課題に対処する応用力が身につきます。
- 計算の効率化:1001が
であると知っていれば、複雑な割り算を回避して素早く数値を処理できます。
デメリット
- 暗記の限界:判定法に使う n の値が大きくなると、筆算で直接割るよりも計算が複雑になる場合があります。
- 条件の制約:3桁の繰り返しのような特定のパターンは非常に強力ですが、適応範囲を正しく把握しておく必要があります。
まとめと次章へのステップ
第1章では、一の位を操作する万能な判定法と、1001という数字が持つ素数の「部品」について学びました。この「数字を素数の掛け算に分解する(素因数分解)」という作業こそが、現代のセキュリティを支える根幹技術へと繋がっています。
理解を深めるためのステップは以下の通りです。
- 自分の好きな3桁の数を並べて、実際に7や11で割り切れるか計算して確認する。
- 1001のような「複数の素数が掛け合わされた大きな数」を、逆に素数に分けるのがどれほど大変かを想像してみる。
- もし、この「素数に分ける作業」が何百桁という規模になったらどうなるかを考えてみる。
第2章:RSA暗号と巨大な素数の壁
第1章では、1001という数字が 7, 11, 13 という素数の掛け算でできていることを学びました。このように、ある数を素数の積に分解することを「素因数分解」と呼びます。
この素因数分解には、一方通行の性質があります。小さな数であれば簡単ですが、桁数が増えるほど、元の素数を見つけ出すのが指数関数的に難しくなるのです。この「逆戻りの困難さ」を巧みに利用したのが、世界で最も普及している「RSA暗号」です。
掛け算は簡単、割り算は困難
RSA暗号の根幹にあるのは、非常にシンプルな数学的事実です。
- 順方向(掛け算): 2つの巨大な素数 p と q を掛け合わせて、合成数 n = pq を作るのは、コンピュータにとって一瞬の作業です。
- 逆方向(素因数分解): 巨大な合成数 n だけを見て、元の p と q が何であったかを当てるのは、最新のスーパーコンピュータを何年も動かしても不可能なほど時間がかかります。
例えるなら、2つの色の絵の具を混ぜて新しい色を作るのは簡単ですが、混ざった色から元の2色の成分を完璧に分離するのが不可能なのと似ています。
公開鍵と秘密鍵:2つの鍵の役割
RSA暗号は「公開鍵暗号」と呼ばれる方式を採用しています。これには対になる2つの鍵が登場します。
- 公開鍵: 誰にでも教えてよい鍵です。これには、先ほどの「巨大な合成数 n」が含まれています。荷物を入れると自動的にロックがかかる「南京錠」のような役割を果たします。
- 秘密鍵: 自分だけが持つ鍵です。これには、合成数を作る元となった「元の素数 p, q」の情報が含まれています。南京錠を開けるための「物理的な鍵」に相当します。
誰でも公開鍵を使ってデータを暗号化(ロック)できますが、それを復号(解錠)できるのは、元の素数を知っている秘密鍵の持ち主だけです。
なぜ「素数」でなければならないのか
もし n が素数の掛け算ではなく、多くの小さな約数を持つ数であれば、コンピュータは効率的にその構成要素を見つけてしまいます。しかし、素数はそれ以上分解できない「数字の原子」です。
巨大な2つの原子(素数)をガッチリと結合させた合成数 n は、中身を知るための手がかりを一切見せない強固な金庫となります。この金庫を壊す唯一の方法は、力任せに素因数分解を試みることですが、現代の技術ではその壁を突破するのに宇宙の年齢ほどの時間が必要だと計算されています。
メリットとデメリット
RSA暗号の特性を、客観的な事実として整理します。
メリット
- 安全性の根拠が明確: 数学上の未解決問題に近い「素因数分解の困難さ」に依存しているため、理論的な信頼性が非常に高いです。
- 鍵の受け渡しが安全: 暗号化のための鍵(公開鍵)を公道で配っても、復号のための鍵(秘密鍵)さえ守れば安全性は維持されます。
デメリット
- 計算の重さ: 巨大な数同士のべき乗計算を行うため、処理に時間がかかります。そのため、通信の最初だけRSAを使い、その後の実データ転送は別の高速な方式に切り替えるのが一般的です。
- 鍵の寿命: コンピュータの性能向上に伴い、安全を保つために必要な素数の桁数は年々長くなっており(現在は2048ビット以上が推奨)、管理の負担が増しています。
まとめと次章へのステップ
第2章では、素因数分解という数学のハードルが、情報の安全性を担保する「壁」として機能していることを学びました。しかし、この壁の内側では、暗号化されたデータを再び元に戻すための「秘密の裏道」が用意されています。
理解を深めるためのステップは以下の通りです。
- 2桁の素数同士(例:17と19)を掛けてみて、その答え(323)だけを見て元の2数を当てるのが、どれくらい手間か試してみる。
- インターネットの「電子署名」などが、この公開鍵の仕組みをどう利用しているのか調べてみる。
- 「1001」のように、3つ以上の素数が混ざっている場合と、2つの巨大な素数だけの場合で、どちらが「壁」として強いか考察してみる。
第3章:フェルマーとオイラーが遺した「余り」の法則
第2章では、巨大な素数を掛け合わせた合成数 n が、情報の「盾」になることを学びました。しかし、盾で守るだけでは不十分です。正当な受け取り主だけが、暗号化されたメッセージを元の数字に戻せなければなりません。
この「元に戻す操作」を数学的に保証しているのが、フェルマーの小定理と、それを拡張したオイラーの定理です。
フェルマーの小定理:素数が作る「1」のサイクル
17世紀の数学者ピエール・ド・フェルマーは、素数 p と、その p で割り切れない整数 a の間に成り立つ不思議な法則を発見しました。
この式は、「a を p-1 回掛け合わせて p で割ると、余りは必ず 1 になる」ということを意味しています。
例えば、a = 3、p = 7 で試してみましょう。
- p-1 = 6 なので、3を6回掛けます。
となります。
- 729を7で割ると、
。余りは確かに 1 です。
どんなに大きな数字でも、特定の回数だけ掛け合わせると「余りが1」という振り出しに戻る性質。これが暗号を復元するための「回転するダイヤル」のような役割を果たします。
オイラーの定理:素数の積への橋渡し
18世紀、レオンハルト・オイラーはこの法則をさらに広げ、素数以外の数(合成数)でも使えるようにしました。ここで登場するのが「オイラーのファイ関数()」です。
RSA暗号のように n = pq(p, q は素数)であるとき、 と計算できます。そして、次のオイラーの定理が成り立ちます。
暗号化の際にメッセージを e 乗した場合、この のサイクルを利用して計算を調整することで、ちょうど「1乗(元のメッセージ)」の状態に戻すことができるのです。この計算を可能にするのが、秘密鍵 d です。
メリットとデメリット
この数論の定理が暗号にもたらす事実を整理します。
メリット
- 数学的な確実性: 法則が厳密であるため、どれほど巨大な数値であっても、正しく計算すれば 1 ビットの狂いもなく元の情報を復元できます。
- 効率的な復号: 指数計算の工夫(繰り返し二乗法など)を組み合わせることで、巨大なべき乗であってもコンピュータで高速に処理できます。
デメリット
- 前提条件の厳守: メッセージ a と n が「互いに素(共通の約数を持たない)」である必要があります。
- 秘密の漏洩: もし第三者に
の値がバレてしまうと、秘密鍵 d が簡単に計算されてしまい、暗号が無意味になってしまいます。
まとめと次章へのステップ
第3章では、フェルマーとオイラーが発見した「余りのサイクル」が、暗号を元に戻すための論理的な基盤であることを学びました。 という「サイクルの長さ」を知っていることが、秘密鍵を持つことの本質なのです。
理解を深めるためのステップは以下の通りです。
- 小さな素数(p=5 など)で、実際に
の余りが 1 になることを紙に書いて確かめてみる。
- もし n = 15(
)なら、
が 8 になることを、1から15の中で15と約数を共有しない数を数えて確認する。
- 暗号化の e と復号の d を掛けたものが、この「サイクル」とどう関係しているのか想像してみる。
第4章:楕円曲線暗号(ECC)と多次元の迷路
第2章と第3章では、巨大な素数を使ったRSA暗号の仕組みを学びました。しかし、コンピュータの性能が上がるにつれ、安全を守るために必要な素数の桁数はどんどん増え、計算の負担が大きくなってきました。そこで登場したのが、より短い鍵で、より強力な安全性を実現する「楕円曲線暗号」です。
楕円曲線上の「不思議な足し算」
楕円曲線暗号は、次のような数式で表される曲線を利用します。
この曲線の上には、通常の数字の足し算とは異なる、特殊な「足し算」のルールが定義されています。
- 曲線上の2つの点 P と Q を結ぶ直線を引く。
- その直線が曲線と交わる第3の点を見つける。
- その点を x 軸に対して上下反転させた場所を「P + Q」の結果とする。
このルールに従って、同じ点 P を何度も足していく操作()を考えます。ある点 P を d 回足した結果が点 Q であるとき(Q = dP)、P と Q の位置がわかっていても、足した回数 d を逆算することは極めて困難です。これを「楕円曲線離散対数問題」と呼びます。
なぜRSA暗号より優れているのか
楕円曲線暗号が現代の主流となった理由は、その「効率性」にあります。
- 鍵の短さ: RSA暗号で3072ビット必要な安全性と同等の強度を、楕円曲線暗号ならわずか256ビットで実現できます。
- 処理の速さ: 扱う数字が小さいため、スマートフォンのようなバッテリー制限のある端末でも、高速に暗号化と復号が行えます。
- 省スペース: メモリ消費が少なく、ICカードや小さなセンサー機器(IoTデバイス)にも搭載可能です。
高校数学で学ぶ「関数のグラフ」と「ベクトルの合成」を組み合わせたようなこの幾何学的なパズルが、私たちの通信をよりスマートに守っています。
メリットとデメリット
楕円曲線暗号の特性を、事実に基づいて整理します。
メリット
- 圧倒的なコスパ: 少ない計算リソースで非常に高い安全性を得られるため、ビットコインなどのブロックチェーン技術の署名にも採用されています。
- 高速な鍵交換: 通信のたびに新しい「使い捨ての鍵」を素早く作ることができ、過去の通信データが後から解読されるリスクを低減できます。
デメリット
- 実装の難しさ: 数学的な構造が複雑なため、プログラムの実装ミスが脆弱性に繋がりやすい側面があります。
- 量子コンピュータへの脆弱性: RSA暗号と同様に、将来的に高性能な量子コンピュータが登場すると、この「曲線の迷路」も攻略されてしまうことが理論的に証明されています。
まとめと次章へのステップ
第4章では、数字の分解から「曲線の上のジャンプ」へと暗号の形が進化し、効率性が劇的に向上したことを学びました。しかし、人類が手に入れたこの最強の盾も、次世代の計算機「量子コンピュータ」の前では無力化される危機に瀕しています。
理解を深めるためのステップは以下の通りです。
- 楕円曲線のグラフが左右対称(x 軸対称)であることを確認し、なぜ「反転」という操作が含まれるのか考えてみる。
- 自分のスマートフォンでWebサイトを見る際、どのような暗号(ECDSAなど)が使われているか調べてみる。
- 「回数を当てるのが難しい」という性質が、どのように秘密の合言葉(共通鍵)を作るのに役立つか想像してみる。
第5章:量子コンピュータの脅威と「格子暗号」の登場
第4章までで、現代の通信がいかに高度な数学によって守られているかを見てきました。しかし、現在開発が進められている「量子コンピュータ」の実用化が近づくにつれ、これらの暗号は根本的な危機に直面しています。
ショアのアルゴリズム:暗号を無効化する計算
量子コンピュータは、従来のコンピュータとは情報の持ち方が根本的に異なります。従来の「0か1か」ではなく、量子力学の性質を利用して「0と1が重なり合った状態」で計算を行います。
1994年、数学者のピーター・ショアは、この量子計算を用いることで、巨大な数の素因数分解や楕円曲線の問題を極めて高速に解く方法(ショアのアルゴリズム)を発見しました。
- RSA暗号・楕円曲線暗号: 数兆年かかる計算が、量子コンピュータでは数分から数時間で終わってしまう可能性があります。
- 安全性の崩壊: これまで学んだ「サイクルの発見」を、量子ビットの波の干渉によって一瞬で特定できてしまうのです。
格子暗号:多次元空間のジャングル
量子コンピュータの攻撃を逃れるために、数学者たちは全く新しい「盾」を用意しました。それが「格子暗号(Lattice-based Cryptography)」です。
格子暗号は、1001の倍数判定のような「1次元の数」ではなく、数百、数千という「多次元空間」の中に規則正しく並んだ点の集合(格子)を利用します。
この暗号の安全性の根拠は、「最短ベクトル問題(SVP)」にあります。
- 原点から最も近い格子点を見つけ出すというパズルです。
- 2次元や3次元なら簡単ですが、次元が数千になると、最新の量子アルゴリズムを使っても、最短の点にたどり着くことは不可能に近いほど難しくなります。
ショアのアルゴリズムは「周期(ループ)」を見つけるのは得意ですが、この「多次元のジャングルで一番近い場所を探す」という問題には太刀打ちできません。
メリットとデメリット
格子暗号が「耐量子計算機暗号(PQC)」として選ばれている事実を整理します。
メリット
- 量子耐性: 将来、高性能な量子コンピュータが完成しても、数学的に解読が困難であると予測されています。
- 多機能性: データを暗号化したまま計算できる「完全準同型暗号」など、次世代の高度な機能を実装する基盤となります。
デメリット
- 鍵のサイズ: RSAや楕円曲線暗号に比べて、公開鍵のデータ量が非常に大きくなり、通信の効率に影響を与える場合があります。
- 計算の複雑さ: 高次元の行列演算を行うため、これまでとは異なる最適化技術が必要になります。
まとめと次章へのステップ
第5章では、量子コンピュータという「最強の矛」に対し、多次元の迷路である「格子暗号」という「新たな盾」が用意されていることを学びました。1001の倍数から始まった数字の探求は、いまや物理学と幾何学が交差する最前線に到達しています。
理解を深めるためのステップは以下の通りです。
- 「0でもあり1でもある」という量子の重ね合わせ状態を、回転しているコイン(表とも裏とも言える状態)に例えてイメージしてみる。
- 2次元のグラフに点を打ち、わざと「斜めに長く伸びた使いにくい定規(基底)」だけを使って、特定の点を指し示すのがどれほど難しいか試してみる。
- 米国標準技術研究所(NIST)が、どの格子暗号を標準として採用したのか、その名称(Kyberなど)を調べてみる。
第6章:完全準同型暗号とHTTPSの舞台裏
これまで、素因数分解の壁(RSA)、曲線の迷路(ECC)、そして多次元のジャングル(格子暗号)と、人類が情報を守るために築いてきた数学的障壁を見てきました。最終章では、これらの技術が実際に私たちのスマートフォンの中でどう動いているのか、そして未来のデータ活用をどう変えるのかを解説します。
HTTPSの数秒間に起きている「数学の集大成」
ブラウザでウェブサイトを開くとき、URL欄に表示される「鍵マーク(HTTPS)」の裏側では、わずか数秒の間にこれまでの学習内容がすべて実行されています。
- サーバーの証明(第2章の応用): サーバーが本物であることを、巨大な素数を使ったデジタル署名で確認します。
- 合言葉の作成(第4章の応用): 楕円曲線上の点を使った計算を行い、盗聴者には決して推測できない「共通の鍵(合言葉)」をその場で作ります。
- 未来への守り(第5章の導入): 最近では、将来の量子コンピュータによる解読を防ぐため、このプロセスに「格子暗号」を組み込む試みが始まっています。
このように、1001の倍数を見分けるような「整数の性質」が、何層にも重なって私たちのプライバシーを多重に保護しているのです。
完全準同型暗号:究極のプライバシー保護
さらに未来の技術として、第5章で紹介した「格子暗号」を応用した「完全準同型暗号(FHE)」の研究が進んでいます。これは、データを暗号化したまま(中身を見せないまま)計算処理を行う技術です。
- 従来の処理: クラウドで計算するために、一度データを裸にする必要がありました。
- 完全準同型暗号: データを「金庫(暗号)」に入れたまま、外からマジックハンドで操作して計算結果だけを取り出します。
これにより、個人の医療データや銀行口座の情報を、プライバシーを完全に守った状態でAIに分析させるといった、高度な情報活用が可能になります。
メリットとデメリット
現代と未来の暗号技術が直面している事実を整理します。
メリット
- 信頼の自動化: 私たちが数学を意識しなくても、背後で厳密な論理が動くことで、世界中の誰もが安全に通信できるインフラが整っています。
- 安全なデータ共創: 秘密を明かさずに知見だけを共有できるため、医療や科学の発展に大きく寄与します。
デメリット
- 処理の複雑化: 安全性を高めるほど計算量が増え、通信のわずかな遅延や、消費電力の増大といった課題が生じます。
- 終わりのない追いかけっこ: 量子コンピュータのような新しい計算技術が登場するたびに、人類はさらに複雑な「数学の盾」を作り続けなければなりません。
全体のまとめと学習のステップ
「○の倍数」を見分けるという小さな一歩から始まったこの連載は、人類の知恵が詰まった壮大な暗号の歴史を辿るものでした。数学は単なる計算の道具ではなく、私たちの自由と権利を守るための「論理の鎧」なのです。
学習を締めくくるためのステップを論理的に示します。
- 身近な技術の観察: ブラウザの「セキュリティの詳細」を開き、今日学んだ用語(RSA、ECDHE、AESなど)が実際に使われていることを自分の目で確認する。
- 歴史と未来の接続: 17世紀のフェルマーの発見が、21世紀の量子コンピュータ対策にまで繋がっているという「知識の連鎖」を意識し、ニュースを見る。
- 新しい数学への興味: 「格子暗号」や「多次元空間」といった、目に見えない幾何学が社会を支えているという視点を持ち、数学の奥深さを楽しむ。
数字の不思議に目を向けるとき、そこには常に世界を守るための扉が開いています。
セイ・コンサルティング・グループでは新人エンジニア研修のアシスタント講師を募集しています。
投稿者プロフィール

- 代表取締役
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。
学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。


