1:对称加密
对称加密的加密方和解密方需要约定一个相同的秘钥(加密秘钥和解密秘钥相同),数据发信方将原始数据和加密秘钥一起经过加密算法处理后,将复杂的加密结果发送给接收方。收信方使用同一份秘钥,相同的算法的逆算法来对密文进行解密
特点:算法公开,计算量小,加密速度快,加密效率高
缺点:双方使用同一份秘钥,安全性得不到保证,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量呈几何级数增长,密钥管理成为用户的负担。对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。
具体算法:DES,算法3DES算法......
2:非对称加密
对称加密算法在加密和解密时使用的是同一个秘钥;而非对称加密算法需要两个密钥来进行加密和解密,这两个秘钥是公开密钥(publickey,简称公钥)和私有密钥(privatekey,简称私钥)。
公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。
基本过程:
1、乙方生成一对密钥(公钥和私钥)并将公钥向其它方公开。
2、得到该公钥的甲方使用该密钥对机密信息进行加密后再发送给乙方。
3、乙方再用自己保存的另一把专用密钥(私钥)对加密后的信息进行解密。乙方只能用其专用密钥(私钥)解密由对应的公钥加密后的信息。
在传输过程中,即使攻击者截获了传输的密文,并得到了乙的公钥,也无法破解密文,因为只有乙的私钥才能解密密文。
在非对称加密中使用的主要算法有:RSA
(类似于三次握手)
B想要向A发数据
B-->> A(B:我想向你发数据,请给我你的公钥)
A-->> B(A:我生成了一对公私钥,我把公钥发给你,你用公钥加密数据)
B-->> A(B:我已经用你给我的公钥加密了数据,请接受)
B-->> A (A:从我的公钥池中找到匹配的公钥,然后去找公钥对应的私钥,然后用私钥解密)