以分组为单位进行处理的密码算法称为分组密码(blockcipher)
编码
计算机的操作对象并不是文字,而是由0和1排列而成的比特序列。
将现实世界中的事物映射为比特序列的操作称为编码(encoding )
加密 ☞ 编码
解密 ☞ 解码
DES (Data Encryption Standard)
密钥长度:56bit(原始密钥) + 8bit(每隔7bit设置1bit用于错误检查)
对明文进行分组(每组64bit)加密。密文和明文等长。
不安全,已被破解。
3DES (Triple-DES)
为了增加DES的强度,将DES重复3次
密钥1 + DES Encode(明文) = 密文1
密钥2 + DES Decode(密文1) = 结果1
密钥3 + DES Encode(结果1) = 最终密文
加密 -> 解密 -> 加密,是为了兼容 DES(三个密钥一致的情况下)
安全,但是效率低。
AES (Advanced Encyption Standard)
取代其前任标准 DES。密钥长度有128bit, 192bit和256bit三种。
安全,效率高,对称加密首选
分组长度为128bit。