数学之美 第十七章 RSA加密算法

预备知识:

欧拉函数

在数论,对正整数n,欧拉函数是小于或等于n的正整数中与n互质的数的数目(其中φ(1)=1)

通式为:

其中p1,p2...pn为x所有质因数,x是不为0的整数。

特殊:若n为质数p的k次幂,

因为除了p的倍数外,其他数都与n互质。
欧拉函数是积性函数——若m,n互质,φ(mn)=φ(m)φ(n)
当n为奇数时,φ(2n)=φ(n)
当n为质数时,φ(n)=n-1

P.S.积性函数:对于任意互质的整数a和b有性质f(ab)=f(a)f(b)的数论函数。
完全积性函数:对于任意整数a和b有性质f(ab)=f(a)f(b)的数论函数。
性质:
一 与算数基本定理有关。若将n表示为质因子分解式 n = p1a1p2a2 ...pnan ,则有f(n)=f(p1a1)f(p2a2 )...f(pnan)
二 若r为积性函数且有f(pn)=fn(p),则f为完全积性函数。

欧拉定理(数论)

在数论中,欧拉定理,(也称费马-欧拉定理)是一个关于同余的性质。欧拉定理表明,若n,a为正整数,且n,a互质,则:

应用:用来简化幂的模运算。
例如,计算7222的个位数。
分析:本质上就是求7222≡x(mod 10),而容易知道φ(10)=4。
7222=(74)55 72≡x(mod 10)
72≡x(mod 10)
9
所以答案就是9.

P.S. 费马小定理
a是不能被质数p整除的正整数,则有a(p-1) ≡ 1(mod p),他还有另外一个描述,ap ≡ a(mod p)
证明,p是质数,所以 φ(p) = p-1,带入欧拉即可。
应用:

费马小定理应用

密码学、信息论

对称加密,即对称算法:又是又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,反过来也成立。在大多数对称算法中,加密解密密钥是相同的。这些算法也叫密码密钥算法或单密钥算法。
非对称算法:也叫公开密钥加密,它是用两个数学相关的密钥对信息进行编码。其中一个密钥为公开密钥(公钥),另一个叫私有密钥(私钥)。

非对称算法运用过程:
1)乙方生成两把密钥,公钥是公开的,任何人都可以获得,私钥是保密的。
2)甲方获取乙方的公钥,然后它对信息加密。
3)乙方得到加密信息后,用私钥解密。

RSA算法

1)选择两个很大的素数P和Q 。
然后计算N=PQ和φ(N)=(P-1)(Q-1)
2)找到一个与φ(N)互质的整数E(也叫“模范元素”)
3)找一个整数D,使得ED ≡ 1 (mod φ(N))

其中公钥是(E,N),密钥是(D,N)
设密文为X,则
加密:XE ≡ Y (mod N)
获得Y
解密:YD ≡ X (mod N)

正确性讨论:
第一,不能直接通过公钥(E,N)推出X是不科学的,会有无数个X(比如23 ≡ 1 (mod 3),你可能推出X=2,4...)
第二,必须尝试推出D
1)ED ≡ 1 (mod φ(N)),只有知道E和φ(N),才能推D
2)φ(N)=(P-1)(Q-1),只有知道P和Q,才能推φ(N)
3)N=PQ,只有对N做因数分解,才能推出P和Q

对大整数的因数分解是一件非常困难的事情。

RSA算法的证明

要证明私钥解密出来的答案一定是正确的X,即证明


证明
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 学一点有趣的数论知识 在探究RSA算法的原理之前,我们先来学习一点有趣的数论知识(数学分支之一,主要研究整数的性质...
    24f464006eaf阅读 6,586评论 0 5
  • 这篇文章主要讲述在Mobile BI(移动商务智能)开发过程中,在网络通信、数据存储、登录验证这几个方面涉及的加密...
    雨_树阅读 7,947评论 0 6
  • 这是去年12月在CSDN写的一篇加密算法文章 现在决定在简书写博客 移植过来方便复习再理解。 最近算法课老师要求小...
    icecrea阅读 5,150评论 1 1
  • 酷热中,迷上李宗盛的《山丘》。穿越人潮,耳中始终回响着那句句触动人心的歌词。 也许是三十岁男人的困惑吧。度过了近似...
    苏横阅读 1,733评论 0 0
  • 近日因获得精武门首条女子金腰带再次获得热议的“格斗林妹妹”林荷琴谈起参加让她一战成名的2017哈萨克斯坦MMA世界...
    小翌阅读 2,435评论 1 2

友情链接更多精彩内容