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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java反射 Class类常用方法详解

    Java反射 Class类常用方法详解1.返回Class类对应的实体类的相关的Class类的方法:如果我们已经有了一个类的Class类,可以使用下面的一些方法来获得它相关的类:(1)返回当前Class类对应的实体类的父类的Class类:publicClass<?superT>getSuperclass()例如:publicstaticvoidmain(String[]args)throwsClassN…

    2022年5月27日
    42
  • mt4电脑版安装教程_mt4中文版下载正版官网

    mt4电脑版安装教程_mt4中文版下载正版官网MT4软件版本比较多,电脑版,手机版(安卓和IOS),以及MAC版都有。下载和安装电脑版和其它软件的流程是一样的。首先第一步是要获取到软件包,在http://mt4.m1.xinclo.xyz/就行。下载完毕,然后是解压,全自动安装过程,按照指示进行安装。安装成功后,在登录自己的MT4账户即可。接下来就是设置一些自己要用到的指标。…

    2022年8月15日
    7
  • crontab 定时任务配置

    crontab 定时任务配置2019独角兽企业重金招聘Python工程师标准>>>…

    2025年5月27日
    6
  • MySQL索引及视图

    MySQL索引及视图MySQL索引及视图文章目录MySQL索引及视图索引设计索引的原则索引分类创建索引删除索引索引对数据查询的影响视图视图的作用创建视图使用视图检查视图查看视图的定义删除视图索引索引是一种特殊的文件(INNODB数据表上的索引是表空间上的一个组成部分),它们包含着对数据表里所有记录的引用指针.索引可以加快数据检索性能,但会使数据修改操作变慢,每修改一次数据记录,索引就必须刷新一次.另外,索引会在硬盘上占用相当大的空间.为了弥补这一缺点,许多SQL命令引入了delay_key_write项,.

    2022年7月22日
    15
  • 第十五篇 Python之文件处理

    第十五篇 Python之文件处理一文件操作计算机系统分为:计算机硬件,操作系统,应用程序三部分。我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众所周知,应

    2022年7月5日
    21
  • 一张图理清SpringMVC工作原理

    一张图理清SpringMVC工作原理一、首先,我们先来认识一下SpringMVC的主要组件前端控制器(DisatcherServlet):接收请求,响应结果,返回可以是json,String等数据类型,也可以是页面(Model)。处理器映射器(HandlerMapping):根据URL去查找处理器,一般通过xml配置或者注解进行查找。处理器(Handler):就是我们常说的controller控制器啦,由程序员编写。处理器适配器(Ha

    2022年5月14日
    47

发表回复

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

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