[密码学]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 天前
考研复习 Day 51 | 密码学--第九章 密钥管理(上)
密码学
黄金龙PLUS2 天前
基于ARX结构的新型序列密码算法FlashLight
算法·网络安全·密码学·哈希算法·同态加密
下午写HelloWorld3 天前
【概念与应用】轻量级加密算法LEA、动态脱敏算法DDA、零知识证明ZKP和优化协同交互协议OCIP
算法·区块链·密码学·安全架构·零知识证明
如君愿3 天前
考研复习 Day 50 | 密码学--第八章 数字签名与身份认证(下)
密码学·课后习题
下午写HelloWorld3 天前
后量子密码算法:协同签名研究综述
算法·密码学·后量子·协同签名
夏语灬3 天前
cryptography:Python 密码学标准库的终极选择
开发语言·python·密码学
laoli_coding3 天前
数据机密性保护算法汇总(国际算法)
安全·网络安全·密码学
风行南方4 天前
什么是密码学?
密码学
如君愿4 天前
考研复习 Day 49 | 密码学--第八章 数字签名与身份认证(中)
密码学
huluang5 天前
密评多选题 — 陷阱名单(费曼自述法版)
网络·数据库·密码学