公钥加密算法
一.简介 公钥加密算法需要两个密钥:公开密钥(publickey )和私有密钥
(privatekey )。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,
所以这种算法叫作非对称加密算法。
图1 非对称加密的简化模型
非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。 另一方面,甲方可以使用乙方的公钥对机密信息进行签名后再发送给乙方;乙方再用自己的私匙对数据进行验签。
甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。 非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。
非对称密码体制的特点:密钥管理简单,算法强度复杂、安全性依赖于算法与密钥;但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。
二.起源
W.Diffie 和M.Hellman 1976年在IEEE Trans.on Information刊物上发表了“ New Direction in Cryptography”文章,提出了“非对称密码体制即公开密钥密码体制”的概念,开创了密码学研究的新方向。
三.基本原理
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 的私钥。
图2 非对称加密的基本过程
四.主要功能
非对称加密体系不要求通信双方事先传递密钥或有任何约定就能完成保密通信,并且密钥管理方便,可实现数字签名,从而可实现防止假冒和抵赖的安全目标。因此,非对称加密更适合网络通信中的保密通信要求。
五.代表算法
非对称加密的代表算法有:RSA 、Elgamal 、背包算法、Rabin 、D-H 、ECC (椭圆曲线加密算法)。其中,使用最广泛的是基于大质数分解的RSA 算法和基于离散对数问题的Elgamal 算法。
公钥加密算法
一.简介 公钥加密算法需要两个密钥:公开密钥(publickey )和私有密钥
(privatekey )。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,
所以这种算法叫作非对称加密算法。
图1 非对称加密的简化模型
非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。 另一方面,甲方可以使用乙方的公钥对机密信息进行签名后再发送给乙方;乙方再用自己的私匙对数据进行验签。
甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。 非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。
非对称密码体制的特点:密钥管理简单,算法强度复杂、安全性依赖于算法与密钥;但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。
二.起源
W.Diffie 和M.Hellman 1976年在IEEE Trans.on Information刊物上发表了“ New Direction in Cryptography”文章,提出了“非对称密码体制即公开密钥密码体制”的概念,开创了密码学研究的新方向。
三.基本原理
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 的私钥。
图2 非对称加密的基本过程
四.主要功能
非对称加密体系不要求通信双方事先传递密钥或有任何约定就能完成保密通信,并且密钥管理方便,可实现数字签名,从而可实现防止假冒和抵赖的安全目标。因此,非对称加密更适合网络通信中的保密通信要求。
五.代表算法
非对称加密的代表算法有:RSA 、Elgamal 、背包算法、Rabin 、D-H 、ECC (椭圆曲线加密算法)。其中,使用最广泛的是基于大质数分解的RSA 算法和基于离散对数问题的Elgamal 算法。