Cryptography I 学习笔记 --- 数论简介

0. Zn代表{0,1....n-1}的集合

1. 模运算符合交换律结合律

2. gcd(greatest common divisor),可以由扩展欧几里得算法快速得到。

3. 模逆(modular inversion),在Zn上,x的模逆为y,那么x*y=1 mod n

4. Zn上如果x有模逆,那么x与n互质,也就是gcd(x,n)=1

5. Zn*代表Zn中,所有可逆元素的集合。那么如果n为质数,那么Zn* = Zn - {0}

6. 费马小定理:如果p是质数,那么任意x ∈ Zp*,都有xp-1 = 1 (在Zp上)。可以用费马小定理判定一个数是否为素数,但是有极少数的Carmichael数会躲过这一检测

7. 如果g ∈ Zp* 并且 {1,g,g2,g3...gp-2}=Zp* ,那么g是Zp* 的生成元(generator)

8. 对于g ∈ Zp*,{1,g,g2,g3...gp-2}的大小,是g在p上的序(Order),记做ordp(g)。另外有,(p -1 ) 一定能被 ordp(g) 整除

9. 欧拉函数:φ(n) = 为从1到n,与n互质的数的个数。

  如果n为质数:φ(n) = n-1

  如果n为质数p的k次方,那么φ(n) =pk-pk-1

  如果n=p*p,且p与q互质,那么φ(n)  = φ(q) *φ(p) 

10. 欧拉公式:如果a与n互质,那么aφ(n) = 1 mod n。很显然,费马小定理是欧拉公式的特例

11. 如何求某个元素的模逆?可以利用欧拉公式:aφ(n)  = a * aφ(n)-1 = 1 mod n,也就是说a的模逆是 aφ(n)-1 mod n

12. 中国剩余定理:只需要较弱的一个结论:如果p与q互质,且x = y mod p,x = y mod q,那么可以得到x = y mod p * q

13. 如何求一个阶为n的有限循环群的生成元?以及一个阶为n的有限循环群的生成元有多少个?

  如果gcd(n, r)=1,也就是说只要r与n互质,那么r就是这个阶为n的有限循环群的生成元

  也就是说,一个阶为n的有限循环群的生成元有φ(n)个。

原文地址:https://www.cnblogs.com/stevenczp/p/6551539.html