《算法导论》数论知识总结(二)

本文介绍了幂欧拉定理的应用及RSA公钥加密系统的原理。详细讲述了如何利用大素数生成公钥和私钥,以及加密解密的过程。通过幂欧拉定理保证了RSA算法的有效性和安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

5.元素的幂
欧拉定理,对于任意Z*[n]中的a,有a^phi(n)(mod n) = a^|Z*[n]| (mod n) = 1(单位元),由之前Z*[n]定义处定理可知
费马定理,对于素数p,a^(p-1) (mod p) = 1 因为|Z*[p]| = p - 1,0不在Z*[p]当中
求幂当然是化成平方的平方的形式比较快

6.RSA公钥加密系统
公钥P和私钥S实际上是一对互逆的过程 M = P(S(M)) 或 M = S(P(M)), 而且从P很难推出S,这种互逆不可互推的过程就是数论当中的原理,这两个等式也分别代表了公钥加密的两种场景,前者是强调任何人都可以看信息,但没有私钥,无法冒充那个拿着私钥的人来发信息,后者强调任何人都可以发,但没有私钥,你无法看到发给对应公钥之人的信息。
加密过程:随机选大素数p、q 一般512位。n = pq,可知phi[n] = |Z*[n]| = (p - 1)(q - 1) 这是因为 n^((p - 1)(q -1)) = 1,取最小与phi[n]互质的奇数e,求其对于Z*[phi[n]]的逆元d,其中(e, n)为公钥,(d, n)为私钥 两个过程分别为:
P(M) = (M^e) mod n
S(C) = (C^d) mod n
正确性:P(S(M)) = S(P(M)) = (M^(ed)) mod n = (M^(1 + k(p-1)(q -1))) mod n = M * (M^(p-1))^k(q - 1))
其中M^(p - 1) = 1(费马定理) 所以上面式子结果为M
在实际应用中,一般用一个其他比较快速加密手段加密正文,然后将密钥用RSA加密,可恨高程度的提高效率
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值