对称加密
[算法]
在加密和解密时使用的是同一个秘钥;而[非对称加密算法]
需要两个[密钥]
来进行加密和解密,这两个秘钥是[公开密钥]
(public key,简称公钥)和私有密钥(private key,简称私钥)。
DES加密(数据加密算法)
AES加密(高级加密标准)
替代DES加密
- 字节替代(SubBytes)
- 行移位(ShiftRows)
- 列混淆(MixColumns)
- 轮密钥加(AddRoundKey)
参考博客 http://www.mamicode.com/info-detail-514466.html
MD5加密(信息-摘要算法)
MD5功能:
- 输入任意长度的信息,经过处理,输出为128位的信息(数字指纹);
- 不同的输入得到的不同的结果(唯一性);
- 根据128位的输出结果不可能反推出输入的信息(不可逆);
MD5用途
- 1、防止被篡改:
- 2、比如发送一个电子文档,发送前,我先得到MD5的输出结果a。然后在对方收到电子文档后,对方也得到一个MD5的输出结果b。如果a与b一样就代表中途未被篡改。2)比如我提供文件下载,为了防止不法分子在安装程序中添加木马,我可以在网站上公布由安装文件得到的MD5输出结果。
- 3、SVN在检测文件是否在CheckOut后被修改过,也是用到了MD5.
SHA加密(安全散列算法)
接收一段明文,然后以一种不可逆的方式将它转换成一段密文,也可以简单的理解为取一串输入码,并把这个信息转化为长度较短、位数固定的输出序列即散列值(也称为信息认证代码)的过程。适用于长度不超过
2^64 二进制位的消息。根据长度小于2^64 位的消息,它会产生一个160位的信息摘要
优点
- 不可逆——(无法推出任何部分的原始信息)
- 防冲突—— (任何输入的信息的变化,哪怕一位,都将导致结果变化)
- 具有良好的雪崩效应——(找不到具有相同散列结果的两条信息)
RSA加密
与对称加密[算法]不同,[非对称加密算法]需要两个[密钥]:
[公开密钥](publickey)
和私有密钥(privatekey)
。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密
和解密
使用的是两个不同的[密钥],所以这种算法叫作[非对称加密算法]
。
RSA
加密原理
RSA
是常用的加密模式,其加密原理可用以下的例子进行简要的论述。
随机取两个质数
1 | P = 61; |