加密算法程序设计DES实验报告

该实验旨在理解和实现DES加密算法,通过使用C语言在MicrosoftVisualStudio环境下进行。实验详细描述了DES的加密和解密过程,包括密钥处理、明文处理、循环左移、子密钥生成等步骤,并展示了实验结果,证明了加密和解密的正确性。在实验中,遇到了理解和编程上的挑战,通过查阅资料和解决错误加深了对DES的理解。

实验目的

(1)理解常规密钥密码体制的特点。
(2)理解DES算法的实现过程。
(3)通过使用DES 算法对实验数据进行加密和解密。

实验环境

Microsoft Visual Studio C语言

实验原理

DES算法的入口参数:Key、Data、Mode。
Key为8个字节共64位,是DES算法的工作秘钥;
Data也为8个字节64位,是要被加密或解密的数据;
Mode为DES的工作方式,有两种:加密或解密。
DES 使用一个 56 位的密钥以及附加的 8 位奇偶校验位,产生最大 64 位的分组大小。这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密的文本块分成两半。
使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。DES 使用 16 个循环,使用异或,置换,代换,移位操作四种基本运算。
在这里插入图片描述
图 1 加密过程
在这里插入图片描述
图 2 解密过程
在这里插入图片描述

实验步骤及结果

1、加密
DES加密算法分为两个部分,一部分对密钥进行处理,一部分对明文进行处理。举例进行说明:
64位明文:M=00110000 0

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值