对称密钥
对称密钥算法:数据加密和解密时使用相同的密钥。
加密解密速度快,可加密内容较多。
非对称密钥
非对称密钥算法:数据加密和解密时使用不同的密钥,一个是公开的公钥,一个是由用户秘密保存的私钥。利用公钥(或私钥)加密的数据只能用相应的私钥(或公钥)才能解密。
安全性更高,但加密解密更复杂。
是密钥对。
理解流程:
1.A要向B发送信息,A和B都要产生一对用于加密和解密的公钥和私钥。
2.A的私钥保密,A的公钥告诉B;B的私钥保密,B的公钥告诉A。
3.A要给B发送信息时,A用B的公钥加密信息,因为A知道B的公钥。
4.A将这个消息发给B(已经用B的公钥加密消息)。
5.B收到这个消息后,B用自己的私钥解密A的消息。其他所有收到这个报文的人都无法解密,因为只有B才有B的私钥。
RSA
RSA是一种公钥密码算法,它的名字由三位开发者,即Ron Rivest、Adi Shamir和Leonard Adleman的姓氏的首字母组成的。
RSA 算法的可靠性基础:对极大整数做因数分解是很困难的。
这里 n=p*q,我们选择一个 和 (p-1)*(q-1) 互质的 e,接下来发送公钥(n, e)给对方。
生成公钥和私钥的数学步骤如下: