*
本文只讨论一个问题,在非对称加密算法RSA中,什么是公钥什么是私钥
非对称加密算法
非对称加密算法有很多,例如RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)。
在在这些算法中,RSA最为常用,因此,在没有特殊说明的情况下,常说的公钥、私钥都指的的RAS的公钥、私钥。
这里也是以RSA算法为例,来讨论非对称加密中的公钥和私钥 。
RSA加密算法
要想了解公钥和私钥的区别,就要从它们的产生开始。
这里我默认读者已经了解了RSA算法。如果还不了解,请先去看这两篇文章。
RSA算法原理(一)
RSA算法原理(二)
特别是 RSA算法原理(二)一定要仔细看一遍,不然下面的内容你将看不懂。
RSA加密算法中的公钥和私钥
看过上面两篇文章的人应该已经知道了,在RSA加密算法中有6个非常关键数字,他们是算法的核心。
这6个数字分别是
- 大质数p
- 另一个大质数q
- p和q的乘积n
- n的欧拉函数φ(n) 注:φ(n) = (p-1)(q-1)
- 一个随机整数e,1< e < φ(n),且e与φ(n) 互质
- e对于φ(n)的模反元素d 注:所谓"模反元素"就是指有一个整数d,可以使得ed被φ(n)除的余数为1。
其中(n,e)在一起组成了公钥,(n,d)在一起组成了私钥。
现在让我们来回答最开始提出是问题