对称加密
对称加密也被称为常规加密、私钥或单钥加密,在公钥加密开发之前,是唯一被使用的加密类型,现在,它仍然属于最广泛的两种加密类型之一。
对称加密原理
一个对称加密方案由5部分组成:
1. 明文(plaintext):原始消息,作为算法的输入;
2. 加密算法(encryption algorithm):对明文进行各种替换和转换;
3. 密钥(secret key):密钥也是加密算法的输入之一,算法进行的具体替换和转换取决于密钥;
4. 密文(ciphertext):已被加密算法打乱的消息输出;
5. 解密算法(decryption algorithm):本质是加密算法的反向执行,使用密文和同一个密钥作为输入产生原始明文。
所有的加密算法都基于两个通用法则:替换——明文的每一个元素(比特、字母、一组比特或一组字母)被映射成另外一个元素;排列组合——明文的元素都被再排列。这些操作最基本的要求是没有信息丢失(即所有操作都可逆)。
对称分组加密结构
分组加密将待处理的明文消息分成固定大小长度的分组明文输入,对每个明文分组进行处理并产生同等大小的密文分组输出。
Feistel密码结构是被很多主流对称分组加密算法使用的密码