传统密码:加密算法是秘密的python
现代密码系统:加密算法是公开的,密钥是秘密的算法
公钥:用来加密,是公开的函数
私钥:用来解密,是私有的测试
加密过程:c = (m^e) mod n加密
解密过程:m = (c^d) mod nspa
In[1]:p = 53 In[2]:q = 59 In[3]:n = p * q In[4]:fai = (p-1)*(q-1) # 欧拉函数 In[5]:e = 3 # 与fai互质的小奇数 In[6]:d = 2011 # 求得逆元d,知足(e*d)mod fai = 1 In[7]:(e*d) % fai Out[9]: 1 In[10]:print(e,n) # 这两个组成公钥 3 3127 In[11]:print(d,n) # 这两个组成私钥 2011 3127 In[12]:m = 87 # 定义要传输的明文 In[13]:c = (m**e) % n # 加密获得密文 In[14]:c Out[14]: 1833 In[15]:(c**d) % n # 解密获得明文 Out[15]: 87