上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.3 非对称加密
非对称加密是指进行明文到密文加密和进行密文到明文解密时使用不同的密钥。非对称加密算法在使用前首先要生成公私钥对,一个用于加密,另一个用于解密,其中用于加密的密钥可以公开,称为公钥(Public Key),用于解密的密钥需要严格保存不能公开,称为私钥(Private Key)。
例如,当Alice向Bob请求公钥时,Bob将公钥发送给Alice。Alice获得公钥后使用公钥对消息加密,对于加密后的消息,只有加密公钥所对应私钥的持有者才能解密消息,在这里也就是私钥的拥有者Bob。Alice使用获得的公钥将消息加密后发送给Bob,然后Bob用自己的私钥进行解密,获得原始信息。与对称加密不同的是,Bob不需要将私钥通过网络发送出去,因此安全性大大提高。非对称加密如图1-2所示。
图1-2 非对称加密
非对称加密解决了对称加密中密钥传输难的问题,降低了密钥管理的难度,通信双方不需要建立一个安全的信道即可进行密钥的交换,但这样产生了新的问题。
非对称加密的加解密速度慢于对称加密,不适合大量数据需要加解密的场景,性能相对较差。同时因为公钥公开,如果有人用公钥加密数据发送给接收者,接收者是无法判断发送者身份的。
非对称加密代表算法:RSA、椭圆曲线算法(ECC)、SM2。