对称加密:加密和解密使用的密钥是同一个
优点:计算量小,算法速度快,加密效率高 缺点:密钥容易泄漏。不同的会话需要不同的密钥,管理起来很费劲
常用算法:DES,3DES,IDEA,CR4,CR5,CR6,AES
非对称加密:需要公钥和私钥,公钥用来加密,私钥用来解密
优点:安全,不怕泄漏 缺点:速度慢
常用算法:RSA,ECC,DSA
消息摘要算法列举一下,介绍MD5算法,为什么MD5是不可逆的,有什么办法可以加强消息摘要算法的安全性让它不那么容易被破解呢?
消息摘要算法有MD家族(MD2,MD4,MD5),SHA家族(SHA-1,SHA-256)和CRC家族(CRC8,CRC16,CRC32)等等
MD5算法介绍:
MD5以512位分组来处理输入的信息,且每一分组又被划分为若干个小分组(16个32位子分组),经过一些列的处理后,算法输出由四个散列值(32位分组组成的128位散列值。)
MD5首先将输入的信息分成若干个512字节长度的分组,如果不够就填充1和若干个0。
对每个512字节的分组进行循环运算。使用四个幻数对第一个分组的数据进行四轮变换,得到四个变量。
接下来对其中三个使用线性函数进行计算,与剩下一个相加,并赋值给其中某个变量,得到新的四个变量,重复16次这个过程,得到的四个变量作为幻数,与下一个分组进行相似的计算。
为什么不可逆:因为MD5在进行消息摘要的过程中,数据与原始数据相比发生了丢失,所以不能由结果进行恢复。
加强安全性:加盐(加随机数)