非对称加密算法

个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一、概述

因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法.

非对称加密算法需要两个密钥:公开密钥和私有密钥. 公开密钥与私有密钥是一对的,这两个共同组成一个解钥,才能实现解密。

特点: 高级、双保险

种类:

DH(Diffie-Hellman)密钥交换算法

RSA——基于因子分解  ,RSA是可以双向加密的:私钥加密,公钥解密;公钥加密,私钥解密。

EIGamal——基于离散对数

ECC(Elliptical Curve Cryptography)——椭圆曲线加密

说明:如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密. 如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密(某些算法有提供). 非对称加密算法实现机密信息交换的基本过程是: 甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开,得到该公用密钥的乙方使用该密钥对信息进行加密后再发送给甲方. 甲方再用自己保存的另一把专用密钥对加密后的信息进行解密. 另一方面,甲方可以使用乙方提供的公钥对信息进行加密后再发送给乙方,乙方再用自己的私匙对数据进行解密.

二、密钥交换算法DH 1、DH算法概述

DH 对称加密算法:数据安全、密钥管理复杂、密钥传递过程复杂(存在密钥泄露问题)

非对称加密算法

非对称加密算法的特点:

算法强度复杂、安全性依赖于算法与密钥.但是由于算法复杂,使得非对称算法加解密速度没有对称算法加解密的速度快.

对称密钥体制中只有一种密钥,并且是非公开的,如果要解密就得让对方知道密钥.所以保证其安全性就是保证密钥的安全.

非对称密钥体制有两种密钥,其中一个是公开的,这样就可以不需要像对称密码那样向对方传输密钥了.因此安全性就大了很多.

对称密钥与非对称密钥比较:

算法复杂度:对称密钥<非对称密钥

加解密速度:对称密钥>非对称密钥

安全性:对称密钥<非对称密钥

2、DH算法实现过程及相关类详解

【1】DH加密算法 密钥交换:

初始化发送方密钥,如:

KeyPairGenerator

KeyPair

PublicKey

//创建KeyPairGenerator对象 通过KeyPairGenerator来得到KeyPair类的对象, KeyPairGenerator senderKeyPairGenerator = KeyPairGenerator.getInstance("DH");

非对称加密算法

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyxfwy.html