密码学DES算法详解,3DES

目录

一.DES概述

二.DES算法流程

三.过程详解

四.F轮函数

五.密钥的生成

六.IP逆置换

七.3DES

八.补充


一.DES概述

  DES是一种明文分组64bit,密钥长度64bit,有效密钥长56bit,输出密文64bit,进行16轮迭代的对称分组加密算法,des算法有三个入口参数:key(密钥),mode(工作模式,即加密or解密),data(明文)

二.DES算法流程

三.过程详解

3.1.初始置换

初始ip置换是指,将64位明文按照规定的置换表进行重新排序,

即,原文的58位置换后为第一位,原文50位为置换后第二位...

置换完成后将64位明文对半分成左右两边部分各32位

3.2.f轮函数

将32位明文和密钥一起重复16轮f轮函数运算(f函数稍候详讲),在f函数出口处交换左右部分明文目的是让两部分明文都能与密钥一起参与到f函数运算。

3.3将经过16轮迭代的明文通过IP逆置换得到64位密文

四.F轮函数

f函数有四个部分:e扩展;异或运算;s盒压缩;p盒置换

4.1e扩展

经过初始置换的明文分成左右两部分后,首先是右部分32位参与f函数运算,由于要和28位的密钥异或运算,所以将密钥扩展到32位

4.2 异或运算

将扩展后的明文28位(48位对半分) 与28位密钥异或运算

4.3 s—盒压缩

压缩规则:

1.第几组查第几个表。

2.首尾组合转换为二进制作为查表的行。

3.中间四位转十进制的结果为列 。

4.找到表中代换数后转为二进制即为结果。

s盒是共八个s1,s2.....s8。都是四行十六列的表。

4.4 p盒置换

类似与第一步的IP置换,只是使用的不同的置换表

五.密钥的生成

5.1 去奇偶校验位

用户输入的64位密钥分成6组,每组最高位(第8,16,24,32,40,48,56,64位)作为奇偶校验位保证密钥的正确性(统计每个字节的1的个数,奇数个将校验位设置为0,再次统计核验奇偶位确认密钥是否正确)

5.2置换选择pc-1

去掉校验位的56位密钥根据pc-1表置换

置换后的密钥对半分为左右两部分C0,D0各28位

5.3 循环左移

将28位C0/D0进行循环左移,左移位数由轮数决定(第1,2,9,16轮左移一位,其他左移两位)

左移一位后,第一位到最后一位,第二位到第一位。

5.4 置换选择pc-2

将左移后的28位密钥C/D合并位48位,按pc-2进行置换得到K1,K1复制两份一份与32位明文参与f函数运算,一部分重新参与密钥生成过程,产生K2

六.IP逆置换

将16迭代后的64位明文进行IP逆置换输出64位密文。 

七.3DES

加密,解密过程(就是用不同密钥进行三次des加密)

  1. 将明文分为64位的块。
  2. 使用密钥对每个块进行三次加密。
  3. 第一次加密使用密钥K1,第二次加密使用密钥K2,第三次加密使用密钥K3。
  4. 解密时,按照相反的顺序使用相同的密钥进行解密。

八.补充

8.1 工作模式:由于des是对称加密,加密解密使用的是相同密钥,所以本质上加密解密没有区别,加密将密钥正序加入算法,解密则将密钥逆序加入(加密先使用k1,解密先使用k16)这点详细原理可以参考feistel结构特点。

8.2 3des为什么采用加密解密加密,而不是加密加密加密

三次加密,是重复对称的操作,容易被暴力破解,但加密解密加密增加了复杂性,安全性更高。

  • 15
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: Hitsz现代密码学作业主要包括以下几个方面的内容。首先,作业会涉及对于对称加密算法和公钥加密算法的理解和应用。对于对称加密算法,作业可能会要求我们理解其工作原理和常用的对称加密算法,如AESDES等,并能够进行加密和解密的实践操作。同时,还可能需要我们能够了解对称加密算法的优缺点和安全性。 其次,作业可能会要求我们学习和理解公钥加密算法的原理与应用。作业可能会要求我们学习RSA算法,理解其加密和解密的过程,并能够实践操作。同时,我们还需要了解公钥加密算法的安全性和应用场景,以及与对称加密算法的比较。 此外,作业可能会要求我们学习和应用密码学中的哈希函数和消息认证码。我们需要学习哈希函数的原理和常用的哈希算法,如MD5、SHA-1等,并能够进行哈希函数的实践运用。同时,我们还需要了解消息认证码的概念和应用,以及其在保障数据完整性和身份认证方面的作用。 最后,作业还可能会要求我们学习和理解密码学中的数字签名和密钥交换协议。我们需要了解数字签名的原理和应用,以及其在保证消息的真实性和不可抵赖性方面的作用。同时,我们还需要学习密钥交换协议的原理和常见的协议,如Diffie-Hellman密钥交换协议等,并能够进行实践操作。 综上所述,Hitsz现代密码学作业涉及对对称加密算法、公钥加密算法、哈希函数、消息认证码、数字签名以及密钥交换协议的学习和应用。我们需要理解它们的原理与应用场景,并能够进行实践操作。这些作业将帮助我们全面了解和掌握现代密码学的基本概念和技术,为今后的密码学研究和应用奠定基础。 ### 回答2: hitsz现代密码学作业是哈尔滨信息科技大学计算机学院中的一门课程作业。该课程主要介绍现代密码学的基本理论和应用,通过学习和掌握密码学的基本概念、加密算法和安全协议等,培养学生在信息安全领域的专业知识和能力。 在这门作业中,学生需要完成一系列与现代密码学相关的任务。这些任务可能包括选择适当的加密算法来实现安全的数据传输、设计密码学方案来保护敏感数据的机密性、进行密码攻击与防御的实验等。学生需要运用所学的知识和技能,结合实际情境和问题,提出解决方案并完成相应的实验和报告。 通过这门作业,学生可以加深对现代密码学基本原理的理解,提高密码学算法的设计和应用能力。同时,这门作业也能帮助学生培养解决实际安全问题的思维和能力,增强对信息安全的认识和重视程度。 总之,hitsz现代密码学作业是一门具有实践性和综合性的课程作业,通过完成这些作业任务,学生将能够在实际应用中熟练运用密码学的知识和技术,为信息安全提供有效的保护。 ### 回答3: HITSZ现代密码学作业涉及到现代密码学领域的一些基本概念和技术。在作业中,我们需要掌握对称加密算法和公钥密码学的基本原理和应用。对称加密算法包括DES、AES等,公钥密码学包括RSA、椭圆曲线密码学等。作业内容主要包括以下几个方面: 1. 对称加密算法的原理和应用:需要了解DES和AES算法的工作原理,以及它们在实际应用中的使用场景和安全性评估。 2. 公钥密码学的基本原理和应用:需要掌握RSA算法的原理,了解数字签名、密钥交换和身份认证等应用。同时,需要理解椭圆曲线密码学的基本概念和应用场景。 3. 密码学中的安全性分析:需要了解密码学中的攻击模型和常见的攻击手段,如密码分析、密钥泄露等。同时,需要学习密码学的安全性分析方法,如信息论和计算复杂性理论。 4. 实际应用案例研究:通过学习现代密码学的实际应用案例,如SSL/TLS安全协议,可理解密码学在互联网传输安全中的重要性和应用场景。 在完成作业的过程中,我们可以通过查阅相关教材、参考文献以及互联网上的学术资源来加深理解和掌握这些知识。同时,还可以尝试编写一些简单的代码实现,如DES算法加解密过程,以提升对密码算法的认识。 总之,HITSZ现代密码学作业要求我们深入了解现代密码学的基本知识和技术,以及其在实际应用中的运用。通过完成作业,我们可以加深对密码学的理解,并将其应用于实际场景中,提高信息安全的能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

客行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值