在用戶密鑰的產生部分,首先此系統(tǒng)的每一個用戶將自行選擇一組公開密鑰,然后公之于眾,使得他人都能使用此公開密鑰對機密數(shù)據(jù)進行加密,然后自己使用私密密鑰進行解密,獲取機密數(shù)據(jù)。
RSA的密文是對代表了明文的數(shù)字的E次方求mod N的結果。換句話說,就是將明文和自己做E次乘方,然后將其結果除以N求余數(shù),這個余數(shù)就是密文。
加密公式中出現(xiàn)了兩個數(shù)——E和N,到底都是什么數(shù)呢?RSA的加密是求明文的E次方mod N,因此只要知道E和N這兩個數(shù),任何人都可以完成加密的運算。所以說,E和N是RSA加密的密鑰,也就是說,E和N的組合就是公鑰。
不過,E和N并不是隨便什么數(shù)都可以的,它們是經(jīng)過嚴密計算得出的。其中E是加密(Encryption)的首字母,N是數(shù)字(Number)首字母。
有一個很容易引起誤解的地方——E和N這兩個數(shù)并不是密鑰對(公鑰和私鑰的密鑰對)。E和N兩個數(shù)才組成一個公鑰,因此我們一般會寫出“公鑰是(E,N)”或者“公鑰是{E,N}”這樣的形式,將E和N用括號括起來。