[密码学]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 天前
【C++实战(74)】深入C++安全编程:密码学实战之旅
c++·安全·实战·密码学·安全编程
学编程的小鬼2 天前
密码学中的Salt
密码学
搬砖魁首2 天前
密码学系列 - 零知识证明(ZKP) - NTT运算
区块链·密码学·零知识证明·fft·ntt
yjx233326 天前
《应用密码学》——基本协议(笔记)
笔记·密码学
Chen--Xing9 天前
OpenMP并行化编程指南
c++·密码学·openmp
大桔骑士v10 天前
【区块链学习笔记】12:比特币系统的思考
区块链·密码学·量子计算·比特币·加密货币
进击的女IT11 天前
密码学基础知识
密码学
張 ~13 天前
两款功能强大的密码学工具箱
密码学·工具箱
A Runner for leave14 天前
应用密码学课程复习汇总1——课程导入
密码学
Lz__Heng15 天前
信息安全工程师考点-密码学
网络·安全·密码学