1. 首页 > 综合百科

Rsa是什么意思(Rsa是什么RSA加密算法是一种非对称密码算法)

内容摘要在公开密钥加密和电子商业中RSA被广泛使用。算法原理RSA公开密钥密码体制的原理是:根据数论,寻求两个大素数比较简单,而将它们的乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。这篇文章主要是针对一种最常见的非对称加密算法——RSA算法进行讲解。

Rsa是什么意思(Rsa是什么RSA加密算法是一种非对称密码算法)

Rsa是什么意思

RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商业中RSA被广泛使用。

当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。1973年,在英国政府通讯总部工作的数学家克利福德·柯克斯(Clifford Cocks)在一个内部文件中提出了一个同样的算法,但他的发觉被列入机密,一直到1997年才被发布。拓展资料RSA安全性依赖于大数分解,但是否相当于大数分解一直未能获得理论上的证实,因为没有证实破解RSA就一定需要作大数分解。

假设存在一种无须分解大数的算法,那它肯定可以修改变成大数分解算法。 RSA 的一些变异算法已被证实等价于大数分解。无论如何,分解n是很显然的攻击方法。

大家已能分解多个十进制位大素数。因此,模数n必须选大一些,因具体适用情况而定。

rsa是什么意思

RSA是公开密钥密码体制是一种采用不同的加密密钥与解密密钥,“由已知加密密钥推导出解密密钥在计算上有不可行的”密码体制。RSA是1977年由罗纳德·李维斯特(RonRivest)、阿迪·萨莫尔(AdiShamir)和伦纳德·阿德曼(LeonardAdleman)一起提出的。

RSA就是他们三人姓氏开头字母拼在一起组成的。简介在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。尽管解密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。

正是基于这种理论,1978年出现了著名的RSA算法,它一般是先生成一对RSA密钥,其中之一是保密密钥,由用户储存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。为提高保密强度,RSA密钥至少为500位长,一般推荐使用1024位。这就使加密的计算量很大。

为减少计算量,在传输信息时,常采用传统加密方法和公开密钥加密方法相结合的方式,即信息选用优化的DES或IDEA对话密钥加密,然后使用RSA密钥加密对话密钥与信息摘要。对方收到信息后,用不同的密钥解密并可核对信息摘要。算法原理RSA公开密钥密码体制的原理是:根据数论,寻找两个大素数比较简单,而把它们的相乘进行因式分解却极其困难,因此可以将相乘公开作为加密密钥。

什么叫RSA?

RSA公钥密码体制是以发明该体制的三位密码学家Rivest,Shamir和Adleman的名字命名的,目前变成商业化最成功的算法。系统建立与密钥产生挑选两个大素数p和q,另n=pq,按照一定规则挑选随机数e和d,使之满足ed mod (p-1)(q-1)=1.�

加密过程如果要将明文消息M加密后发给该用户,则密文C的计算步骤如下:C=Me mod n。解密过程当客户收到密文C后,计算Cd mod n=M 就恢复出密文了。RSA公钥体制的安全都是基于大整数的素因子分解这一数学难题之上的。一旦人们发现一种分解大整数的有效方法,则RSA公钥密码体制安全性随着崩溃。

RSA公钥密码体制能够很容易改造变成数字签名方案。假设一个客户(客户A)拥有RSA公私钥对,即拥有对应公钥(e, n)的私钥d。产生签字当客户A要对明文消息m进行数字签名时,计算s=md mod n,则s便是对消息m的数字签名。

验证签名当一个客户(客户B)要对该用户A的数字签名进行验证时,客户B需要得到明文消息m和数字签名s,随后验证等式se mod n=m是否成立,如果成立,则验证通过,否则,不能接受s为m的合法数字签名。注意数字签名不提供消息的机密性,由于签名者需要把签字消息m和签字s同时发给验证者。如果在此过程中不希望别人能非法获取m的内容,需要再对m进行加密处理,这种情况不是简单的数字签名,而是加密与数字签名的融合。

一种更高效的方式是采用签密算法(SignEncryption)。

RSA是什么?

RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。 RSA的算法涉及三个参数,n、e1.e2.�

e1和e2是一对有关数值,e1可以随意取,但要求e1与(p-1)*(q-1)互质;再选择e2,要求(e2*e1)mod((p-1)*(q-1))=1.� (n及e1),(n及e2)便是密钥对。 RSA加解密的算法完全一致,设A为明文,B为密文,则:A=B^e1 mod n;B=A^e2 mod n; e1和e2能够互换使用,即: A=B^e2 mod n;B=A^e1 mod n; 补充回答: 对明文进行加密,有两种情况需要这样作: 1.您向朋友传输加密数据,您希望只有您的朋友可以解密,这样的话,你需要首先获得您朋友的密钥对中公开的那一个密钥,e及n。随后用这个密钥进行加密,这样密文只有您的朋友可以解密,由于对应的私钥只有您朋友拥有。

2.您向朋友传输一段数据附加你的数字签名,你需要对你的信息进行MD5之类的计算以获得数据的"指纹",再对"指纹"进行加密,加密将使用您自己的密钥对中的不公开的私钥。你的朋友收到数据后,用同样的计算获得数据指纹,再用你的公钥对加密指纹进行解密,比较解密结果和他自己计算出来的指纹是否一致,即可确定数据是否确实是你发送的、以及在传输过程中是否被篡改。 密钥的获得,通常由某个机构颁发(如CA中心),当然也可以由您自己建立密钥,但这样作,你的密钥并不具有权威性。

计算方面,按公式换算就行了,如果你的加密强度为1024位,则结果会到有效数据前边补0以补足不足的位数。补入的0并不影响解密计算。

RSA算法详解

总括: 本文详细讲述了RSA算法详解,包含内部使用数学原理以及产生的过程。 相知相惜。

之前写过一篇文章 SSL协议之数据加密过程 ,里边详细讲述了数据加密的过程和需要的算法。SSL协议很巧妙的利用对称加密和非对称加密两种算法来进行数据加密。这篇文章主要是针对一种最常见的非对称加密算法——RSA算法进行讲解。其实也就是对私钥和公钥产生的一种方式进行描述。

首先先来了解下这个算法的历史: RSA是1977年由 罗纳德·李维斯特 (Ron Rivest)、 阿迪·萨莫尔 (Adi Shamir)和 伦纳德·阿德曼 (Leonard Adleman)一起提出的。当时他们三人都在 麻省理工学院 工作。RSA就是他们三人姓氏开头字母拼在一起组成的。

可事实上,在1973年,在英国政府通讯总部工作的数学家 克利福德·柯克斯 (Clifford Cocks)在一个内部文件中提出了一个同样的算法,但他的发觉被列入机密,一直到1997年才被发布。 因此谁是RSA算法的发明者呢?不好说,就像贝尔并非第一个发明电话的人但大家都记住的是贝尔一样,这地方我们作为局外人倒不用较真,重要的是这个算法的内容: RSA算法用到的数学知识非常多,因此在中间介绍这个算法生成私钥和公钥的过程中会穿插一些数学知识。生成步骤如下: 随意挑选两个大的质数p和q,p不等于q,计算N=p*q; 什么是质数?我想可能会有一部分人已经忘了,定义如下: 例如2,3,5,7这些都是质数,9就不是了,由于3*3=9了 r = φ(N) = φ(p)φ(q) = (p-1)(q-1) 。

这儿的数学概念便是什么叫欧拉函数了,什么叫欧拉函数呢? 欧拉函数 的定义: 互质 的定义: 比如: φ(8) = 4 ,由于 1,3,5,7 均和 8 互质。 推导欧拉函数: (1)如果 n = 1 , φ(1) = 1 ;(小于等于1的正整数中唯一和1互质的数便是1自身); (2)如果 n 为质数, φ(n) = n - 1 ;由于质数和每一个比它小的数字都互质。例如5,比它小的正整数1,2,3,4都与他互质; (3) 如果 n 是 a 的 k 次幂,则 φ(n) = φ(a^k) = a^k - a^(k-1) = (a-1)a^(k-1) ; (4) 若 m , n 互质,则 φ(mn) = φ(m)φ(n) 证实: 设 A , B , C 是跟 m , n , mn 互质的数的集,据 中国剩余定理 (经常看数学典故的童鞋应当了解,剩下定律也叫韩信点兵,又叫孙子定理), A * B 和 C 可建立双射一一对应)的关系。

(或是还可以从初等代数视角给出 欧拉函数积性的简单证实 ) 因此的φ(n)值使用 算术基本定理 便知。(来自维基百科) 选择一个低于r并与r互质的整数e,求得e关于r的模反元素,命名为 d ( ed = 1(mod r) 模反元素存在,当且仅当e与r互质), e 我们一般取65537.� 模反元素: 例如 3 和 5 互质, 3 关于 5 的模反元素就可能是2,由于 3*2-1=5 能够被5整除。因此很明显模反元素不止一个,2加减5的整数倍都是3关于5的模反元素 {...-3, 2,7,12…} 放到公式里便是 3*2 = 1 (mod 5) 上边提到的欧拉函数用处事实上在于欧拉定理: 欧拉定理: 欧拉定理就可用于证实模反元素必定存在。

由模反元素定义和欧拉定理我们知道, a 的 φ(n) 次方减掉1,能够被n整除。例如,3和5互质,而 5 的欧拉函数 φ(5) 等于4,因此 3 的 4 次方 (81) 减掉1,能够被 5 整除( 80/5=16 )。 小费马定理: 这时我们的 (N , e) 是公钥, (N, d) 为私钥,爱丽丝会把公钥 (N, e) 传给鲍勃,然后将 (N, d) 自己藏起来。一对公钥和私钥就产生了,随后具体使用方法呢?请看: SSL协议之数据加密过程详解 我们知道像RSA这种非对称加密算法很安全,那么到底为什么安全呢? 我们来看看上边这些过程产生的几个数字: N 和 e 我们都会公开使用,最为重要的便是私钥里的 d , d 一旦泄露,加密也就失去了意义。

那么获得d的过程是怎样的呢?如下: 因此得出了在上篇博客说到的结论,非对称加密的原理: 将a和b乘积得到相乘c很容易,但要是想通过相乘c推导出a和b极难。即对一个大数进行因式分解极难 目前公开破解的位数是768位,实际应用一般是1024位或是2048位,因此理论上特别的安全。 RSA算法的核心就是欧拉定理,根据它我们才会得到私钥,从而保证整个通讯的安全。

扩展阅读

在这里,本文将考虑如何使用RSA来揭示记忆在人脑中的表现,介绍了RSA的实验设计,并从实用角度出发阐述了如何进行RSA,以及如何避免常见的分析和解释陷阱。

假如有人找到一种快速因数分解的算法,那么RSA的可靠性就会极度下降。但找到这样的算法的可能性是非常小的。今天只有短的RSA密钥才可能被暴力破解。到现在为止,世界上还没有任何可靠的攻击RSA算法的方式。

如果你可以带着这本书回到20世纪90年代初,把第23章实现RSA密码的内容出口到美国以外是非法的。因为用RSA加密的信息不可能被破解,像RSA这样的加密软件的出口被认为是国家安全问题,需要国务院的批准。事实上,强密码术与坦克、导弹和火焰喷射器处于同一管控水平。

本文由“木槿”发布,不代表“写客百科”立场,转载联系作者并注明出处:https://www.ixieke.com/zonghe/253393.html


联系我们

在线咨询: 点击这里给我发消息

工作日:9:30-18:30,节假日休息