应用密码学:原理、分析与Python实现
上QQ阅读APP看书,第一时间看更新

2.9.1 群

首先来了解一下群。

定义2.9.1 群(Group)

群表示一个特殊的集合,一般用符号表示,对于集合中的元素可以执行二元运算“.”,代数运算规则包括但不限于加减乘除,还可以是一些特殊规定的运算。一个集合成为群的前提是满足以下4个条件。

1)封闭性:对于所有群中任意元素也属于

2)结合律:对于所有群中任意元素,使得成立。

3)单位元:群中存在一个单位元,使得成立。

4)逆元:群中每个元素都存在逆元素,对于每个群中的,在群中也存在一个元素,使得总有成立。

例如,整数集和整数的加法所构成的群,就满足以上4个条件。椭圆曲线也是建立在群上的。在第9章介绍椭圆曲线时会看到,因为群的元素是椭圆曲线上的点,通过椭圆曲线基本运算可知满足结合律,而单位元是无穷远点,乘法单位元是1 。

如果一个群中元素是可数的,则这个群被称为有限群(Finite Group),群的阶(Order)等于群中元素的数量。否则,该群是一个无限群,群中的元素不可数。

而如果对于群中所有任意元素,还满足交换律:

那么群则被称为阿贝尔群(Abelian Group),也被称为交换群。

群的例子有很多,为了方便理解,下面列举几个群的例子和不是群的例子。

正整数集合在加法运算下,即,不是一个群。因为没有单位元使得

正整数集合在乘法运算下,即,不是一个群。因为其单位元是1 ,但是对于大于1 的整数而言,没有一个逆元属于,以满足,且

整数集合加法运算、实数集合加法运算及有理数集合加法运算,都满足构成群的条件,因此它们都是群。

2.9.1 假设运算符“”被定义在上,使得。证明是一个群。

解:想要证明是一个群,就需要证明它满足构成群的4个条件。假设对于任意元素,很显然,满足封闭性。

由于,也满足结合律。

因为,所以,因此2是其单位元。

最后,可以发现,因此是逆元。满足构成群的4个条件,所以是一个群。

定义2.9.2 子群(Subgroup)

若一个群的子集合按照与原群相同的结合规则构成一个群,则称该子集合形成原群的子群。即:

例如,前者就是后者的一个子群。

定义2.9.3 循环群(Cyclic Group)

为一个群,若存在一个元素,使得,则形成一个循环群。群内任意一个元素所生成的群都是循环群,而且是的子群。

例2.9.2 整数上的模加法。在群中,在群里,在群里。

的单位群,表示为,其中,比如群:

在群里,在群里。