RSA加密算法的“世界观”

RSA加密算法的“世界观”RSA算法是1977年由麻省理工学院的Ron Rivest,Adi Shamir和Leonard Adleman一起提出的非对称加密算法。

大家好,欢迎来到IT知识分享网。

概念

RSA算法是1977年由麻省理工学院的Ron Rivest,Adi Shamir和Leonard Adleman一起提出的非对称加密算法。

RSA设计思想:两个大素数相乘得数十分容易计算,但是对两个素数的乘积再进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。

加密和解密过程

  • 加密过程:

在密钥生成过程中,首先生成两个大的质数(素数)p和q,令

n=p*q;

m=(p-1)*(q-1);

选取较小的数e,使e和m互质,即e和m的最大公约数为1,然后生成d,使

d*emod m=1;

最后丢弃P,q,m,则公钥为e,n,私钥为d和n.

将明文x加密成密文y的计算公式为:

x=y^d mod n;

从公式可见,加密牵涉到明文和公钥。因此,密文即使被截获,也无法被解读出来。

  • 解密过程:

将密文y解密成明文x的计算公式为:

x=y^d mod n;

从公式可见,解密只牵涉到私钥和密文。因此,只要保管好私钥,不泄密,就可以放心地把密文和公钥公开。

对称加密与非对称加密的技术原理

RSA加密算法的“世界观”

RSA实现流程

RSA加密算法的“世界观”

实际应用案例

  • 私钥加密后公钥解密==>我传数据给客户使用【我私钥加密,客户公钥解密】
RSA加密算法的“世界观”

RSA加密算法的“世界观”

RSA加密算法的“世界观”

  • 公钥加密后私钥解密)==>客户回传数据给我【客户公钥加密、我私钥解密】
RSA加密算法的“世界观”

RSA加密算法的“世界观”

RSA-Python实现脚本

import math

# 求欧拉函数

def getEuler(pr1, pr2):

return (pr1 – 1) * (pr2 – 1)

#求私钥

def getDKey(e, Eulervalue):

k = 1

while True:

if (((Eulervalue * k) + 1) % e) == 0:

(d, m) = divmod(Eulervalue * k + 1, e)

return d #避免科学计数法最后转int失去精度

K += 1

#求明文

def Ming(c, d, n):

return pow(c, d, n)

if __name__==’__main__’:

”’

依据p=1,q=,e=17 可以取私钥值

使用方法:

替换:p q e 的值

”’

p = 1

q =

d = getDKey(17, getEuler(p, q))

print(“d为:%d” % d)

RSA加密算法的“世界观”

注:兑现承诺,尽量多的使用Python解决安全问题

版权说明:请尊重原创版权,版权归本人所有。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/69583.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信