RSA算法是實作非對稱加密的一種算法,其用到很多有關數論的内容,在此我們不多讨論。而将目光聚焦于算法的實作過程。
RSA過程:
第一步:挑選兩個質數a,b,比如:a=61和q=53。這兩個質數需要通過HD算法(HD算法可以看另一篇文章)傳送給接收方。
第二步:計算N=a
*b=61*53=3233
第三步:計算(a-1)*(b-1)=60*52=3120
第四步:選擇與3120互質的一個數e=17,這個e也就是我們的公鑰,需要公開在網絡上。
第五步;計算得出d,這個d就是我們的私鑰用來解密資訊。需要我們自己儲存。d的計算方法是求e關于3120的模逆,得出d=2753。具體的計算過程可以使用Euclid算法得到模逆。
以上我們所得到的公鑰和私鑰已經可以用來傳遞密文。
例如:
如果要傳遞的資訊為5。那麼傳遞到網上的密文為5^17(mod3233)=3086。接收方收到密文3086,解密3086^2753(mod3233)=5,就可以得到傳遞的資訊5。

實際的RSA公鑰
RSA的應用:數字簽名。