现代密码学第二次实验:分组加密算法DES及其工作模式 您所在的位置:网站首页 DES算法加密的基本原理 现代密码学第二次实验:分组加密算法DES及其工作模式

现代密码学第二次实验:分组加密算法DES及其工作模式

2024-03-26 01:44| 来源: 网络整理| 查看: 265

现代密码学第二次实验:分组加密算法DES及其工作模式 前言一、实验目的二、实验环境三、实验内容及步骤四、实验要求五、实验程序清单六、实验结果七、实验总结

前言

为了帮助同学们完成痛苦的实验课程设计,本作者将其作出的实验结果及代码贴至CSDN中,供同学们学习参考。如有不足或描述不完善之处,敬请各位指出,欢迎各位的斧正!

一、实验目的

1、掌握DES算法的工作原理。 2、熟悉分组加密算法的4种工作模式(OFB模式可不做)。 3、了解DES的雪崩效应。

二、实验环境

Microsoft Visual Studio 2019

三、实验内容及步骤

(1)编程实现DES算法。 (2)改变1位明文观察输出DES算法的16轮输出,几轮后密文变化达到32位以上。 (3)改变1位密钥观察输出DES算法的16轮输出,几轮后密文变化达到32位以上。 (4)在电码本模式和分组链接模式中,在最少64个分组的明文中,观察当一个密文分组错误时,还原的明文有几个分组错误。 (5)在密码反馈模式和输出反馈模式中,在最少64个分组的明文中,观察当一个密文分组错误时,还原的明文有几个分组错误。**

四、实验要求

(1)编写一个DES算法,*输出其每一轮的加密结果并显示在屏幕上。 (2)编程实现对文件的加密,加密模式:电码本、分组链接模式; (3)*额外要求:编程实现密码反馈模式和输出反馈模式。 说明: (1)DES算法可以自编,也可以网上下载现成算法。 (2)四种工作模式的程序可以自编,也可以利用OpenSSL、VS的framework、cryptopp加密包编程。 (3)基本DES算法要想输出每轮的加密结果,请参照C程序;使用C#编程可以实现电码本、分组链接、密码反馈模式。

五、实验程序清单

一、编写一个DES算法,输出其每一轮的加密结果并显示在屏幕上。 在这里插入图片描述 修改一位明文,第四轮即产生明显不同的加密结果 在这里插入图片描述 修改一位密文,第四轮即产生明显不同的加密结果 在这里插入图片描述 二、对文件的加密

在这里插入图片描述 明文文件:在这里插入图片描述 密文文件:在这里插入图片描述 解密文件: 在这里插入图片描述 通过修改文件后缀名得到原图

六、实验结果

(1)程序设计的思想,及程序关键原代码。

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Security.Cryptography; using System.IO; namespace SecTest { public partial class DesForm : Form { public string str1; public string MFileNamestr1; public string CFileNamestr; public string MFileNamestr2; public static string ToHexString(byte[] bytes) // 0xae00cf => "AE00CF " { string hexString = string.Empty; if (bytes != null) { StringBuilder strB = new StringBuilder(); for (int i = 0; i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有