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

相关推荐
却道天凉_好个秋1 天前
密码学(一):sm4+ofb
网络·密码学·sm4·ofb
ESBK20253 天前
第四届移动互联网、云计算与信息安全国际会议(MICCIS 2026)二轮征稿启动,诚邀全球学者共赴学术盛宴
大数据·网络·物联网·网络安全·云计算·密码学·信息与通信
奇遇0.0048712 天前
tryhackme-公钥密码学基础
密码学·tryhackme
0x派大星14 天前
区块链中的数字签名:安全性与可信度的核心
区块链·密码学
CourserLi15 天前
【AI 解题】Yusa的密码学课堂 2026.1.25
人工智能·密码学
半路_出家ren16 天前
3.python模拟勒索病毒
python·网络安全·密码学·网络攻击模型·base64·病毒·勒索病毒
栗子~~18 天前
区块链中的密码学
区块链·密码学
半路_出家ren18 天前
1.古典密码概述
python·网络安全·密码学·古典密码·加密方式
码不停蹄Zzz21 天前
密码学算法之数字签名和认证协议篇(一)
密码学
じ☆冷颜〃23 天前
交换代数的解析延拓及在CS的应用
c语言·数据结构·笔记·线性代数·密码学