RSA算法是一種非對稱密碼算法,所謂非對稱,就是指該算法須要一對
密鑰,使用其中一個加密,則須要用另外一個才能解密。
RSA的算法涉及三個參數,n、e一、e2。
其中,n是兩個大質數p、q的積,n的二進制表示時所佔用的位數,就是所謂的密鑰長度。
e1和e2是一對相關的值,e1能夠任意取,但要求e1與(p-1)*(q-1)
互質;再選擇e2,要求(e2*e1)mod((p-1)*(q-1))=1。
(n,e1),(n,e2)就是密鑰對。其中(n,e1)爲
公鑰,(n,e2)爲私鑰。[1]
RSA加解密的算法徹底相同,設A爲明文,B爲密文,則:A=B^e2 mod n;B=A^e1 mod n;(公鑰加密體制中,通常用公鑰加密,私鑰解密)
e1和e2能夠互換使用,即:
A=B^e1 mod n;B=A^e2 mod n;