2.3.1 非对称加密技术简介

2.3.1 非对称加密技术简介

非对称加密技术是美国学者W.Diffie和M.Hellman于1976年在IEEE Trans.onInformation期刊上提出的一种新的密钥交换协议,用于解决信息公开传送和密钥管理问题,可以在不直接传递密钥的情况下完成加密、解密过程,又名“公开密钥密码算法”。这对当时的密码学领域有深刻的意义,为密码学的研究开辟了新方向。

1.非对称加密的概念

在非对称加密算法中,加/解密信息的过程需使用一组密钥对,称为公钥和私钥,该密钥对由接收方生成。若使用公钥加密信息,则只能使用对应的私钥进行解密;若使用私钥加密信息,则只能使用对应的公钥进行解密。若要求接收方将公钥公开给其他人,则私钥必须由接收方保存且保密,并且不能让其他人轻易地通过公钥推出私钥。因为加密和解密用的是不同的密钥,所以称为非对称加密。

2.非对称加密的工作原理

非对称加密的工作原理如图2.25所示,详述如下。

图2.25 非对称加密的工作原理

①A要向B发送信息,A和B都要产生一对用于加密和解密的公钥和私钥。

②A的私钥保密,A的公钥告诉B;B的私钥保密,B的公钥告诉A。

③A要给B发送信息时,A用B的公钥加密信息,因为A知道B的公钥。

④A将这个消息发给B(已经用B的公钥加密消息)。

⑤B收到这个消息后,B用自己的私钥解密A的消息。其他所有收到这个报文的人都无法解密,因为只有B才有B的私钥。

3.非对称加密的特点

非对称加密的密钥分配不必保持信道的保密性,算法复杂,相较于对称加密技术,安全性更强,可用来签名和抗抵赖。因为对称密码体制中只有一种密钥,并且是非公开的,如果要解密需要让对方知道该密钥,所以保证信道安全性就是保证密钥的安全。而非对称密钥体制有两种密钥,其中一个密钥(公钥)是公开的,因此无须像对称密码一样传输对方密钥,这样安全性更有保障。但由于非对称加密算法十分复杂,相较于对称加密技术,其加密速度慢且对处理能力要求高,因此不便于在小型移动设备上实现,它主要用于短消息和对称密钥的加密。

4.非对称加密的应用场景

(1)信息加密

接收者是唯一能够解开加密信息的人,因此接收者拥有的必须是私钥。发送者所拥有的是公钥,其他人知道公钥没有关系,因为其他人发来的信息对接收者来说没有意义。

(2)登录认证

客户端需要将认证标识传送给服务器,此认证标识其他客户端可以知道,因此需要用私钥加密,客户端保存的是私钥。服务器端保存的是公钥,其他服务器知道公钥没有关系,因为客户端不需要登录其他服务器。

(3)数字签名

数字签名是为了表明信息并非伪造,确实是信息的拥有者发出来的,附在信息原文的后面。就像手写的签名一样,数字签名具有不可抵赖性和简洁性。不可抵赖性指的是信息的拥有者要保证签名的唯一性,该拥有者必须是唯一能够加密的人,因此必须用私钥加密。

非对称加密技术包括的算法主要有RSA、ElGamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)等,下面我们将要介绍的就是到目前为止使用最广泛的一种算法——RSA算法。