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

相关推荐
The_Killer.2 天前
格密码--从FFT到NTT(附源码)
学习·线性代数·密码学·格密码
qqxhb2 天前
系统架构设计师备考第20天——信息加解密技术&密钥管理技术
系统架构·des·aes·加解密·rsa·密钥管理·kdc
deepdata_cn5 天前
量子-resistant密码学研究
密码学·量子计算
Evaporator Core9 天前
信息安全工程师软考进阶:第二章密码学与应用深度习题解析
密码学
長琹10 天前
AES加密算法详细加密步骤代码实现--身份证号码加解密系统
网络·数据库·人工智能·python·密码学
有点不太正常11 天前
《A Study of Probabilistic Password Models》(IEEE S&P 2014)——论文阅读
论文阅读·密码学·口令猜测·马尔可夫链
Blockchain Learning12 天前
椭圆曲线的数学基础
golang·密码学
yjx2333213 天前
《应用密码学》——基础知识及协议结构模块(笔记)
笔记·密码学
默辨14 天前
密码学基础
密码学·非对称加密·数字签名·对称加密·摘要加密
浩浩测试一下16 天前
Windows驱动开发与双机调试环境[驱动开发环境配置高阶]
安全·web安全·网络安全·密码学·网络攻击模型·安全架构