rsa算法

时间:2024-12-20 21:58:39编辑:笔记君

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加密解密算法的证明

1. 选择两个质数 p, q

2. 设 n =p * q

3. 求出n的欧拉函数 f = (p-1)*(q-1)

4. 在[2, f)的范围内随机找一个与f互质的数 e 作为公钥的指数

5. 算出私钥指数d,d为公钥指数e对 f 的一个模反元素,即 ed = kf +1 (k为正整数)

6. 将(n, e)封装成公钥,将(n, d)封装成私钥

1. 设被加密的数为m, m为小于n的非负整数

2. 算出 c = (m^e) % n ,则 c 即为密文

算出 (c^d)%n , 即为被加密的数m,证明如下。

因为  c=m^e - n*g,其中g为非负整数,

所以  (c^d)%n = [ (m^e - n*g) ^ d ] % n

展开多项式后将n的整数倍的项去除,得到

[( m^e )^d] % n

=[ m^(e*d) ] % n

=[ m^(k*f+1) ] % n

=[ m * m^(k*f) ] % n

={ m * [ (m^f) ^ k] } % n

接下来分三种情况讨论:

第一种情况:m=0或者m=1

则 { m * [ (m^f) ^ k] } % n = m

第二种情况:m>1,且m与n互质

根据  欧拉定理   ,m^f = h*n+1,其中h为正整数

则 { m * [ (m^f) ^ k] } % n

={ m * [ ( h*n+1 ) ^ k] } % n

={ m * [ i*n + 1 ] } % n    (其中i为展开指数多项式后合并n的同类项得到的正整数)

=m%n 

=m  (因为m<n)

第三种情况:m>1,且m与n不互质

因为n=p*q, 且p, q均为质数,则 m=j*p或者j*q, 其中j为正整数

当m=j*p时, 因为m<n, 所以m与q互质

(证明:如果m, q不互质,则m含有质因数q,因为p与q互质, 所以 j 含有质因数p, 这与m<n矛盾)

根据欧拉定理 m^(q-1)=x*q+1 ,其中x为正整数

则 { m * [ (m^f) ^ k] } % n

= { m * [ ( m^[(p-1)*(q-1)] ) ^ k] } % n

={ m * [ m^(q-1)^(p-1)^k ] } % n

={ j * p * [ ( x*q+1 )^ (p-1)^k ] } % n

={ j * p * [ y*q + 1 ] } % n    (其中y为展开指数多项式后合并q的同类项得到的正整数)

=(j*p*y*q + m ) %n

=(j*y*n+m) % n

=m

同理,当m=j*q时也成立。

证明完毕。

RSA解密正确性证明_国科大网安二班的博客-CSDN博客

https://blog.csdn.net/weixin_46395886/article/details/114700012#:~:text=RSA%E8%A7%A3%E5%AF%86%E6%AD%A3%E7%A1%AE%E6%80%A7%E8%AF%81%E6%98%8E%20%E5%85%88%E6%8F%8F%E8%BF%B0%E4%B8%80%E4%B8%8BRSA%E5%AF%86%E7%A0%81%E4%BD%93%E5%88%B6%EF%BC%9A%20RSA%E5%AF%86%E7%A0%81%E4%BD%93%E5%88%B6%EF%BC%9A%20%E5%A4%A7%E7%B4%A0%E6%95%B0%20p%2Cq%20%EF%BC%8C%E6%A8%A1%E6%95%B0,n%20%3D%20pq%20%EF%BC%8C%E5%8A%A0%E5%AF%86%E6%8C%87%E6%95%B0%20b%20%EF%BC%8C%E8%A7%A3%E5%AF%86%E6%8C%87%E6%95%B0

RSA算法原理 - 知乎 (zhihu.com)

https://zhuanlan.zhihu.com/p/48249182#:~:text=RSA%E7%AE%97%E6%B3%95%E5%8E%9F%E7%90%86%201%20%EF%BC%881%EF%BC%89%E4%B9%99%E6%96%B9%E7%94%9F%E6%88%90%E4%B8%A4%E6%8A%8A%E5%AF%86%E9%92%A5%20%28%E5%85%AC%E9%92%A5%E5%92%8C%E7%A7%81%E9%92%A5%29%E3%80%82...,2%20%EF%BC%882%EF%BC%89%E7%94%B2%E6%96%B9%E8%8E%B7%E5%8F%96%E4%B9%99%E6%96%B9%E7%9A%84%E5%85%AC%E9%92%A5%EF%BC%8C%E7%84%B6%E5%90%8E%E7%94%A8%E5%AE%83%E5%AF%B9%E4%BF%A1%E6%81%AF%E5%8A%A0%E5%AF%86%E3%80%82%203%20%EF%BC%883%EF%BC%89%E4%B9%99%E6%96%B9%E5%BE%97%E5%88%B0%E5%8A%A0%E5%AF%86%E5%90%8E%E7%9A%84%E4%BF%A1%E6%81%AF%EF%BC%8C%E7%94%A8%E7%A7%81%E9%92%A5%E8%A7%A3%E5%AF%86%E3%80%82


rs是什么意思?

1、RS(RemoteSensing)是遥感的英文缩写,遥感是以航空摄影技术为基础,在20世纪60年代初发展起来的一门新兴技术。2、RS码,即Reed-Solomon码。是用其发明人的名字Reed和Solomom命名的,他是一种多进制BCH码,具有很强的纠错能力,适用于多进制调制的场合,适合在衰落信道中纠正突发性错码。3、RALLY SPORT的简写,代表运动改装版。是一种很常见的外饰车标。4、RS,网络流行语,“人身攻击”的极简缩写版。扩展资料:RS(RemoteSensing)是遥感的英文缩写,遥感是以航空摄影技术为基础,在20世纪60年代初发展起来的一门新兴技术。开始为航空遥感,自1972年美国发射了第一颗陆地卫星后,这就标志着航天遥感时代的开始。经过几十年的迅速发展,目前遥感技术已广泛应用于资源环境、水文、气象,地质地理等领域,成为一门实用的,先进的空间探测技术。遥感(remote sensing)是指非接触的,远距离的探测技术。一般指运用传感器/遥感器对物体的电磁波的辐射、反射特性的探测。遥感是通过遥感器这类对电磁波敏感的仪器,在远离目标和非接触目标物体条件下探测目标地物。参考资料 百度百科-RS (网络用语)百度百科-RS (车标缩写)百度百科-RS (遥感)百度百科-RS (RS码)

上一篇:思域两厢

下一篇:没有了