傳統密碼:加密算法是祕密的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