对称加密
解释:用一个密钥进行加密解密
举例:
A和B当面确定密钥或者在安全信道中传递密钥后,
A通过密钥加密明文(需要传递的未经过加密的信息)后传递给B,
B通过已经知道的密钥进行解密,反之亦然。
优点:
- 效率高
缺点:
- 不方便当面沟通和没有安全信道的情况下的两个用户之间如何确定密钥
- 用户增多的情况下,密钥的管理和更新
算法:
DES,IDEA,3DES 加密算法
非对称算法
解释:
每个用户有两个密钥进行相互加密解密,一个公开叫公钥,另一个不公开叫密钥,
公钥和密钥都可以进行加密,确定公钥之后,需要用私钥加密。
举例
A和B都有一对密钥,A把A的公钥公开传给B,B用A的公钥加密自己的公钥传个A,A用自己的密钥获取得到B的公钥。
优点:
- 安全
缺点:
- 加解密比对称加密耗时,效率低
- 如果C用A的公钥传递错误信息给A,A分辨不了(可通过数字签名解决)
算法:
RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)
Hash算法(摘要算法)
解释:
hash算法单向不可还原,用不同的数据进行hash算法得到的值都是唯一的,并且不能推算出源数据。常用重要信息校验。
算法:
MD2、MD4、MD5、HAVAL、SHA
数字签名
解释:
用来校验信息的完整性,发送者的身份认证,防止反悔。
举例:
A传递加密明文,和对明文进行hash算法得到的摘要,
B通过密钥进行解密获取明文,
通过对明文hash算法得到的摘要跟A传递过来的摘要进行比较从而可以知道明文有没有被修改。