首先先介绍用到的几个相关定义:
阶的定义
满足方程 a m ≡ 1 m o d n {a}^{m}\equiv 1 \bmod n am≡1modn的最小正整数m,称为模n下a的阶,记为 o r d n ( a ) {ord}_{n}(a) ordn(a)。
拓展定理:如果 o r d n ( a ) = t {ord}_{n}(a)=t ordn(a)=t,那么 o r d n ( a u ) = t ( t , u ) {ord}_{n}({a}^{u})=\frac{t}{(t,u)} ordn(au)=(t,u)t,其中 ( t , u ) (t,u) (t,u)是t和u的最大公因子。
欧拉函数
设n是一正整数,小于n且与n互素的正整数的个数称为n的欧拉函数,记为 φ ( n ) \varphi (n) φ(n)。
1.若n是素数,则
φ
(
n
)
=
n
−
1
\varphi (n)=n-1
φ(n)=n−1;
2.若n是两个素数p和q的乘积,则
φ
(
n
)
=
φ
(
p
)
×
φ
(
q
)
=
(
p
−
1
)
(
q
−
1
)
\varphi (n)=\varphi (p)×\varphi (q)=(p-1)(q-1)
φ(n)=φ(p)×φ(q)=(p−1)(q−1)
3.若n有标准分解式
n
=
p
1
α
1
p
2
α
2
⋯
p
t
α
t
n={p}_{1}^{{\alpha }_{1}}{p}_{2}^{{\alpha }_{2}}\cdots {p}_{t}^{{\alpha }_{t}}
n=p1α1p2α2⋯ptαt,则
φ
(
n
)
=
n
(
1
−
1
p
1
)
⋯
(
1
−
1
p
t
)
\varphi (n)=n(1-\frac{1}{{p}_{1}})\cdots (1-\frac{1}{{p}_{t}})
φ(n)=n(1−p11)⋯(1−pt1)。
欧拉定理
若a和n互素,则 a φ ( n ) ≡ 1 m o d n {\mathcal{a}}^{\varphi (n)}\equiv 1\bmod n aφ(n)≡1modn。
根据阶的定义和欧拉定理易知:
o
r
d
n
(
a
)
∣
φ
(
n
)
{ord}_{n}(a)|\varphi (n)
ordn(a)∣φ(n)(前者整除后者)
本原根的定义
如果 o r d n ( a ) = φ ( n ) {ord}_{n}(a)=\varphi (n) ordn(a)=φ(n),则称a为n的本原根。
如果a是n的本原根,则:
a
,
a
2
,
⋯
,
a
φ
(
n
)
a,{a}^{2},\cdots ,{a}^{\varphi (n)}
a,a2,⋯,aφ(n)
在模n下互不相同且都与n互素。
如果g是n的本原根,则有
o
r
d
n
(
g
)
=
φ
(
n
)
{ord}_{n}(g)=\varphi (n)
ordn(g)=φ(n),则:
o
r
d
n
(
g
u
)
=
φ
(
n
)
(
φ
(
n
)
,
u
)
{ord}_{n}({g}^{u})=\frac{\varphi (n)}{(\varphi (n),u)}
ordn(gu)=(φ(n),u)φ(n)
当且仅当
(
φ
(
n
)
,
u
)
=
1
(\varphi (n),u)=1
(φ(n),u)=1时,即二者互质,上式的值为
φ
(
n
)
\varphi (n)
φ(n),此时
g
u
{g}^{u}
gu为n的本原根。
因此得到定理:
如果n有本原根g,那么n有
φ
(
φ
(
n
)
)
\varphi(\varphi (n))
φ(φ(n))个本原根,这些本原根可以写成
g
u
{g}^{u}
gu,u是1到
φ
(
n
)
\varphi (n)
φ(n)中与
φ
(
n
)
\varphi (n)
φ(n)互质的数。
例题详解
比如求25的所有本原根,首先:
25
=
5
2
25=5^{2}
25=52
φ
(
25
)
=
25
×
(
1
−
1
5
)
=
20
\varphi \left ( 25 \right ) =25\times \left ( 1-\frac{1}{5} \right )=20
φ(25)=25×(1−51)=20
20
=
2
2
×
5
20=2^{2}\times 5
20=22×5
φ
(
20
)
=
20
×
(
1
−
1
2
)
(
1
−
1
5
)
=
8
\varphi \left ( 20 \right ) =20\times \left ( 1-\frac{1}{2} \right ) \left ( 1-\frac{1}{5} \right )=8
φ(20)=20×(1−21)(1−51)=8
所以25一共有8个本原根。
然后试着找到25的一个本原根,剩下的就能相应的计算得到。首先看与25互质的2是否是本原根,2的阶只能是 φ ( 25 ) \varphi \left ( 25 \right ) φ(25)的因子,即20的因子1,2,4,5,10,20。依次代入计算:
2
1
≡
2
m
o
d
25
2^{1} \equiv2\bmod 25
21≡2mod25
2
2
≡
4
m
o
d
25
2^{2} \equiv4\bmod 25
22≡4mod25
2
4
≡
16
m
o
d
25
2^{4} \equiv16\bmod 25
24≡16mod25
2
5
≡
7
m
o
d
25
2^{5} \equiv7\bmod 25
25≡7mod25
2
10
≡
24
m
o
d
25
2^{10} \equiv24\bmod 25
210≡24mod25
2
20
≡
1
m
o
d
25
2^{20} \equiv1\bmod 25
220≡1mod25
根据欧拉定理,
2
φ
(
25
)
≡
1
m
o
d
25
2^{\varphi \left ( 25 \right )} \equiv1\bmod 25
2φ(25)≡1mod25,
所以
o
r
d
25
(
2
)
=
φ
(
25
)
=
20
{ord}_{25}(2)=\varphi \left ( 25 \right )=20
ord25(2)=φ(25)=20,即2是25的一个本原根,所有的本原根可以表示为
2
u
2^{u}
2u,其中
u
u
u是1到20中与20互质的数,即1,3,7,9,11,13,17,19八个数,分别带入计算如下:
2
1
≡
2
m
o
d
25
2^{1} \equiv2\bmod 25
21≡2mod25
2
3
≡
8
m
o
d
25
2^{3} \equiv8\bmod 25
23≡8mod25
2
7
≡
3
m
o
d
25
2^{7} \equiv3\bmod 25
27≡3mod25
2
9
≡
12
m
o
d
25
2^{9} \equiv12\bmod 25
29≡12mod25
2
11
≡
23
m
o
d
25
2^{11} \equiv23\bmod 25
211≡23mod25
2
13
≡
17
m
o
d
25
2^{13} \equiv17\bmod 25
213≡17mod25
2
17
≡
22
m
o
d
25
2^{17} \equiv22\bmod 25
217≡22mod25
2
19
≡
13
m
o
d
25
2^{19} \equiv13\bmod 25
219≡13mod25
所以模25的本原根为2,3,8,12,13,17,22,23。