密码学的数学基础
有限域
- 群、环、域三者的区别
- 群是两个元素进行运算得到一个新的元素,需要满足的公理:
- 封闭性、结合率、单位元、逆元
- 交换群多一个交换律
- 环是在交换群的基础上添加一种运算 .(不同于代数乘法),需要满足的公理:
- 封闭性、结合律、单位元、逆元、交换律
- 交换环多一个乘法的交换律
- 域是在交换环的基础上,多了二元除法运算,并且对于每一个非零元素都存在乘法逆元
- 群是两个元素进行运算得到一个新的元素,需要满足的公理:
- 密码学中为何采用有限域(明文、密钥、密文必须属于某个有限域)
- 所有的加密算法都涉及到整数集上的算数运算,必须使用定义在域上的运算
- 密文的数量是有限的,无限域存在浪费
- 为什么密码学采用GF(2^n)形式的有限域,而不采用GF§形式的有限域
- 因为提高实用性和效率,该形式与计算机中信息表达方式二进制能够表达的信息一一对应,即整数集的范围为0~2^n-1
模运算
- 加法 [(a mod n)+(b mod n)] mod n = (a+b) mod n
- 减法 [(a mod n)-(b mod n)] mod n = (a-b) mod n
- 乘法 [(a mod n)*(b mod n)] mod n = (a*b) mod n
多项式模运算
- 定义
- 遵循基本代数规则中的普通多项式运算规则
- 系数运算以p为模
- 如果乘法的结果是次数大于n-1的多项式,那么必须将其除以某个次数为n的既约多项式m(x)并取余式
- 功能(为什么采用模运算)
- 在此运算基础上的集合S为有限域
数论的基本知识
-
素数
- 任何正整数可由素数的乘积来表示
-
费马小定理
- 若p是素数,a是正整数且不能被p整除,则 a ( p − 1 ) ≡ 1 m o d p a^{(p-1)} \equiv 1 mod\space p a(p−1)≡1mod p
-
欧拉函数
- ϕ ( n ) \phi(n) ϕ(n)指小于n且与n互素的正整数的个数
- 对于素数p有 ϕ ( p ) = p − 1 \phi(p)=p-1 ϕ(p)=p−1
- 对于两个素数p和q且 p!=q,那么对于n=pq,有
- ϕ ( n ) = ϕ ( p q ) = ϕ ( q ) ∗ ϕ ( p ) = ( p − 1 ) ∗ ( q − 1 ) \phi(n)=\phi(pq)=\phi(q)*\phi(p)=(p-1)*(q-1) ϕ(n)=ϕ(pq)=ϕ(q)∗ϕ(p)=(p−1)∗(q−1)
-
欧拉定理
- 对于任意互素的a和n,有 α ϕ ( n ) ≡ m o d n \alpha ^{\phi(n)} \equiv mod\space n αϕ(n)≡mod n
- 推论给定两个素数pq,整数n=qp,对于小于n的任意正整数m(0<m<n),有
- m ϕ ( n ) + 1 ≡ m ( p − 1 ) ( q − 1 ) + 1 ≡ m m o d n m^{\phi(n)+1}\equiv m^{(p-1)(q-1)+1}\equiv m \space mod \space n mϕ(n)+1≡m(p−1)(q−1)+1≡m mod n