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)个。

posted @   qeDVuHG  阅读(617)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
点击右上角即可分享
微信分享提示