在正题之前,我们需要群论的相关知识,实际上对某个数取模构成的集合就是一个群。
群是一个特殊的集合,所以首先它是一个集合,其次,在集合之上构成群的条件就是,集合里面的元素之间存在一个二元运算,会生成其他在集合里的任意元素。
设
S
S
为一个群,为一个二元运算。
则严格定义:
封闭性:
∀a,b∈S,a⊕b∈S
∀
a
,
b
∈
S
,
a
⊕
b
∈
S
单位元:
∃e∈S,对于∀a∈S,有a⊕e=a
∃
e
∈
S
,
对
于
∀
a
∈
S
,
有
a
⊕
e
=
a
结合律:
∀a,b,c∈S,(a⊕b)⊕c=a⊕(b⊕c)
∀
a
,
b
,
c
∈
S
,
(
a
⊕
b
)
⊕
c
=
a
⊕
(
b
⊕
c
)
逆元:
∀a∈S,唯一∃b∈S,满足a⊕b=b⊕a=e
∀
a
∈
S
,
唯
一
∃
b
∈
S
,
满
足
a
⊕
b
=
b
⊕
a
=
e
满足以上4个条件,我们称为
(S,⊕)
(
S
,
⊕
)
为一个群。
群有有限和无限之分,就是看群里面的元素数量的个数啦,这个很简单。
我们定义
∗n
∗
n
为在模
n
n
意义下的乘法运算。
那么我们可以构造出一种群(也是我们接下要讨论的)。
设
显然这个集合就是一个群,其数量就等于 ϕ(n) ϕ ( n ) (就是欧拉函数的定义啊…)。
例如 Z15={1,2,4,7,8,11,13,14} Z 15 = { 1 , 2 , 4 , 7 , 8 , 11 , 13 , 14 } ,这个可以自行验证。易知 |Z∗n|=ϕ(n) | Z n ∗ | = ϕ ( n )
子群:如果 S′⊂S,并且(S′,⊕)也是个群,则(S′,⊕)是(S,⊕)的子群 S ′ ⊂ S , 并 且 ( S ′ , ⊕ ) 也 是 个 群 , 则 ( S ′ , ⊕ ) 是 ( S , ⊕ ) 的 子 群
定理1:如果 (S′,⊕)是(S,⊕)的子群 ( S ′ , ⊕ ) 是 ( S , ⊕ ) 的 子 群 ,则 |S′|整除|S| | S ′ | 整 除 | S |
由一个元素生成的子群:我们有一个方法来生成一个子群,就是我们从原群里取出一个数设
a
a
。
我们定义:
在 k k 不同取值的情况下所构成的集合,我们定义为子群
所以显然在模 n n 乘法意义下,
那么一个问题就是这个群有多少个元素?
在群
S
S
中,元素a的阶定义为 的最小正整数
t
t
,用表示。
定理2:
|<a>|=ord(a)
|
<
a
>
|
=
o
r
d
(
a
)
由此产生的推论是:
所以易知 ord(a)整除ϕ(p) o r d ( a ) 整 除 ϕ ( p )
则有
定义:若 ord(a)=|Z∗n|,则a是n的一个 o r d ( a ) = | Z n ∗ | , 则 a 是 n 的 一 个 原根 ,如果Z∗n , 如 果 Z n ∗ 有至少一个原根,那么称这个群是 循环的。
下一个问题:任意 n n 都有原根么?
定理3:是循环的,当n的值为 2,4,pe,2pe,(p是所有大于2的质数,e是所有正整数) 2 , 4 , p e , 2 p e , ( p 是 所 有 大 于 2 的 质 数 , e 是 所 有 正 整 数 )
那么显然有的结论:
若g是Z∗n的一个原根,a是这个群里的任意元素,那么必然存在唯一的x使得gx≡a(mod n) 若 g 是 Z n ∗ 的 一 个 原 根 , a 是 这 个 群 里 的 任 意 元 素 , 那 么 必 然 存 在 唯 一 的 x 使 得 g x ≡ a ( m o d n )
我们称 x为对模n到基g上的a的一个 x 为 对 模 n 到 基 g 上 的 a 的 一 个 离散对数,记为 x=indn,g(a) x = i n d n , g ( a )
定理4(离散对数定理): 如果g是Z∗n的一个原根,则当且仅当x≡y(mod ϕ(n))成立 如 果 g 是 Z n ∗ 的 一 个 原 根 , 则 当 且 仅 当 x ≡ y ( m o d ϕ ( n ) ) 成 立 ,有 gx≡gy(mod n) g x ≡ g y ( m o d n )
好了,就先到这了