markdown
合同式と mod 演算の基本md ee7ee19
lecture/math/abstract-algebra/合同式とmod演算の基本-講義.n.md
Download as PDF

合同式ごうどうしきと mod 演算えんざん基本きほん

date2026-03-28description合同式とmod演算を剰余類の上での演算として正当化し、演算の可換性・逆元の条件・フェルマーの小定理・冪乗の計算法を整理する。prerequisites整数の性質の基本 / 同値関係と剰余類の基本type講義statusactiverelateddata/lecture/math/abstract-algebra/抽象代数ポータル-講義.n.md / data/lecture/math/number-theory/整数論ポータル-講義.n.md / data/lecture/math/abstract-algebra/同値関係と剰余類の基本-講義.n.md / data/lecture/math/abstract-algebra/群の基本-講義.n.md / data/lecture/math/abstract-algebra/環の基本-講義.n.md / data/lecture/math/number-theory/中国剰余定理-講義.n.md
mathabstract-algebranumber-theoryhighschoolundergraduatelecture

導入どうにゅう

この講義こうぎ核心かくしんは、ab[PARSE ERROR: Undefined("Command(\"pmod\")")]n とは「あまりがおなじ」の略記りゃっきではなく、「Z/nZ という代数系だいすうけいなかおなげんである」という主張しゅちょうであることだ。

あまりで計算けいさんできる理由りゆうは「直感的ちょっかんてきただしそう」だからではない。代表元だいひょうげんえらかたによらず演算えんざん定義ていぎできる(整合性せいごうせい保証ほしょうされる)という証明しょうめいによって正当化せいとうかされる。

用語ようご定義ていぎ

合同式ごうどうしきModular congruence

ab[PARSE ERROR: Undefined("Command(\"pmod\")")]nn(a-b)

合同式ごうどうしきModular congruenceという。

合同ごうどう」の命名めいめい幾何学きかがくの「合同ごうどう」(かたち一致いっち)から類比るいひ。n をほう(modulus)としてみると位置いちおなじ、という感覚かんかく英語えいご congruence一致いっち合同ごうどう)はガウスが著書ちょしょ数論すうろん探究たんきゅう」(1801 ねん)で導入どうにゅう

剰余類じょうよるいResidue class

[a]n={a+knkZ}aおなあまりを整数せいすう集合しゅうごう)を a剰余類じょうよるいResidue classという。Z/nZ={[0],[1],,[n-1]}n 剰余類じょうよるいからなる。

方針ほうしん

  1. 合同式ごうどうしき定義ていぎあまりとむすびつける
  2. ざんざん代表元だいひょうげん依存いぞんしないことを証明しょうめい演算えんざん整合性せいごうせい
  3. 逆元ぎゃくげん存在そんざい条件じょうけん特定とくていする
  4. フェルマーの小定理しょうていり冪乗べきじょう計算けいさん高速化こうそくかする

厳密げんみつ説明せつめい

1. あまりと合同式ごうどうしき等価性とうかせい

a=q1n+r, b=q2n+rおなあまr)のとき a-b=(q1-q2)n なので n(a-b)ぎゃくn(a-b) なら abじょあまりは一致いっちする。

2. 演算えんざん整合性せいごうせい最重要さいじゅうよう証明しょうめい

aa[PARSE ERROR: Undefined("Command(\"pmod\")")]n, bb[PARSE ERROR: Undefined("Command(\"pmod\")")]n のとき:

(a+b)-(a+b)=(a-a)+(b-b) はともに n倍数ばいすうなので n倍数ばいすう

せきab-ab=a(b-b)+b(a-a) はともに n倍数ばいすうふくむので n倍数ばいすう

したがって代表元だいひょうげんえても演算えんざん結果けっか剰余類じょうよるいわらない—これが「mod 演算えんざん定義ていぎできる」ことの証明しょうめいである。

3. Z/nZ構造こうぞう

n性質せいしつZ/nZ構造こうぞうざん可否かひ
n素数そすう pたい有限体ゆうげんたい Fp0 以外いがいつね可能かのう
n=pk素数そすうべき局所環きょくしょかんp倍数ばいすうでなければ可能かのう
n合成数ごうせいすうかんたいでない)[PARSE ERROR: Undefined("Command(\"gcd\")")](a,n)=1 のときのみ可能かのう

4. 逆元ぎゃくげん条件じょうけん

ax1[PARSE ERROR: Undefined("Command(\"pmod\")")]n/][/][PARSE ERROR: Undefined("RBrace")][PARSE ERROR: Undefined("Command(\"gcd\")")](a,n)=1

ユークリッド互除法ごじょほう[PARSE ERROR: Undefined("Command(\"gcd\")")](a,n)=1 のとき ax+ny=1整数解せいすうかい (x0,y0)られ、xx0[PARSE ERROR: Undefined("Command(\"pmod\")")]n逆元ぎゃくげんである。

れい3x1[PARSE ERROR: Undefined("Command(\"pmod\")")]7[PARSE ERROR: Undefined("Command(\"gcd\")")](3,7)=1 なので存在そんざい3×5=15=2×7+1 より x5[PARSE ERROR: Undefined("Command(\"pmod\")")]7

5. フェルマーの小定理しょうていり

p素数そすう[PARSE ERROR: Undefined("Command(\"gcd\")")](a,p)=1 のとき:

ap-11[PARSE ERROR: Undefined("Command(\"pmod\")")]p

証明しょうめい概略がいりゃく{a,2a,3a,,(p-1)a}[PARSE ERROR: Undefined("Command(\"pmod\")")]p{1,2,,p-1}順列じゅんれつである([PARSE ERROR: Undefined("Command(\"gcd\")")](a,p)=1 のためぜろあらわれない・重複ちょうふくしない)。両辺りょうへんせき比較ひかくすると

ap-1(p-1)!(p-1)![PARSE ERROR: Undefined("Command(\"pmod\")")]p

(p-1)!pたがいになので両辺りょうへんって ap-11

応用おうよう2100[PARSE ERROR: Undefined("Command(\"pmod\")")]7計算けいさんp=7 なので 261[PARSE ERROR: Undefined("Command(\"pmod\")")]7100=6×16+4 より 2100=(26)16·24116·162[PARSE ERROR: Undefined("Command(\"pmod\")")]7

6. 冪乗べきじょう高速こうそく計算けいさん反復二乗法はんぷくにじょうほう

an[PARSE ERROR: Undefined("Command(\"bmod\")")]m計算けいさん

  1. n を 2 進数しんすう展開てんかい: n=kbk2k
  2. a1,a2,a4,a8,順次じゅんじ mod m計算けいさん
  3. bk=1成分せいぶんわせる

フェルマーの小定理しょうていり指数しすうp-1削減さくげんしてから反復二乗法はんぷくにじょうほう使つかうと、RSA暗号あんごう基礎きそ演算えんざん到達とうたつする。

7. 連立合同式れんりつごうどうしき

ほうたがいに連立れんりつ合同ごうどう条件じょうけん中国ちゅうごく剰余定理じょうよていり(CRT)で一意いちいける。

data/lecture/math/number-theory/中国剰余定理-講義.n.md

見分みわかた

  • あまりだけが重要じゅうよう整数問題せいすうもんだい合同式ごうどうしき移行いこう
  • ざんた → [PARSE ERROR: Undefined("Command(\"gcd\")")](a,n)=1確認かくにんさき
  • おおきな冪乗べきじょう an[PARSE ERROR: Undefined("Command(\"bmod\")")]p → フェルマーの小定理しょうていり指数しすう削減さくげん
  • 複数ふくすうあま条件じょうけん → CRT

どこまでつか

mod 演算えんざん感覚かんかく多項式たこうしき行列ぎょうれつにもひろがるが、なにおなじとみなすかをあらためて定義ていぎする必要ひつようがある。フェルマーの小定理しょうていり素数そすう限定げんていであり、一般いっぱんnたいするオイラーの定理ていり aϕ(n)1[PARSE ERROR: Undefined("Command(\"pmod\")")]n[PARSE ERROR: Undefined("Command(\"gcd\")")](a,n)=1)へ拡張かくちょうされる。

最終形さいしゅうけい

[PARSE ERROR: Undefined("Command(\"boxed\")")]ab[PARSE ERROR: Undefined("Command(\"pmod\")")]nn(a-b)
[PARSE ERROR: Undefined("Command(\"boxed\")")]ax1[PARSE ERROR: Undefined("Command(\"pmod\")")]n/][/][PARSE ERROR: Undefined("Command(\"gcd\")")](a,n)=1[PARSE ERROR: Undefined("RBrace")]
[PARSE ERROR: Undefined("Command(\"boxed\")")]ap-11[PARSE ERROR: Undefined("Command(\"pmod\")")]p(フェルマーの/],p/][PARSE ERROR: Undefined("RBrace")],[PARSE ERROR: Undefined("Command(\"gcd\")")](a,p)=1)[PARSE ERROR: Undefined("RBrace")]

一言ひとことでいうと

mod 演算えんざんただしいのは直感ちょっかんだからでなく剰余類じょうよるい演算えんざん整合的せいごうてき定義ていぎできるからであり、フェルマーの小定理しょうていりはそのたい構造こうぞう最強さいきょう計算けいさんツール—現代げんだい暗号あんごう根幹こんかんいたる。

関連かんれんリンク

data/lecture/math/abstract-algebra/同値関係と剰余類の基本-講義.n.md data/lecture/math/algebra/ユークリッドの互除法と一次不定方程式-講義.n.md data/lecture/math/abstract-algebra/群の基本-講義.n.md data/lecture/math/abstract-algebra/環の基本-講義.n.md
raw .n.md をコピー
loc をコピー (filepath:line ~ line)
copy share link
path をコピー
copy share link
copy share link
タブを全て閉じる