MD5主要用于确保信息传输完整一致。(哈希算法、摘要算法)
将数据运算为另一固定长度值,是杂凑算法的基础原理。前身MD2、MD4
MD5特点:
抗修改性:对原数据进行任何改动,所得到的的MD5值都有很大区别。
强碰撞性:已知原数据和其MD5值,想找到具有相同MD5值的数据是非常难的。
压缩性:任何长度的数据,算出的MD5值长度都是固定。
容易计算:从原数据算出MD5值很容易。
对称密码-DES
对称加密:
在对称加密算法中,数据发信方将明文也就是原始数据和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。
在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。
优点:
算法公开、计算量小、加密速度快、加密效率高。
缺点:
密钥易泄露、密钥管理困难。
DES简介:
DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法,1977年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并授权在非密级政府通信中使用,随后该算法在国际上广泛流传开来。
DES算法:
初始置换、密钥置换、E扩展置换、S盒代替、P盒置换、逆初始置换
非对称加密-RSA
非对称加密:
非对称加密算法需要两个密钥:公开密钥( publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫做非对称加密算法。
优缺点:
优点:
安全性更好、密钥管理简单。
缺点:
加密和解密花费时间长、占用系统资源大。
RSA:
数学基础--
互质关系、欧拉基础、欧拉定理、模反函数、扩展欧几里得算法