[密码学]DES

先声明两个基本概念

代换(substitution),用别的元素代替当前元素。des的s-box遵循这一设计。

abc-->def

置换(permutation),只改变元素的排列顺序。des的p-box遵循这一设计。

abc-->bac

DES最核心的算法就是feistel结构的16轮加密 。

该结构以工作在IBM的德国密码研究员Horst Feistel的名字命名。其中涉及轮函数F,和每一轮的子密钥K。

F函数内部:

依次经过带<扩展属性>的p-box(会产生重复的元素),(与每一轮对应的子密钥K)异或,带<压缩属性>s-box,正常的p-box。

子密钥K的生成方法:

标准的DES要求密钥为64bit,但是每8位中最后一位为奇偶校验位,不参与真正的加密。

pc--permutation choice,也是带<压缩属性>的p-box

经过pc1盒----舍弃奇偶校验位(共8bit,剩下56bit)并置换。

记56bit的左28bit为C0,右28bit为D0。C0,D0进行循环左移,左移的位数根据当前的加密轮次不同。

再经过pc2盒,即可生成当前轮次的子密钥。

相关推荐
CyberSecurity_zhang7 小时前
汽车信息安全--关于安全强度的误区
信息安全·汽车·密码学·安全强度
国服第二切图仔18 小时前
Rust开发实战之密码学基础——哈希计算与对称加密实战
rust·密码学·哈希算法
粉色挖掘机1 天前
矩阵在密码学的应用——希尔密码详解
线性代数·算法·机器学习·密码学
电院工程师2 天前
SIMON64/128算法Verilog流水线实现(附Python实现)
python·嵌入式硬件·算法·密码学
YuanDaima20482 天前
安全协议设计入门:原理与分析
人工智能·笔记·安全·网络安全·密码学·安全协议·课程
voice6704 天前
西电现代密码学实验一
开发语言·python·密码学
voice6705 天前
密码学实验二
算法·密码学·哈希算法
颇有几分姿色5 天前
密码学算法分类指南
算法·密码学
qq_349838086 天前
密码学算法新手入门教程
密码学
BAGAE8 天前
量子计算机的发展趋势
去中心化·密码学·网络攻击模型·gpu算力·量子计算·可信计算技术·空间计算