对称密码算法 (DEC加密解密)
1:什么是对称密码算法
对称密码算法又称为传统密码算法、秘***算法或单**算法。
对称密码算法的加***与解***存在一定的关系,加***可以从解***中推出。
大多数对称算法中,加密解***是相同的。
2:对称密码算法可分为 序列算法 和 分组算法
序列算法:一次只对明文中的单个位进行运算
分组算法:一次对明文的一组位进行运算
3:对称**常见的数学运算
移位和循环移位
置换
扩展
压缩
异或
迭代 多次重复相同的运算
DES算法学习
1:DES算法是一种 迭代算法,对明文中的每个分组的加密过程都包含16轮,每一轮的操作完全相同,且
每轮都使用不同的**进行加密。
2:初始置换和逆初始置换
初始置换
逆初始置换
3:等分** (64去掉8位奇偶校验变成56位 56进行分组 每组28位)
4:16个子**的诞生(每组28位进行规定的循环移位操作 移位后将两组**合并成56位)
5: 子**从58位变成48位之谜(进行置换)
6:f函数的秀操作
首先 将32位明文扩展至48位
扩展函数
其次 将扩展后的明文和子**进行 XOR 操作
而后 将XOR操作后的48位进行分组 共分为8组 每组6位
再 将 8组进行压缩操作 将6位压缩成 4位 (利用8个S盒进行置换操作)
最后 将 8组进行整合 输出一轮加密后的密文
7:将f函数操作后的32位**与 原文置换后分组**中为被f函数操作的那组 进行 XOR操作
将XOR操作后的**和被f函数操作那组**进行整合
可以根据 C0=C16 D0=D16 将C16 和 D16 **推导出来 然后进行相应的右移操作可以依次获得所有**
8: DES解密(逆加密算法)
注意第一次变换使用 第16个**解密 以此类推
并且 对加密过程最后一步未加密的部分进行加密操作 及 对 L进行操作
问 核心思想