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


相关推荐

发表回复

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

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