博客
关于我
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/

你可能感兴趣的文章
Myeclipse常用快捷键
查看>>
MyEclipse用(JDBC)连接SQL出现的问题~
查看>>
myeclipse的新建severlet不见解决方法
查看>>
MyEclipse设置当前行背景颜色、选中单词前景色、背景色
查看>>
MyEclipse配置SVN
查看>>
MTCNN 人脸检测
查看>>
MyEcplise中SpringBoot怎样定制启动banner?
查看>>
MyPython
查看>>
MTD技术介绍
查看>>
MySQL
查看>>
mysql
查看>>
MTK Android 如何获取系统权限
查看>>
MySQL - 4种基本索引、聚簇索引和非聚索引、索引失效情况、SQL 优化
查看>>
MySQL - ERROR 1406
查看>>
mysql - 视图
查看>>
MySQL - 解读MySQL事务与锁机制
查看>>
mysql 1264_关于mysql 出现 1264 Out of range value for column 错误的解决办法
查看>>
mysql 1593_Linux高可用(HA)之MySQL主从复制中出现1593错误码的低级错误
查看>>
mysql ansi nulls_SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON 什么意思
查看>>
MySQL Binlog 日志监听与 Spring 集成实战
查看>>