对称加密
对称加密(也叫私钥加密)——指加密和解密使用相同密钥的加密算法。
有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来。而在大多数的对称算法中,加密密钥和解密密钥是相同的,所以也称这种加密算法为秘密密钥算法或单密钥算法。它要求发送方和接收方在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密,所以密钥的保密性对通信性至关重要。
特点:
对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。不足之处是:
交易双方都使用同样钥匙,安全性得不到保证。此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量呈几何级数增长, 密钥管理成为用户的负担。
具体算法:
DES算法,3DES算法,TDEA算法, Blowfish算法, RC5 算法,IDEA算法。
非对称加密
非对称加密算法是一种密钥的保密方法。
非对称加密算法需要两个密钥: 公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。
非对称加密算法实现机密信息交换的基本过程是:
- 1,甲方生成一对 密钥并将其中的一把作为公用密钥向其它方公开;
- 2,得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;
- 3,甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。
另一方面,甲方可以使用乙方的公钥对机密信息进行签名后再发送给乙方;乙方再用自己的私匙对数据进行验签。
甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。
特点:
非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。不足之处是:
非对称加密的缺点是加解密速度要远远慢于对称加密,在某些极端情况下,甚至能比非对称加密慢上1000倍。
具体算法:
RSA、Elgamal、背包算法、Rabin、HD,ECC(椭圆曲线加密算法)。