在用户密钥的产生部分,首先此系统的每一个用户将自行选择一组公开密钥,然后公之于众,使得他人都能使用此公开密钥对机密数据进行加密,然后自己使用私密密钥进行解密,获取机密数据。
RSA的密文是对代表了明文的数字的E次方求mod N的结果。换句话说,就是将明文和自己做E次乘方,然后将其结果除以N求余数,这个余数就是密文。
加密公式中出现了两个数——E和N,到底都是什么数呢?RSA的加密是求明文的E次方mod N,因此只要知道E和N这两个数,任何人都可以完成加密的运算。所以说,E和N是RSA加密的密钥,也就是说,E和N的组合就是公钥。
不过,E和N并不是随便什么数都可以的,它们是经过严密计算得出的。其中E是加密(Encryption)的首字母,N是数字(Number)首字母。
有一个很容易引起误解的地方——E和N这两个数并不是密钥对(公钥和私钥的密钥对)。E和N两个数才组成一个公钥,因此我们一般会写出“公钥是(E,N)”或者“公钥是{E,N}”这样的形式,将E和N用括号括起来。