对称加密算法

对称加密特点

加密与解密使用的**相同
在一定程度上实现了数据的机密性,且简单、快速
但是由于算法一般都是公开的,因此机密性几乎完全依赖于**

1、DES(Data Encrytion Standard)

(1)已经能够被暴力**,强度大不如前
(2)建议不要使用
(3)**8个字节,64位(其实只使用了56bit,每七个bit就会设置一个校验位)
(4)加密时,会对明文进行分组,分组长度是8byte,密文也是8byte为一组。
特点:
DES是一种将64比特的明文加密成64比特的密文的加密密码算法,它的**长度是56比特。尽管从规格上来说,DES的**长度是64比特,但由于每个7比特会设置一个用于错误检验的比特,因此实质上其**长度是56比特。
DES是以64比特的明文(比特序列)为一个单位进行加密的,这个64比特的单位称为分组。一般来说,一分组为单位进行处理的密码算法称为分组密码,DES就是分组密码的一种。
DES每次只能加密64比特的数据,如果要加密的明文比较长,就需要对DES加密进行迭代(反复),而迭代的具体方式就成为模式。
对称加密算法

2、3DES(Triple Data Encrytion Standard)

特点:
(1)加密过程:加密 ——> 解密 ——> 加密
(2)中间使用解密的原因是为了兼容以前的DES
(3)解密过程是以解密的方式进行加密,整体还是三次加密
(4)**:8bytes * 3 = 24 bytes =>24 * 8 = 192 bit
(5)数据分组长度:与DES相同,8bytes(64比特)
加密解密效率低,过度的加密算法

3、AES(Advance Encrytion Standard)

AES是取代其前任标准而成为新标准的一种对称密码算法。全世界的企业和密码学家提交了多个对称密码算法作为AES的候选,最终在2000年从这些算法中选出了一种名为Rijndael的对称密码算法,将其确定为了AES。该算法也是一种分组密码算法,分组长度为128比特,**长度可以以32比特长度为单位在128比特到256比特的范围内进行选择(不过在AES的规格中,**长度只有128、192和256比特三种)。
**:128位(16字节)、192位(24字节)、256位(32字节)
分组:16字节(128位)
特点:
(1)**长度可选,128位(16字节)、192位(24字节)、256位(32字节)传统的DES为8bytes,3DES为24bytes
(2)分组长度:16bytes(DES和3DES都是8bytes)
(3)加解密效率高