實驗介紹:
一個金鑰(公鑰)是公開的,另一個金鑰(私鑰)必須保密,且由公鑰求解私鑰的計算是不可行的。
RSA
1選取質數p和q(pq不可公開)
2計算n=pq,φ(n)=(p-1)(q-1)
3隨機選取整數e作為公鑰,要求1<e<φ(n),e和φ(n)互質
如果不互質,就沒有逆元,算不出私鑰。
4計算私鑰d,怎麼計算呢,使用歐幾里得演算法先算出e在φ(n)下的逆元,再求e逆元在modφ(n)下的值。
舉例:p=43,q=59,n=pq=43x59=2537.
φ(n)=(p-1)(q-1)=42x58=2436
選取e=13,滿足1<e<φ(n),e和φ(n)互質,ed=1modφ(n)
d=937
加密
解密
私信發python程式碼