博客
关于我
csdn_export_md
阅读量:194 次
发布时间:2019-02-28

本文共 639 字,大约阅读时间需要 2 分钟。

RSA算法初步总结

RSA简介

1977年,三位数学家Rivest、Shamir 和 Adleman 设计了一种算法,可以实现非对称加密。这种算法用他们三个人的名字命名,叫做RSA算法。从那时直到现在,RSA算法一直是最广为使用的"非对称加密算法"。毫不夸张地说,只要有计算机网络的地方,就有RSA算法。

这里我尽量简短的解释一下RSA的算法原理,以避免冗杂,不好理解:

算法原理
RSA 加密
1:找出质数:p ,q
这个相信,做过rsa题目的人都知道。

2:n = p * q

3:φ(n) = (p-1)* (q-1) #(欧拉函数)一个根据欧拉函数推出来的式子

4:公钥e 要求:1<e<φ(n) #加密需要用到e

e,φ(n) 互质,私钥d #e与φ(n)满足的条件
e*d 除以φ(n) 余数为1 #这个是一个乘法逆元的式子 :de = 1 mod φ(n)
5:加密:m^e 除以 n 求余数为 c # c = (m^e) mod n : m的公钥加密
6:解密: c^d 除以n求余数为m # m = (c^d) mod n : 解出密文m

安全性:

传播:n ,e ,c # 只传播出:n,e,c
解密:n ,d ,c # 解密所需
公钥:(n,e)
私钥:(n,d)
例如
如果想要从以知e得到d 需要 知道φ(n),否则不能得到d。
如果想知道φ(n),就得知道q,p的值。

这样初步解释RSA,希望有帮助。

新手写给新手看的,如有错误,或建议欢迎指出

转载地址:http://pvhn.baihongyu.com/

你可能感兴趣的文章
mysql CONCAT()函数拼接有NULL
查看>>
multiprocessing.Manager 嵌套共享对象不适用于队列
查看>>
multiprocessing.pool.map 和带有两个参数的函数
查看>>
MYSQL CONCAT函数
查看>>
multiprocessing.Pool:map_async 和 imap 有什么区别?
查看>>
MySQL Connector/Net 句柄泄露
查看>>
multiprocessor(中)
查看>>
mysql CPU使用率过高的一次处理经历
查看>>
Multisim中555定时器使用技巧
查看>>
MySQL CRUD 数据表基础操作实战
查看>>
multisim变压器反馈式_穿过隔离栅供电:认识隔离式直流/ 直流偏置电源
查看>>
mysql csv import meets charset
查看>>
multivariate_normal TypeError: ufunc ‘add‘ output (typecode ‘O‘) could not be coerced to provided……
查看>>
MySQL DBA 数据库优化策略
查看>>
multi_index_container
查看>>
MySQL DBA 进阶知识详解
查看>>
Mura CMS processAsyncObject SQL注入漏洞复现(CVE-2024-32640)
查看>>
Mysql DBA 高级运维学习之路-DQL语句之select知识讲解
查看>>
mysql deadlock found when trying to get lock暴力解决
查看>>
MuseTalk如何生成高质量视频(使用技巧)
查看>>