初等整数論/原始根と指数

提供: testwiki
2025年3月11日 (火) 09:47時点における~2025-30072 (トーク)による版 (原始根)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

テンプレート:Nav

原始根

フェルマーの小定理によると、素数 p とそれに互いに素な数 a について、ap11(modp) だった。

また位数の法則によれば、位数は p1 の約数だった。そこで、位数が p1 になる数 a を、「p (を法として)の原始根」という。

例えば、231(mod7) なので、2 は 7 の原始根ではない。

313,322,336(mod7) なので、3 は 7 を法としての原始根である。(位数の法則より位数の可能性のあるものは 7-1 = 6 の約数、1, 2, 3, 6)


さて、原始根が存在することを証明しなければならない。ap で割り切れない任意の数とする。a の位数を e とおく。すなわち、a0,a1,a2,,ae1≢1(modp)(1) である。

位数に関する命題より合同方程式 Xe1(modp)(2) の解は a01,a1,a2,,ae1 で尽くされる。

さて、e=p1 ならば証明は終了する。また位数の法則によって、ep1 だから、e<p1 であったとしよう。そうすると、p で割ったときの余りは p 種類なのだから、(1) のどれとも合同でない数 b が存在する。また、特にこのとき、e<p1 なので、p で割り切れないような b が取ってこれる。もちろん b は定め方から (2) の解とはなり得ない。したがって、位数を f とおいて、bf1(modp) とすると、 fe の約数たりえない。もちろん、f>1 である。

ここで、次のようにして ab の位数は a の位数より大きいことが示される。

(i) (e,f)=1 のとき

(ab)x1(modp) とすれば、

(ab)ex1 より bex(ae)x(bex)(ab)ex1(modp) となる。したがって、位数の法則によって f|ex となる。(e,f)=1 だから、定理 1.6 によって f|x となる。同様にして、(ab)xf1 より、xe の倍数、したがって xe,f の公倍数となり、(e,f)=1 だから、xef の倍数であるが、x=ef のとき、

(ab)ef=aefbef=(ae)f(bf)e1(modp)

したがって ab の位数は ef>e (f>1) となり、位数がより大きい数を見つけることが出来た。

(ii) gcd(e,f)=d>1 のとき

lcm(e,f)=l とおくと、定理 1.5 より、dl=efl=efd=ef とおいて、e|e,f|f,(e,f)=1 とすることができる。 (※1)

aee,bff の位数はそれぞれ、定理 2.2.3 より egcd(ee,e)=e,fgcd(ff,f)=f である。(※2)

したがって、(ee,ff)=1 であることから、(i) より aeebff の位数は ef=l=lcm(e,f) となる。

先に述べたように ef の倍数ではないから ab の位数は l>e となり、やはり a の位数より大きい。

(i), (ii) より、位数が大きい数を生成することが出来た。これを繰り返していけば、アルキメデスの公理から位数が p1 となる数、すなわち原始根が必ずみつかることが証明され、よって原始根の存在も証明された。


注釈

(※1)について :

それぞれを全ての素数による素因数分解をした形、e=p0a0p1a1,f=q0b0q1b1 を考える。(因数に含まれない素数は指数を 0 にする)

これらの全ての素因数のうち、指数の大きい方をどちらにあるかにしたがって e,f に分配する。指数が同じならどちらでも構わない。このように分配すれば条件を満たす e,f を構成できる。

(※2)について :

e=eE,f=fF とおくと、ee=E,ff=F となり、

egcd(ee,e)=egcd(E,eE)=eE=e

fgcd(ff,f)=fgcd(F,fF)=fF=f

(ee,ff)=(e,f)=1

41 の原始根を求めてみる。

まずは、2 の位数を求めると、10 であることが計算すれば分かる(このとき位数の法則より、41-1 = 40 の約数のみを調べれば良い)。

22=4,23=8,24=16,25=32,2623,275,2810,2920,21040 となり、3 は右辺に出てこない。3 の位数を求めると、8 であることが分かる。

ところで、2205=24 の位数は 5 である。(24,3)=1 なので上記の証明の (i) の場合に対応する。したがって、243=487 の位数は 58=40 である。すなわち原始根が見つかったのである。


41 までの素数を法とする原始根は次のとおりである。

素数 p を法とする原始根
p 原始根
3 2
5 2, 3
7 3, 5
11 2, 6, 7, 8
13 2, 6, 7, 11
17 3, 5, 6, 7, 10, 11, 12, 14
19 2, 3, 10, 13, 14, 15
23 5, 7, 10, 11, 14, 15, 17, 19, 20, 21
29 2, 3, 8, 10, 11, 14, 15, 18, 19, 21, 26, 27
31 3, 11, 12, 13, 17, 21, 22, 24
37 2, 5, 13, 15, 17, 18, 19, 20, 22, 24, 32, 35
41 6, 7, 11, 12, 13, 15, 17, 19, 22, 24, 26, 28, 29, 30, 34, 35

43 を法とする原始根を求めよ。

41 のように、最小原始根が素数ではない場合もある。

このように、与えられた法に対して原始根が存在することは初等的に示される。しかし、逆に与えられた数を原始根に持つ法が存在するか否かは明らかではない。累乗数が原始根たりえないことは明らかだが、それ以外の数については明らかではない。たとえば、累乗数ではない、どのような数についても、それを原始根に持つ法が無数に存在するか否かは未だに解決されていない。


定理 2.3.1

素数 p を法としての原始根の1つを r とおく。{1,r,r2,,rp2} は剰余系である。また、どれも p と互いに素である(既約剰余系である)。特に ap と互いに素な数であるとき arl(modp) となる整数 l(0lp2) が1つ定まる。

原始根の存在証明の中で、すでにどれも互いに不合同であることは証明されている。また法は素数であることから、これらはどれも p と互いに素で、剰余系をなす。

フェルマーの小定理と併せて、上記の l に対し ark(modp)kl(modp1) となることがわかる。


定理 2.3.2

ap と互いに素な数とする。素数 p を法としての原始根の1つを r とし kark(modp) となる整数とおくと a(modp) の位数は (p1)/gcd(p1,k) に等しい。

実際このとき定理 1.6' より ae1(modp)rke1(modp)(p1)|ke(p1)/gcd(p1,k)|e である。

原始根・指数

定理 2.3.1 で見たように法の素数を p とおき、r を原始根とすると、任意の n について

ran(modp) となる 0a<p1 がただ一つ存在する。この a を 「r を底とする n指数 (index)」という。またこれを、次のように表記する。

Indrn=a あるいはlogrn=a.

定理 2.3.1 で見たように

ab(modp)Indra=Indrb

であることがわかる。

p,r をそれぞれ素数とその原始根とすると、

rsn(modp)sIndrn(modp1)

であることがわかる。

次に見るように、指数は対数関数と類似した性質を持っている。それで、指数をr を底とする n離散対数 (discrete logarithm)と呼ぶこともある(古くから指数と呼ばれていたが、近年、暗号系への応用に伴って、離散対数問題として知られるようになった)。

定理 2.3.3

素数 p に対し a,bp と互いに素な数、 r,rp を法とする原始根とすると、

{IndrabIndra+Indrb,IndrannIndra,Indra=IndrrIndra(modp1).

証明
Indra=α,Indrb=β とおくと、定義より rαa,rβb(modp) であるから abrα+β(modp) がすぐに分かる。よって

Indrabα+βIndra+Indrb(modp1)

ここから IndrannIndran に関する数学的帰納法で容易に証明される。

また Indra=α,Indrr=ρ とおくと rαa, r'ρr(modp) より r'ρα=(r'ρ)αrαa(modp) なので IndraραIndrrIndra(modp1) である。


原始根の応用例

p2,r をそれぞれ素数とその原始根とする。

(1) rp121(modp) つまり Indr(1)=p12 である。

証明
(rp12)2rp11(modp) であるが x21(modp) の解は x±1(modp) だから rp12±1(modp) がわかる。しかし r は原始根であるから rp12≢1(modp) なので rp121(modp) でなければならない。

(2) a+b=p のとき IndraIndrbp12(modp1)

証明
実際 ab(modp) なので

IndraIndr(b)Indr(1)+Indrb=p12+Indrb(modp1)

である。

(3) kp1 で割り切れないとき、

1k+2k+3k++(p1)k0(modp).

証明
原始根のべき乗は既約剰余系を成すので、この和は

a=1p1akl=0p2rlk(modp)

となる。これを rk1 倍すると

(rk1)a=1p1akr(p1)k10

となるが、rp を法とする原始根だから rk≢1 である。したがって、

a=1p1ak0

となる。


また、原始根をウィルソンの定理の別証明に用いることもできる。

(p1)!r0r1r2rp2r0+1+2++(p2)(rp12)p2,

ここで (1) より rp121(modp) なので (p1)!(1)p2 となるが、p は奇素数なので、これは -1 に合同である。 また (21)!=1!=11(mod2) であるから、ウィルソンの定理が証明された。


原始根とべき剰余

xna(modp) が解を持つか、持たないかにしたがって apn 次剰余(べき剰余)、非剰余という。 べき剰余について、次の基本的な定理が成り立つ。

定理 2.3.4

p を素数、ap で割り切れない数とする。n0 を整数とし e=gcd(n,p1),f=(p1)/e とおく。 このとき次の3つはいずれも同値である。

  • xna(modp) が解を持つ。
  • e|Indra.
  • af1(modp).

またこのとき xna(modp) の解の1つを x0 とすると、この合同方程式の解は

x0rfl,l=0,1,e1

e個である。

証明
r を原始根とし k=Indra とおく。 t=n/e とおくと gcd(t,f)=1 より tu1(modf) となる整数 u が存在する。 第一に e|k ならば x=rku/e は解である。実際

xn=(rku/e)n=rkun/e=rktu

となるが (p1)|ef|kf|k(tu1) より ktuk(modp1) だから

xn=rkturka(modp).

第二に xna(modp) ならば nf=n(p1)/gcd(n,p1)=(p1)t より afxnf1(modp) である。

第三に af1(modp) とする。r を原始根とし k=Indra とおくと rkf1(modp) つまり (p1)|kf であるから e=(p1)/f|k である。

さて xna(modp) の解が存在するとして x0=rm を解の1つとする。 このとき 定理 1.6' より

rsn1(modn)(p1)|snf|s

であるから

(x0rs)naarsnaf|s

となる。 ef=p1 より解は x0rfl,l=0,1,e1e 個である。


このことから、e=gcd(n,p1) とおくと xna(modp) が解を持つことと xea(modp) が解を持つことは同値であることがすぐにわかる。 よって、べき剰余を考える上では、 np1 の約数のときが本質的であると言える。

n>1p1 の約数のとき n 次剰余は原始根ではない。なぜなら a(p1)/n1(modp) より a の位数は p1 より小さくなるからである。

べき剰余については、後に初等整数論/べき剰余で詳しく考察する。

テンプレート:Nav