网络信息安全的课程设计,完整的试验报告,附有DES的源代码,在vc6.0下编译运行通过。试验者可将编译运行后生成的.exe可运行文件复制两份,分别命名为encrypt.exe和decrypt.exe,在记事本a.txt中输入需要加密或解密的内容,并保存到.exe文件所在的目录下。打开cmd命令提示符窗口,进入到当前目录,然后若是加密则输入: encrypt a.txt 解密则输入: decrypt a.txt 回车,则在当前目录下生成output.txt文件,其内容便是加密的结果,若是解密则直接在命令提示符窗口中显示结果。(注意:cmd最好是中文版的,否则在解密中文时会显示乱码!) 《网络信息安全》DES实验报告详细解析 DES(Data Encryption Standard,数据加密标准)是一种广泛使用的对称加密算法,由IBM公司开发并在1977年由美国国家标准局(NIST)采纳为标准。DES算法主要由两个核心部分构成:密钥处理和数据加密。 一、密钥处理与子密钥生成 DES的密钥是一个64位的二进制序列,但实际上只有56位用于加密,因为其中有8位是奇偶校验位,不参与加密过程。在生成子密钥的过程中,原始64位密钥首先通过PC-1(Permutation Choice 1)进行置换,形成56位的密钥。接着,这56位密钥被分成两半,分别是C0和D0,每部分都是28位。然后,C0和D0分别左移一位,生成C1和D1。C1和D1的组合再经过PC-2置换,生成48位的子密钥K1。这个过程会重复15次,每次左移的位数不同(LS2),生成K2至K16共16个子密钥。 二、DES加密过程 DES的加密过程可以分为以下几个步骤: 1. **初始置换(IP)**:64位的明文M通过IP置换,变成一个新的比特串,然后被分为32位的L0和R0两部分。 2. **迭代过程**:接下来的16轮中,每次迭代都包括以下步骤: - R0与子密钥Ki进行F函数变换(F(R0, Ki)),生成32位的f1。 - f1与L0进行异或操作,结果赋值给R1,R0不变,赋值给L1。 - 从第二轮开始,L0替换为R0,R1替换为L1,以此类推,直到第16轮。 3. **最终运算**:第16轮结束后,R16与L15进行不进位加法运算,结果作为R16,而L15直接作为L16。R16和L16组合成新的64位比特串,然后通过IP-1置换,生成最终的密文e。 三、F函数变换 F函数是DES算法的核心,它接受32位的Ri-1和子密钥Ki作为输入,输出32位的f(Ri-1, Ki)。具体步骤如下: - 输入Ri-1通过E置换,扩展为48位。 - 扩展后的48位比特串与Ki异或,然后分成8组,每组6位。 - 每组的6位比特通过一个S盒(S1、S2、S3...S8)转换成4位,S盒的转换基于特定的查找表。 - 8个S盒的输出重新组合成32位的f(Ri-1, Ki)。 总结来说,DES算法的源代码实现涵盖了密钥处理和数据加密的关键步骤,包括密钥的预处理、子密钥的生成以及明文的迭代加密过程。在实验中,可以通过VC6.0编译运行,利用encrypt.exe和decrypt.exe程序分别进行加密和解密操作,以实现信息的安全传输和存储。需要注意的是,由于CMD窗口的语言设置可能影响中文字符的显示,最好使用中文版的CMD以避免解密中文时出现乱码问题。
- track902012-03-29功能齐全,叙述清晰
- minepan2018-06-02很有参考价值的
- ps19912272015-03-23实验报告很完整,赞一个
- hebutsunhh2012-05-03叙述清晰,可读性好,逻辑清楚,很有参考价值,非常不错
- 粉丝: 1
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助