RSA算法的简单理解与介绍
RSA算法即RSA加密算法,这是一种非对称加密算法。在公开**加密和电子商业中RSA被广泛使用。RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。RSA就是他们三人姓氏开头字母拼在一起组成的。1973年,在英国政府通讯总部工作的数学家克利福德·柯克斯(Clifford Cocks)在一个内部文件中提出了一个相同的算法,但他的发现被列入机密,一直到1997年才被发表。RSA是现在很有影响力的公钥加密算法,它能够抵抗现在已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。到2008年为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被解破的。(搜狗百科)
这学期刚刚学完网络安全这门课程,我的课程设计做的也是关于RSA算法加密的实验,下面我简单介绍一下RSA算法。
其实很简单,有两个素数(质数)p,q
另n=p*q;
另外有e1,e2 e1与(p-1)*(q-1)互质 e2*e1MOD ((p-1)*(q-1)) == 1(取模)
(n,e1)为公钥
(n,e2)为私钥
(n,e1)(ne2)就是公钥对
若A为明文B为密文
RSA采用公钥加密私钥解密A=B^e1 MOD n(加密)
B=A^e2 MOD n(解密)
e1与e2也可以互换即: A=B^e2 MOD n
B=A^e1 MOD n
大致过程: