对称加密:
用一个密钥进行加密,同一个密钥也可以对信息进行解密。
特点:算法比较简单,加密速度快,加密效率高;密钥是保密通信的关键,如何把密钥安全的送到收信方才是对称加密的突出问题;N个合作者,就需要N个不同的密钥,密钥分发复杂;网络用户需要保存的密钥太多。
对称加密算法:DES、TDEA(3DES)、IDEA、AES。
非对称加密:
需要两个密钥,公开密钥和私有密钥。公开密钥与私有密钥是一对,用公开密钥进行加密,只有用对应的私有密钥才能解密。公开密钥与私有密钥可以互换。
特点:安全性更高,算法复杂,加密速度慢;被加密的数据块长度不宜太长。
流程:数据接收方生成公开密钥和私有密钥并将公开密钥公开,发送方拿到公开密钥对需要发送的数据进行加密,将密文发送给接收方,接收方接收到密文后用私有密钥进行解密。
非对称加密算法:RSA、Elgamal、Rabin.
对比:
对称加密 | 非对称加密 |
算法简单 | 算法复杂 |
加/解密速度快 | 加/解密速度慢 |
密钥有发送方生成 | 密钥由接收方生成 |
混合加密:
结合对称加密与非对称加密的优缺点,目前一般使用混合加密方法。
流程:接收方生成公开密钥和私有密钥并将公开密钥公开,发送方生成对称加密的密钥对需要发送的文件进行加密生成密文,发送方将密钥用公开密钥进行加密,发送方将加密后的密钥和密文发送给接收方,接收方先用私有密钥对加密后的密钥进行解密,用解密后的密钥对密文进行解密,得到明文。
特点:由于一般需要加密的文件很大,如果用非对称加密加解密速度慢,所以用对称加密进行加密然后用非对称加密对密钥进行加密。