DES算法详细设计

DES算法详细设计一 DES 算法原理概述 DES 算法为密码体制中的对称密码体制 又被称为美国数据加密标准 是 1972 年美国 IBM 公司研制的对称密码体制加密算法 明文按 64 位进行分组 密钥长 64 位 密钥事实上是 56 位参与 DES 运算 第 8 16 24 32 40 48 56 64 位是校验位 使得每个密钥都有奇数个 1 分组后的明文组和 56 位的密钥按位替代或交换的方法形成密文组的加密方法 DES 是一种分组密码 是两

一、DES算法原理概述

二、分模块详细设计每一个模块

1、将明文与密文用二进制表示

2、初始置换

3、密钥生成(密钥置换)

4、轮迭代

(1)总体过程:首先关于轮迭代的过程如下图4.1所示,Li-1和Ri-1是上一轮的迭代的输出,上一轮的左边的输出与经过轮函数之后的输出结果进行异或运算得到当前轮的右边输出,左边的结果是上一轮的右边的输出:

这里写图片描述
图4.1

这里写图片描述
这里写图片描述
图4.5

P盒置换:将S盒的输出拼接得到32位的数据,对这些数据再一次进行置换,置 换表如下图4.6所示,置换之后的结果就是轮函数的输出结果:
这里写图片描述
图4.6
P盒置换算法如下图4.7所示:
这里写图片描述
图4.7




按照这样的方法不停的继续下去直到第16轮。在第16轮的时候要将L16和R16互换位 置。

5、逆初始置换

6、DES解密过程

三、数据结构

在设计的过程中为了方便使用将所有的数据类型都使用整数类型来表示,使用整数类型方便操作而且还不容易出错,只是在设计数组边界的地方需要小心一点,不然很容易出错。

四、小结

关于DES算法的设计首先要将大问题模块化,先实现每一个小的模块,然后再将小模块组合成为一个大模块,跟着老师上课所讲的思路走,按着那个思路来实现的话逻辑比较清晰也不容易出错。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233084.html原文链接:https://javaforall.net

(0)
上一篇 2025年8月18日 下午8:01
下一篇 2025年8月18日 下午8:22


相关推荐

  • Centos安装redis_redis编译安装

    Centos安装redis_redis编译安装Centos安装redis61、下载安装包https://redis.io/2、上传安装包到服务器opt下3、解压安装包tar-xzvfredis-6.2.5.tar.gz4、解压安装包重命名mvredis-6.2.5.tar.gzredis5、进入安装包cdredis6、编译检测maketest7、安装makePREFIX=/opt/redis6install8、启动cd/opt/redis6/bin./redis-server#备注:想后台运

    2025年9月26日
    5
  • dump文件 linux,Linux下快速分析DUMP文件「建议收藏」

    dump文件 linux,Linux下快速分析DUMP文件「建议收藏」dump文件传输到本地进行分析,常常需要大量的等待时间。使用IBM的eclipse的MAT工具可以直接在服务器上进行快速DUMP分析。运行环境要求linux操作系统JDK8以上下载MAT的linux版本Eclipse的MAT工具下载链接MAT支持各种操作系统,找到Linux版本下载下来#运行uname-m看一下linux是x86_64还是x86的帮助你选择下载那个版本。uname-…

    2022年10月2日
    5
  • 插件MyBatisCodeHelperPro的激活(简单方法)

    插件MyBatisCodeHelperPro的激活(简单方法)目录一 前言二 安装插件 MyBatisCodeH 插件三 激活一 前言在开发中编写生成 bean mapper mapper xml 即费时也费力 可以通过 MyBatisCodeH 自动生成 bean dao mapper xml 等文件 然后根据自己的需要进行修改 MyBatisCodeH 是 IDEA 下的一个插件 类似于 mybatisplugi 但是是收费的 但可以进行激活使用 下面这个大佬的个人主页上有多个版本的下载链

    2026年3月19日
    2
  • 手把手教你用 c++ 做 图书管理系统「建议收藏」

    手把手教你用 c++ 做 图书管理系统「建议收藏」图书管理系统设计题目要求思路分析各个模块的实现“书”类的创建管理模块的创建及实现管理权限添加图书查找图书修改图书删除图书销售模块的创建与实现统计模块的创建与实现创建简易登录界面文件的读取与存储题目要求1、问题描述:定义图书类,属性有:书名、出版社、ISBN号、作者、库存量、价格等信息和相关的对属性做操作的行为。主要完成对图书的销售、统计和图书的简单管理。2、功能要求(1)销售功能:购买书籍时,输入相应的ISBN号,并在书库中查找该书的相关信息。如果有库存量,输入购买的册数,进行相应

    2022年6月3日
    39
  • 台式机dp接口在哪(主机没有dp接口怎么办)

    导读:成就3471和战99,均为品牌成套机,价格4千元左右,是否值得入手?请往下看:戴尔(DELL)成就3471:1、硬件点评下:主板:小型机箱,主板接口很丰富,M2.0的Pic-E接口,sata接口也有预留,内存槽也可以加内存,PIC16槽也可以扩充显卡,但机箱过小,需要额外注意;DDR4接口,海力士8G2666HMZ内存办公够用;电源:没挖到官方数据,但考虑显卡不好扩容,我们基本上可以忽略…

    2022年4月13日
    644
  • APACHE服务器出现No input file specified.的完美解决方案

    APACHE服务器出现No input file specified.的完美解决方案

    2021年10月9日
    76

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号