当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/248099.html

相关文章:

  • 15个超级实用的Python操作,肯定有你意想不到的!
  • GitHub上8个强烈推荐的 Python 项目
  • 什么是依赖倒置原则
  • 异常数据检测 | Python实现oneclassSVM模型异常数据检测
  • using meta-SQL 使用元SQL (3)
  • Spinnaker 基于 docker registry 触发部署
  • 2023亚马逊云科技re:Invent,在开发者板块探究如何利用技术重塑业务
  • JAVA 使用stream流将List中的对象某一属性创建新的List
  • Elasticsearch:ES|QL 函数及操作符
  • SpringBoot——Swagger2 接口规范
  • 网络入门---网络编程预备知识
  • 记录一次YAMLException异常
  • calendar --- 日历相关函数
  • 中国信息通信研究院产业与规划研究所校招一面、二面内容
  • 一些数据库学习的小结
  • 【计算机网络】虚拟路由冗余(VRRP)协议原理与配置
  • Using Set Processing Examples 使用集合处理示例
  • Spark将execl表格文件导入到mysql中
  • Vue3-Eslint配置代码风格
  • “Install Js dependencies failed“JS SDK安装失败【Bug已解决-鸿蒙开发】
  • 接口测试入门8问(含答案+文档)
  • 【Spring之事务底层源码解析,持续更新中~~~】
  • 吃火锅(Python)
  • 深圳市东星制冷机电受邀莅临2024国际生物发酵展,济南与您相约
  • 内网渗透(哈希传递)
  • 如何在langchain中对大模型的输出进行格式化
  • 【送书活动二期】Java和MySQL数据库中关于小数的保存问题
  • 11月21日,每日信息差
  • 极速整理文件!Python自动化办公新利器
  • 电机控制学习