RSA 加密算法
【摘要】 目录RSA是一种公钥加密算法需要了解的概念(RSA加密过程用到的数学知识)RSA加密过程公钥,密钥的生成过程公钥加密和私钥解密过程RSA解密过程解密含义解密过程根据公钥的信息推出中间的过程值生成私钥私钥解密密文示例Python解密脚本RSA是一种公钥加密算法公钥用来加密,可以发送给服务器私钥用来解密,一般不能发给任何人所以RSA是一种非对称加密算法扩展:Linux远程登录到服务器时,需要...
目录
RSA是一种公钥加密算法
公钥用来加密,可以发送给服务器
私钥用来解密,一般不能发给任何人
所以RSA是一种非对称加密算法
扩展:
Linux远程登录到服务器时,需要将公钥传给服务器,保留私钥
需要了解的概念(RSA加密过程用到的数学知识)
质数:质数是指在大于1的子自然数中除了1和它本身以外不再有其他因数的自然数。
互质:互质是公约数只有1的两个整数,叫做互质整数。
模反元素:如果两个正整数a和n互质,那么一定可以找到整数b,使得 ab-1 被n整除,或者说ab被n除的余数是1。这时,b就叫做a的“模反元素”。
欧拉函数:在数论,对正整数n,欧拉函数是小于n的正整数中与n互质的数的数目。
例:
φ(6)=2,1和5与6互质
扩展了解:
求欧拉函数的算法
该函数可以返回传入参数的欧拉函数
RSA加密过程
公钥,密钥的生成过程
步骤 | 说明 | 描述 |
1 | 选择一对不相等且足够大的质数 | p,q |
2 | 计算p,q的乘积 | n=p*q |
3 | 计算n的欧拉函数 | φ(n)=(p-1)*(q-1) |
4 | 选择一个与φ(n)互质的整数 | 1<e<φ(n) |
5 | 计算出e相对于φ(n)的模反元素d | de mod φ(n)=1 |
6 | 得到公钥 | KU=(e,n) |
7 | 得到私钥 | KR=(d,n) |
补充参数dp:
dp=d%(p-1)
公钥加密和私钥解密过程
明文 M
密文 C
RSA解密过程
解密含义
有一份rsa加密的公钥,一份加密后的文件
可以根据生成公钥的原理,解出中间过程中的值
利用中间过程中的值就可以计算出私钥
解密过程
根据公钥的信息推出中间的过程值
一个在线的将公钥分离成e,n的工具
该网站得到的n是十六进制,一个进制在线转换器
分离n,得到p,q
这个过程中得到了p,q和n
可以利用python的gmpy2库中的invert函数求出d
生成私钥
用python得的rsa库
私钥解密密文
用rsa库
示例Python解密脚本
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)