No.379 - 高校数学で理解する秘書問題

No.376「高校数学で理解するマッチング問題」に関連する話題を取り上げます。関連といっても "答が同じ数値になる" という意味の関連で、問題の性質は違います。 No.376 では、一般的にマッチング問題(出会いの問題)と言われるものを「席替えの成功確率」という形で提示しました。次のような問題です。 小学校の 40人のクラスで、席替えを "くじ引き" でやるとします。まず、現在の席に 1 ~ 40 の席番号を割り振ります。担任の先生は、1~40 の数字を書いた紙を40枚用意し、その紙を数字が見えないように折って、箱の中に入れてかき混ぜます。生徒は順に箱から紙を1枚ずつ引き、そこに書かれている数字がその子の新しい席となります。 もちろんこのやり方だと、今の自分の席番号の紙を引く子が現れる可能性があります。そして「すべての子が現在の席番号と違う番号を引いたとき、席替えは成功」と定義します。40人のクラスで、席替えが(1回のくじ引きで)成功する確率はどれほどでしょうか。 No.376 ではこの確率がおよそ 0.368 であること、また人数が増えると \(\dfrac{1}{e}=0.3678794411\cdots\) に収束していくことを見ました(\(e\) は自然対数の底=ネイピア数)。席替えが成功する確率はクラスの人数が少なければ低く、クラスの人数が多ければ高いと考えるのが普通でしょう。しかし実際にはクラスの人数にかかわらず(6人以上のクラスであれば)ほぼ 0.…

続きを読む

No.376 - 高校数学で理解するマッチング問題

今まで「高校数学で理解する ・・・・・・」というタイトルの記事をいくつか書きましたが、その続きです。過去の記事は、 No.310-1  高校数学で理解するRSA暗号の数理No.313  高校数学で理解する公開鍵暗号の数理No.315-6  高校数学で理解する楕円曲線暗号の数理No.325  高校数学で理解する誕生日のパラドックスNo.329  高校数学で理解するレジ行列の数理No.354-9  高校数学で理解するガロア理論(1)~(6)No.365-6  高校数学で理解する ChatGPT の仕組みNo.369  高校数学で理解する素数判定の数理No.370  高校数学で理解するガロア理論(7) の、総計 17 の記事です。分類すると、 ① 公開鍵暗号とその関連技術(素数判定) No.310, 311, 313, 315, 316, 369 ② ガロア理論 No.354, 355, 356, 357, 358, 359, 370 ③ 直感に反する確率 No.325, 329 ④ 生成AIの技術(=Transformer) No.365, 366 となります。今回の "マッチング問題" は「③ 直感に反する確率」のジャンルに属するものです。 なお、"高校数学で理解する" というタイトルは、「高校までで習う数学だけを前提知…

続きを読む

No.370 - 高校数学で理解するガロア理論(7)可解性の判定

No.359「高校数学で理解するガロア理論(6)」の補足をここに書きます。No.359 では \(x^5+11x-44=0\) という5次方程式をとりあげ、それが可解であることと(ガロア群は \(D_{10}\))、実際に数式処理ソフトで求めた解を記載しました。しかし、なぜ可解なのか(=四則演算とべき根で表せるのか)、そもそも可解性をどう判断するのには触れませんでした。そこで今回はその補足して、 ・ 一般の5次方程式の可解性をどう判断するのか ・ 5次方程式のガロア群の求め方 を書きます。もちろんこれは、「高校数学で理解するガロア理論」シリーズの一部であり、前に書いた以下の記事の知識を前提とします。 No.354 - 高校数学で理解するガロア理論(1)証明の枠組み No.355 - 高校数学で理解するガロア理論(2)整数の群・多項式・体 No.356 - 高校数学で理解するガロア理論(3)線形空間・群・ガロア群 No.357 - 高校数学で理解するガロア理論(4)可解性の必要条件 No.358 - 高校数学で理解するガロア理論(5)可解性の十分条件 No.359 - 高校数学で理解するガロア理論(6)可解な5次方程式・定理一覧  5次方程式の可解性とガロア群の判定  No.359 で、可解な5次方程式 \(x^5-2=0\) のガロア群が、位数 \(20\) のフロベニウス群 \(F_{20}\) であることを確認し…

続きを読む

No.369 - 高校数学で理解する素数判定の数理

今まで「高校数学で理解する・・・」という記事を何回か書きましたが、その中に暗号についての一連の記事があります。 No.310「高校数学で理解するRSA暗号の数理(1)」 No.311「高校数学で理解するRSA暗号の数理(2)」 No.313「高校数学で理解する公開鍵暗号の数理」 No.315「高校数学で理解する楕円曲線暗号の数理(1)」 No.316「高校数学で理解する楕円曲線暗号の数理(2)」 の5つです。これらは公開鍵暗号と、その中でも代表的な RSA暗号、楕円曲線暗号の数学的背景を書いたものです。情報通信をインフラとする現代社会は、この公開鍵暗号がなくては成り立ちません。"数学の社会応用" の典型的な例と言えるでしょう。 これらの暗号では、10進数で数10桁~数100桁の素数が必要です。ないしは、数10桁~数100桁の数が素数かどうかを判定する必要があります。 たとえば、マイナンバー・カードの認証に使われている RSA暗号の公開鍵は 2048ビットで、1024ビットの素数2つを掛け合わせて個人ごとに作られます。1024ビットということは \(2^{1023}\) ~ \(2^{1024}-1\) の数であり、10進では約300桁の巨大数です。素数を生成する式はないので、作るためには1024ビットの数をランダムに選び、それが素数かどうかを実用的な時間で判定する必要があります。 ビットコインのデジタル署名で使われているのは、256ビットの楕円曲線暗号です。こ…

続きを読む

No.366 - 高校数学で理解する ChatGPT の仕組み(2)

(前回より続く) この記事は、No.365「高校数学で理解する ChatGPT の仕組み(1)」の続きです。記号の使い方、用語の定義、ニューラル・ネットワークの基本事項、単語の分散表現などは、前回の内容を踏まえています。 3.Transformer  Attention Is All You Need  Google社は、2017年に "Attention Is All You Need" という論文(以下、"論文" と記述)を発表し、"Transformer" という画期的な技術を提案しました。Transformer は機械翻訳で当時の世界最高性能を発揮し、これが OpenAI 社の GPT シリーズや ChatGPT につながりました。 Attention(アテンション)とは "注意" という意味で、Transformer に取り入れられている "注意機構"(Attetion mechanism)を指します。"Attention Is All You Need" を直訳すると、  「必要なのはアテンションだけ」 ですが、少々意訳すると、  「アテンションこそがすべて」 となるでしょう(蛇足ですが、ビートルズの "All You Need Is Love" を連想させる論文タイトルです)。 Transformer を訳すと "変換器" ですが、その名の通り「系列 A から系列 B への変換」を行います。系列 A = 日本語、…

続きを読む

No.365 - 高校数学で理解する ChatGPT の仕組み(1)

前回の No.364「言語の本質」の補足で紹介した新聞記事で、慶応義塾大学の今井教授は、 ChatGPT の「仕組み」(=注意機構)と「メタ学習」は、幼児が言語を学習するプロセスと類似している と指摘していました。メタ学習とは「学習のしかたを学習する」ことですが、 ChatGPT がそれをできる理由も「注意機構(Attention mechanism)」にあります。そこで今回は、その気になる ChatGPT の仕組みをまとめます。 今まで「高校数学で理解する ・・・・・・」というタイトルの記事をいくつか書きました。 No.310-1  高校数学で理解するRSA暗号の数理No.313  高校数学で理解する公開鍵暗号の数理No.315-6  高校数学で理解する楕円曲線暗号の数理No.325  高校数学で理解する誕生日のパラドックスNo.329  高校数学で理解するレジ行列の数理No.354-9  高校数学で理解するガロア理論 の 13 の記事です。"高校数学で理解する" という言い方は、「高校までで習う数学だけを前提知識として説明する」という意味ですが、今回もそれに習います。もちろん、文部科学省の学習指導要領は年々変わるので、"おおよそ高校までの数学" が正しいでしょう。今回、前提とする知識は、 ・ 行列 ・ ベクトル ・ 指数関数、対数 ・ 微分、積分 ・ …

続きを読む

No.359 - 高校数学で理解するガロア理論(6)

(前回から続く)(目次)7.可解性の十分条件(続き)  7.8 可解な5次方程式  大多数の5次方程式のガロア群は、対称群 \(S_5\) か 交代群 \(A_5\) であり、従って可解ではありません(65G)。しかし特別な形の5次方程式は可解です。 \(x^5-2=0\) の根 その可解な5次方程式として \(x^5-2=0\) を取り上げ、ガロア群を分析します。この方程式の根がべき根で表現できること(=可解)はあたりまえだし、こんな "単純な" 方程式のガロア群を分析することに意味があるのかどうか、疑ってしまいます。 しかし、\(x^5-2=0\) のガロア群は可解な5次方程式のガロア群としては最も複雑なのです。方程式の "見た目の" 単純・複雑さと、ガロア群の単純・複雑さはリンクしません。以下で \(x^5-2\) のガロア群を計算します。  \(x^5-2\) のガロア群  \(1\) の原始\(5\)乗根の一つを \(\zeta\) とします。\(x^5-1=0\) は、  \((x-1)(x^4+x^3+x^2+x+1)=0\) と因数分解できるので、\(\zeta\) は、  \(x^4+x^3+x^2+x+1=0\) の根です。7.1節で計算したように、たとえば、  \(\zeta=\dfrac{1}{4}(-1+\sqrt{5}+i\sqrt{10+2\sqrt{5}})\) です。また、 …

続きを読む

No.358 - 高校数学で理解するガロア理論(5)

(前回から続く)(目次)7.可解性の十分条件 第6章では、方程式が可解であれば(=解が四則演算とべき根で表現できれば)ガロア群が可解群であることをみました。第7章ではその逆、つまり、ガロア群が可解群であれば方程式が可解であることを証明します。  7.1 1の原始\(n\)乗根  可解性の十分条件を証明するために、まず、\(1\) の原始\(n\)乗根がべき根で表せることを証明します。このことを前提にした証明を最後で行うからです。念のために「1.1 方程式とその可解性」でのべき根の定義を振り返ると、  \(\sqrt[n]{\:a\:}\) (\(n=2\) の場合は \(\sqrt{\:a\:}\)) という表記は、 ・ \(a\) が正の実数のとき、\(n\)乗して \(a\) になる正の実数を表わす ・ \(a\) が負の実数や複素数の場合は、\(n\)乗して \(a\) になる数のどれかを表わす のでした。\(\sqrt{2}\) は \(1.4142\cdots\) と \(-1.4142\cdots\) のどちらかを表わすのではなく、\(1.4142\cdots\) のことです。\(\sqrt[3]{2}\) は \(3\)乗して \(2\) になる3つの数のうちの正の実数(\(\fallingdotseq1.26\))を表わします。一方、\(\sqrt{-1\:}\) は\(2\)乗して \(-1\…

続きを読む

No.357 - 高校数学で理解するガロア理論(4)

(前回から続く)(目次)6.可解性の必要条件  6.1 可解群  正規部分群の概念、および剰余群と巡回群を使って「可解群」を定義します。可解群は純粋に群の性質として定義できますが、方程式の可解性と結びつきます。 (可解群の定義:61A) 群 \(G\) から 単位元 \(e\) に至る部分群の列、 \(G=\)\(H_0\:\supset H_1\supset\cdots\supset H_i\)\(\supset H_{i+1}\)\(\supset\cdots\supset H_k=\{\:e\:\}\) があって、\(H_{i+1}\) は \(H_i\) の正規部分群であり、剰余群 \(H_i/H_{i+1}\) が巡回群であるとき、\(G\) を可解群(solvable group)と言う。 \(H_{i+1}\) が \(H_i\) の正規部分群であるとき、\(H_i\) を正規列と言う。加えて、\(H_i/H_{i+1}\) が巡回群のとき、\(H_i\) を可解列という。 (巡回群は可解群:61B) 巡回群は可解群である。また、巡回群の直積も可解群である。 [証明] 群 \(G\) を巡回群とし、\(G\) から 単位元 \(e\) に至る部分群の列として、  \(G=H_0\:\supset\:H_1=\{\:e\:\}\) をとる。\(H_1=\{\:e\:\}\) は \(H_0=G…

続きを読む

No.356 - 高校数学で理解するガロア理論(3)

(前回から続く)(目次)3.多項式と体(続き)  3.3 線形空間  ガロア理論の一つの柱は、代数拡大体を線形空間(ベクトル空間)としてとらえることで、線形空間の「次元」や「基底」を使って理論が組み立てられています。線形空間には精緻な理論体系がありますが、ここではガロア理論に必要な事項の説明をします。  線形空間の定義  (線形空間の定義:33A) 集合 \(V\) と 体 \(\boldsymbol{K}\) が次を満たすとき、\(V\) を \(\boldsymbol{\boldsymbol{K}}\) 上の線形空間(=ベクトル空間。linear space / vector space)と言う。 加算の定義 \(V\) の任意の元 \(\textbf{u},\:\textbf{v}\) に対して \((\textbf{u}+\textbf{v})\in V\) が定義されていて、この加算(\(+)\) の定義に関して \(V\) は可換群である。すなわち、 \((1)\) 単位元の存在 \(\textbf{u}+\textbf{x}=\textbf{x}\) となる \(\textbf{x}\) が存在する。これを \(0\) と書く。 \((2)\) 逆元の存在 \(\textbf{u}+\textbf{x}=0\) となる \(\textbf{x}\) が存在する。これを \(-\textbf{u}…

続きを読む

No.355 - 高校数学で理解するガロア理論(2)

(前回から続く)(目次)2.整数の群 「2.整数の群」「3.多項式と体」「4.一般の群」の3つの章は、第5章以下のガロア理論の核心に入るための準備です。 第2章の目的は2つあり、一つは整数を素材にして「群」と、それに関連した「剰余類」「剰余群」「既約剰余類」など、ガロア理論の理解に必要な概念を説明することです。 もう一つは、第2章の最後にある「既約剰余類群は巡回群の直積と同型である」という定理を証明することです。この定理はガロア理論の最終段階(6.可解性の必要条件)で必要なピースになります。 まず、"整数の群" に入る前に、整数論の基礎ともいえる「ユークリッドの互除法」「不定方程式」「法による演算」「中国剰余定理」から始めます。これらは後の定理の証明にしばしば使います。  2.1 整数   ユークリッドの互除法  (互除法の原理:21A) 自然数 \(a\) と \(b\) の最大公約数を \(\mathrm{gcd}(a,\:b)\) で表す。自然数 \(a\) を \(b\) で割った余りを \(r\) とすると、  \(\mathrm{gcd}(a,\:b)=\mathrm{gcd}(b,\:r)\) である。 [証明] 記述を簡略化するため、最大公約数を、  \(\mathrm{gcd}(a,\:b)=x\)  \(\mathrm{gcd}(b,\:r)=y\) で表す。\(a…

続きを読む

No.354 - 高校数学で理解するガロア理論(1)

今までに「高校数学で理解する ・・・・・・」と題した記事を何回か書きました。 No.310 - 高校数学で理解するRSA暗号の数理(1)No.311 - 高校数学で理解するRSA暗号の数理(2)No.313 - 高校数学で理解する公開鍵暗号の数理No.315 - 高校数学で理解する楕円曲線暗号の数理(1)No.316 - 高校数学で理解する楕円曲線暗号の数理(2)No.325 - 高校数学で理解する誕生日のパラドックスNo.329 - 高校数学で理解するレジ行列の数理 の7つの記事です。「高校数学で理解する」という言葉の意味は、「高校までで習う数学の知識をベースに説明する」ということです。今回はそのシリーズの続編で、ガロア理論をテーマにします。その第1回目です。 ここで言う「ガロア理論」とは、 方程式の解が四則演算記号と \(n\)乗根の記号(\(\sqrt[n]{a}\))で表現できる(=方程式が "解ける")ための必要十分条件を示す理論 とし、その範囲に限定します。これが、そもそもの理論の発端であり、19世紀に夭折したフランスの数学者、ガロアが数学史に残した功績でした。 例によって、前提知識は高校までで習う数学に限定し、そこに含まれない定理は全部証明することにします。ただし、複素数と複素平面の知識は前提とします。また集合論の記号(\(\in\:\:\subset\:\:\supset\:\:\cup\:\:\cap\) など)を適時使います。さらに「すべての…

続きを読む

No.347 - 少なくともひとりは火曜日生まれの女の子

No.149「我々は直感に裏切られる」と No.325「高校数学で理解する誕生日のパラドックス」でとりあげた「誕生日のパラドックス」から話を始めます。 有名な「誕生日のパラドックス」は「バースデー・パラドックス」とも言われ、 23人のクラスで同じ誕生日のペアがいる確率は 0.5 を超える というものです。これは正確に言うとパラドックスではなく "疑似パラドックス" です。パラドックスとは「一見すると妥当そうに思える推論から、受け入れがたい結論が導かれること」ですが、疑似パラドックスは「数学的には全く正しいが、人間の直感に反するように感じられる結論」です。 この "疑似パラドックス" が成り立つ理由を一般化して言うと、「確率が直感に反することが多々ある」でしょう。さらにもっと一般化すると「確率は難しい」ということだと思います。裏から言うと「誤った確率の使い方は人を誤解に導く」ともなるでしょう。誤っていることが往々にして分からないからです。 イアン・ステュアート 「不確実性を飼いならす」 (白揚社 2021) 我々は「コインを投げたとき、表が出る確率は 1/2」とか「サイコロを振ったとき 1の目が出る確率は 1/6」のように、"確率を理解している" と思っているかもしれません。「2つのサイコロを振ったとき、2つとも 1 の目が出る確率は 1/36」もよいでしょう。しかし、我々が常識の範囲で理解できるのは、せいぜいこのあたりまでで、ちょっと込み入ってくると手に負えなく…

続きを読む

No.329 - 高校数学で理解するレジ行列の数理

No.149「我々は直感に裏切られる」で、数字に関して我々の直感が事実に反する例や、正しい直感が働かない例を書きました。その中の "誕生日のパラドックス"(= 23人のクラスで誕生日が同じ人がいる確率は 50% を超える)については、No.325「高校数学で理解する誕生日のパラドックス」でその数学的背景を書きました。今回もそういった直感が外れる例で、スーパーのレジや各種窓口の「待ち行列」を取り上げます。 No.325 以外にも「高校数学で理解する」とのタイトルの記事がいくつかあります。 No.310-311 高校数学で理解するRSA暗号の数理 No.313 高校数学で理解する公開鍵暗号の数理 No.315-316 高校数学で理解する楕円曲線暗号の数理 です。これらの記事は、高等学校までの数学だけを予備知識として、現代の IT 社会の重要なインフラとなっている公開鍵暗号を解説したものでした。高校までに習わない公式や用語を使うときには、その公式の証明(ないしは用語の説明)を記しています。今回もその方針でやります。  レジ行列の観察  ある比較的小規模のスーパー・マーケットを例にとります(仮想の例です)。この店の店長は店舗運営の改善に熱心です。店長は「ある曜日のある時間帯」のレジを何回も観察して、次のような結果を得ました。 ◆ この時間帯には2台のレジを稼働させていて、1台のレジに並び始める客は1時間…

続きを読む

No.325 - 高校数学で理解する誕生日のパラドックス

「高校数学で理解する・・・」というタイトルで、今まで5つの記事書きました。 No.310-311 高校数学で理解するRSA暗号の数理 No.313 高校数学で理解する公開鍵暗号の数理 No.315-316 高校数学で理解する楕円曲線暗号の数理 ですが、いずれも現代のインターネット社会における情報通信の基礎となっている "公開鍵暗号" の数理を、高校レベルの数学だけを前提知識として述べたものでした。 今回はその「高校数学で理解する\(\cdot\cdot\cdot\)」の続きですが、公開鍵暗号よりは断然軽い話題で、No.149「我々は直感に裏切られる」でとりあげた「誕生日のパラドックス」をもう一度、考察します。No.149 では「バースデー\(\cdot\)パラドックス」と書いたもので、よく知られた話です。  誕生日のパラドックス  誕生日のパラドックスとは、 誕生日のパラドックス 23人のクラスで誕生日が同じ人がいる確率は 0.5 を越える というものです。一瞬、えっ! と思ってしまいますが、数学的には全く正しい。普通、パラドックスと言うと「絶対に不可能なことが可能なように思えてしまう」ないしは、「あり得ないことがあり得るように見えてしまう」ことを言いますが、この誕生日のパラドックスはそれとは違う「疑似パラドックス」です。つまり、 疑似パラドックス = 直感に反するが、数…

続きを読む

No.316 - 高校数学で理解する楕円曲線暗号の数理(2)

(前回の No.315 より続く) 16. 楕円曲線上の点  有限体 \(\boldsymbol{F}_p\) の元 \(x\) と \(y\) のぺア \((x,\:y)\) の集合を \(\boldsymbol{F}_p^{\:2}\) と記述します。集合 \(\boldsymbol{F}_p^{\:2}\) の元で楕円曲線上の "点" はどれだけあるでしょうか。まず、楕円曲線の式を満たす \(\boldsymbol{F}_p^{\:2}\) の元がどのように計算できるかを調べます。  平方数と平方根  楕円曲線の式を、 \(\left\{ \begin{array}{l} \begin{eqnarray} &&y^2=z&\\ &&z=x^3+ax+b&\\ \end{eqnarray} \end{array}\right.\) と書くとき、\(z\)(\(z\neq0\))が \(\boldsymbol{F}_p\) での平方数なら、\(y\) の解が2つ求まります。ここで、次の命題が成立します。 16.1 平方数である条件\(z\) を \(0\) ではない \(\boldsymbol{F}_p\) の元とする。\(z^{\frac{p-1}{2}}=1\)であるとき(かつ、そのときに限り)\(z\) は平方数である(= オイラーの規準)。 \(\boldsymbol{F}_p\) で考えているので「平…

続きを読む

No.315 - 高校数学で理解する楕円曲線暗号の数理(1)

このブログでは、インターネットをはじめとする情報通信インフラで使われている「公開鍵暗号」について、今まで3回にわたって書きました。 No.310-高校数学で理解するRSA暗号の数理(1)  No.311-高校数学で理解するRSA暗号の数理(2)  No.313-高校数学で理解する公開鍵暗号の数理 の3つです。今回はその継続として、公開鍵暗号の一種で広く使われている「楕円曲線暗号」について、その数学的な背景を書きます。楕円曲線暗号は、1985年に米国 IBM の Victor Miller と米国 Washington 大学の Neal Koblitz によって独立に提案されました。暗号に限らず科学技術の世界では、同時期に同じアイディアが独立に考案されるというケースが見られます。 例によって高校レベルの数学知識だけを前提にし、証明なしに用いる定理や命題はないものとします。ただし、No.310、No.311、No.313 の内容やそこで証明した定理は既知とします。特にその中の、 有限体と乗法群  生成元、および離散対数 です。なお、楕円曲線(Elliptic Curve)は、2次曲線である楕円(Ellipse)とは関係ありません。楕円の弧長を積分で求める時に出てくる数式なのでその名があるだけです。暗号の名を楕円暗号とするむきもありますが、誤解されるでしょう。楕円曲線暗号(Elliptic Curve Cryptography)が正しい言い方です。  …

続きを読む

No.313 - 高校数学で理解する公開鍵暗号の数理

No.310-311「高校数学で理解するRSA暗号の数理」の続きです。公開鍵暗号の "老舗しにせ" である RSA暗号は、1978年に MIT の研究者であったリベスト(米)、シャミア(イスラエル)、エーデルマン(米)の3人によって発明されました(RSAは3人の頭文字)。3人はこの功績によって2002年のチューリング賞を受賞しました。チューリング賞は計算機科学分野の国際学会である ACM(Association of Computing Machinary)が毎年授与している賞で、この分野では最高の栄誉とされているものです。 しかし公開鍵暗号そのもののアイデアを最初に提示したのは、スタンフォード大学の研究者だったディフィー(米)とヘルマン(米)で、1976年のことでした。2人も 2015年にチューリング賞を受賞しています。この「鍵を公開する」という、画期的というか逆転の発想である公開鍵暗号の登場以降、暗号の研究は一変してしまいました。そして RSA暗号のみならず各種の公開鍵暗号が開発され、現代のインターネットの基盤になっています。たとえばインターネットのWebサーバへのアクセス(閲覧やフォーム入力など)で使われる SSL/TSL という暗号化通信(https:// のサイトで使われる)は、まさに公開鍵方式を使っています。 今回はその公開鍵暗号を "発明した" ディフィーとヘルマンに敬意を表して、彼らが発表した「鍵共有システム」の内容と、その数学的背景を書いてみたいと思います。また、それ…

続きを読む

No.311 - 高校数学で理解するRSA暗号の数理(2)

(前回から続く) 4. RSA暗号の証明  4.1 RSA暗号RSA暗号の公開鍵・秘密鍵の作成方法と暗号化・復号化の計算式を定理として記述すると次の通りです。\(p\) と \(q\) を相異なる素数とし、\(n=pq\) とする。\(e\) を \(m=(p-1)(q-1)\) と素な数、\(d\) を、\(de\equiv1\:(\mathrm{mod}\:m)\) を満たす数とする。この前提で、暗号化:\(P^e\equiv C\:(\mathrm{mod}\:n)\) ならば復号化:\(C^d\equiv P\:(\mathrm{mod}\:n)\) である。( \(P\):平文。\(C\):暗号文 ) RSA暗号において、暗号化・復号化に必要なのは公開鍵の \((e,\:n)\) と 秘密鍵の \(d\) であり、それらを生成するのに使った \(p\) と \(q\) は不要です。というより、\(p\) と \(q\) ないしは \((p-1)(q-1)\) が漏れると暗号が破られてしまうので、これらの数は鍵を生成した後は破棄(情報を安全に抹消)する必要があります。 以下に、上の「復号化の式」が成り立つことを証明します。まず合同式の累乗 1.2 を使って「暗号化の式」の両辺を \(d\) 乗すると、 \(C^d\equiv P^{de}\:(\mathrm{mod}\:pq)\) \(\cdots\:(1)\) となります。ここで、\(d…

続きを読む

No.310 - 高校数学で理解するRSA暗号の数理(1)

No.235「三角関数を学ぶ理由」では、私たちが学校で勉強を学ぶ目的の一つが「論理的に考える力を養う」こととし、その典型例として数学をとりあげました。数学は「論理のみで成り立っている」からです。そのことを改めて示すために \(\mathrm{sin}\:\theta\) の微分が \(\mathrm{cos}\:\theta\) になることを、三角関数のそもそもの定義に立ち返って証明しました。 今回はその継続・発展で、別の数学の問題を取り上げます。現代社会で広く使われている公開鍵暗号(その中の RSA暗号)です。これを取り上げる理由 は、 ◆  2000年にわたる数学(数論 = 整数論)の基礎の上に作られた暗号である。 ◆  インターネットの重要技術の一つであり、現代社会のインフラとなっている。 ◆  高校生程度の前提知識があれば、論理的思考を積み重ねることで十分に理解できる(= タイトルの「高校数学で理解する」の意味)。 の3点です。以下の文章は元々別の目的のために作ったものですが、ここに掲載することにします。  公開鍵暗号  公開鍵暗号とは、 ◆  暗号化の手順と、そこで使用する暗号化のための "鍵" が公開されている(その鍵が "公開鍵")。 ◆  暗号文を解読するための手順も公開されているが、それに使う "鍵" は秘匿されている(その鍵が "秘密鍵")。 というタイプの…

続きを読む