[密码学]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盒,即可生成当前轮次的子密钥。

相关推荐
Hhyao1 小时前
2024第十五届蓝桥杯网安赛道省赛题目--cc(CyberChef)/crypto
蓝桥杯·密码学
搬砖魁首4 天前
密码学的数学基础1-整数 素数 和 RSA加密
数学·密码学·rsa·质数·素数·公钥密码
自己的九又四分之三站台7 天前
软件开发中的密码学(国密算法)
算法·密码学
无须logic ᭄10 天前
CrypTen项目实践
python·机器学习·密码学·同态加密
小虎牙^O^11 天前
2024春秋杯密码题第一、二天WP
python·密码学
月印千江67113 天前
从密码学原理与应用新方向到移动身份认证与实践
经验分享·笔记·其他·网络安全·密码学
wzx_Eleven15 天前
【论文阅读】VCD-FL: Verifiable, collusion-resistant, and dynamic federated learning
论文阅读·人工智能·机器学习·网络安全·密码学
网络安全(king)15 天前
密码学——密码学基础、散列函数与数字签名
网络·安全·web安全·密码学