概述:
对称加密算法在加密和解密时使用的是同一个秘钥;
而非对称加密算法需要两个密钥来进行加密和解密,这两个秘钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)。
优缺点:
非对称加密与对称加密相比,其安全性更好:对称加密的通信双方使用相同的秘钥,如果一方的秘钥遭泄露,那么整个通信就会被破解。而非对称加密使用一对秘钥,一个用来加密,一个用来解密,而且公钥是公开的,秘钥是自己保存的,不需要像对称加密那样在通信之前要先同步秘钥。
非对称加密的缺点是加密和解密花费时间长、速度慢,只适合对少量数据进行加密。
在非对称加密中使用的主要算法有:RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)等。
不同算法的实现机制不同,可参考对应算法的详细资料。
算法选择:对称加密AES,非对称加密: ECC,消息摘要: MD5,数字签名:DSA
对称加密算法(加解密密钥相同)
名称
|
密钥长度
|
运算速度
|
安全性
|
资源消耗
|
DES
|
56位
|
较快
|
低
|
中
|
3DES
|
112位或168位
|
慢
|
中
|
高
|
AES
|
128、192、256位
|
快
|
高
|
低
|
非对称算法(加密密钥和解密密钥不同)
名称
|
成熟度
|
安全性(取决于密钥长度)
|
运算速度
|
资源消耗
|
RSA
|
高
|
高
|
慢
|
高
|
DSA
|
高
|
高
|
慢
|
只能用于数字签名
|
ECC
|
低
|
高
|
快
|
低(计算量小,存储空间占用小,带宽要求低)
|
散列算法比较
名称
|
安全性
|
速度
|
SHA-1
|
高
|
慢
|
MD5
|
中
|
快
|