對稱密鑰體制是加密密鑰與解密密鑰密碼相同,兩個參與者***享同壹個密鑰。
公鑰密碼體制是使用不同的加密密鑰和解密密鑰,加密密鑰是公開信息,而解密密鑰需要保密。
公鑰密碼體制有很多良好的特性,它不僅可以用來加密,還可以很方便的用於鑒別和數字簽名。但公鑰密碼算法比對稱密鑰密碼算法要慢好幾個數量級。
對稱密鑰體制的加解密速度快且安全強度高,但密鑰難管理和傳送,不適於在網絡中單獨使用。
密鑰的產生
1、選擇兩個大素數,p和q。
2、計算:n = p * q (p,q分別為兩個互異的大素數,p,q必須保密,壹般要求p,q為安全素數,n的長度大於512bit,這主要是因為RSA算法的安全性依賴於因子分解大數問題)。有歐拉函數(n)=(p-1)(q-1)。
3、然後隨機選擇加密密鑰e,要求e和( p - 1 ) * ( q - 1 )互質。
4、最後,利用Euclid算法計算解密密鑰d,滿足de≡1(modφ(n))。其中n和d也要互質。數e和n是公鑰,d是私鑰。兩個素數p和q不再需要,應該丟棄,不要讓任何人知道。