第二十二讲、第二十三讲 DES的安全性 3DES

2024-01-04 17:20

本文主要是介绍第二十二讲、第二十三讲 DES的安全性 3DES,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 DES的弱密钥

关于DES密钥

DES的弱密钥

2 DES的密钥长度的争论

• DES算法正式公开发表以后,引起了一场激烈的争论

• 对DES安全性批评意见中,较为一致的看法是DES的密钥短了些。IBM最初向 NBS提交的建议方案采用112 bits密钥,但公布的DES标准采用64 bits密钥。 有人认为NSA故意限制DES的密钥长度。

• 采用穷搜索已经对DES构成了威胁。

• 1977年Diffie和Hellman提出了制造一个每秒能测试106个密钥的大规模芯片,这种芯片的机器大约一天就可以搜索DES算法的整个密钥空间,制造这样的机器需要两千万美元。

密钥搜索

• 1993年,R.Session和M.Wiener给出了一个非常详细的密钥搜索机器的设计方案

• 基于并行的密钥搜索芯片,此芯片每秒测试5×107个密钥

• 当时这种芯片的造价是10.5美元,5760个这样的芯片组成的系统需要10万美元,这一系统平均1.5天即可找到密钥

• 如果利用10个这样的系统,费用是100万美元,但搜索时间可以降到2.5小时。

密钥搜索与超级计算

• DES的56位短密钥面临的另外一个严峻而现实的问题是:国际互 联网Internet的超级计算能力。

• 1997年1月28日,美国的RSA数据安全公司在互联网上开展了一项名为“密钥挑战”的竞赛,悬赏一万美元,破解一段用56位密钥加密的DES密文。

密钥挑战

• 一位名叫Rocke Verser的程序员设计了一个可以通过互联网分段运行的密钥穷举搜索程序,组织实施了一个称为DESHALL的搜索行动,成千上万的志愿者加入到计划中

• 计划实施的第96天,即挑战赛计划公布的第140天,1997年6月17 日晚上10点39分,美国盐湖城Inetz公司的职员Michael Sanders 成功地找到了密钥

• 在计算机上显示了明文:“The unknown message is: Strong cryptography makes the world a safer place”

DES的破解

• 1998年7月电子前沿基金会(EFF)使用一台25万美圆的电脑在56 小时内破译了56比特密钥的DES;

• 1999年1月RSA数据安全会议期间,电子前沿基金会用22小时15分 钟就宣告破解了一个DES的密钥。

DES的安全性的其他方面

• 如果一个分组密码易受到穷举密钥搜索攻击,那么对同一消息加密多次就有可能增强安全性

• 多重DES就是使用多个密钥利用DES对明文进行多次加密。使用多重DES可以增加密钥量,从而大大提高抵抗穷举密钥搜索攻击的能力

• 多重加密类似于一个有着多个相同密码的级联,但各级密码无需独立,且 每级密码既可以是一个分组密码加密函数,也可是相应的解密函数

3 双重DES算法

• 简单的对消息 x_i 利用两个不同的密钥进行两次加密

• 目的是为了抵抗穷搜索攻击,期望密钥长度扩展为112比特

中间相遇攻击

中间相遇攻击的步骤

给定一已知明密文对(x1 ,y1 ),可按下述方法攻击。

• 以密钥k1的所有2^{56}个可能的取值对此明文x1加密,并将密文z存储在一个表中;

• 从所有可能的2^{56}个密钥k2中依任意次序选出一个对给定的密文y1解密,并将每次解密结果z在上述表中查找相匹配的值。一旦找到,则可确定出两个密钥k1和k2;

• 以此对密钥k1和k2对另一已知明文密文对(x2 , y2)中的明文x2进行加密,如果能得出相应的密文y2就可确定k1和k2是所要找的密钥。

中间相遇攻击的复杂度

• 对于给定明文x,以两重DES加密将有2^{ 64}个可能的密文。

• 可能的密钥数为2^{112}个。所以,在给定明文下,将有2^{112}/2^{64} =2^{48}个密钥能产生给定的密文。

• 用另一对64比特明文/密文对进行检验,就使虚报率降为2^{48-64}=2^{ -16}

• 这一攻击法所需的存储量为2^{56}*8 Byte,最大试验的加密次数2*2^{56} =2^{57} 。 这说明破译双重DES的难度为2^{57}量级

4 三重DES算法

• 三重DES中三个密码组件既可以是一个加密函数,也可以是一个解密函数。

• 当k_1=k_3时,则称为双密钥三重DES

双密钥三重DES算法

双密钥三重DES算法的安全性

• 破译它的穷举密钥搜索量为2^{112}\approx 5*10^{35}量级

• 差分分析破译也要超过10^{52}​​​​​​​量级

• 此方案仍有足够的安全性 

这篇关于第二十二讲、第二十三讲 DES的安全性 3DES的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/570034

相关文章

国产隔离放大器:增强信号完整性和系统安全性的指南

隔离放大器是电子领域的关键组件,特别是在信号完整性和电气隔离至关重要的应用中。这些放大器隔离输入和输出信号,使它们能够在没有直接电气连接的情况下跨不同系统传输数据。这确保了电路一部分的高压尖峰或噪声不会影响另一部分,从而保护了系统和用户。随着国产隔离放大器的不断发展,它们提供了性能、可靠性和成本效益的完美结合,使其成为工程师和系统设计师的理想选择。 1. 了解国产隔离放大器的优势 增强信号

第二十二篇——地形篇:将领犯错误会导致的常见败局

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么? 四、总结五、升华 一、背景介绍 本章介绍的将领面临的选择;这个和一个企业的管理者是一样的;也是要动态的去系统性的看待现状做出精准的判断 二、思路&方案 1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通

讨论“get”和“post”安全性

get”安全,还是“post”安全?这或许是大家总结两者必须要分析的内容,因为这涉及到我们将内容从浏览器传送到服务器的安全性,选择不当将会带来巨大的不安全因素,从而可能带来巨大的损失。这篇博客,我将阐述一下,当然更多的还是希望各位大神发表一下见解,讨论一下下!             首先,我们来看一下两者最基本的区别: GET请求通过URL(请求行)提交数据,在URL中可以看

技术干货 |如何保障 IM以及音视频的系统稳定性、安全性、可靠性?看这篇就懂!

在当今快节奏的商业环境下,to B 行业客户对产品质量的要求越来越高,尤其是对于 IM 及音视频服务端稳定性的要求更加突出。随着技术的不断进步,这些服务的使用量不断攀升,因此稳定性建设显得尤为重要。从技术角度上,需要重视系统性能、可靠性、安全性等方面的提升,在流程上需要建立完善的开发、测试、部署流程,以确保服务端稳定性的提高。同时,需要加强对于系统监控、故障排查、灾备恢复等方面的投入,避免服务中断

法人手机验证通常是为了确保企业相关操作的安全性和合法性。以下是一些常见的法人手机验证方法及测试要点:

一、验证方法   1. 短信验证码   - 系统向法人注册的手机号码发送短信验证码,法人在指定时间内输入验证码进行验证。 - 优点:操作简单,普遍适用。缺点:可能存在短信延迟或被拦截的情况。 2. 语音验证码   - 系统拨打法人手机号码,播放语音验证码,法人听取并输入进行验证。 - 优点:适用于无法接收短信的情况。缺点:可能受通话质量影响。 3. 动态口令   - 通过专门的手机应用生成动

Nginx安全性配置

文章目录 引言I Nginx简单的安全性配置禁止特定的HTTP方法限制URL长度禁止某些用户代理限制请求速率连接限制禁止访问某些文件类型 II 常见的安全规则防御CC攻击User-Agent过滤GET-URL过滤GET-参数过滤POST过滤(sql注入、xss攻击 ) 引言 Nginx本身并不具备复杂的防火墙规则定制或者实时监控功能,它主要是作为一个HTTP和反向代理服务器。如

《java并发编程实战》——线程安全性

要编写线程安全的代码,其核心在于要对状态访问操作进行管理,特别是对共享的(Shared)和可变的(Mutable)状态的访问。从非正式的意义上说(为啥这么讲我也不知道,可能这么说读者更容易理解),对象的状态是指存储在状态变量(例如实例或者静态域)中的数据。对象的状态可能包括其他依赖对象的域(意思是对象中嵌套使用了其他对象,例如HashMap中有Map.Entry一样)。     “共享”

中国招标投标平台JS逆向:DES加密与Python纯算还原

中国招标投标平台JS逆向:DES加密与Python纯算还原 目录 🔐 JS DES解密🧮 Python版本的纯算实现 🔐 JS DES解密 在中国招标投标公共服务平台的分析过程中,发现了数据加密采用了DES算法。DES(数据加密标准)作为对称加密算法的一种,通过特定的密钥对数据进行加密和解密。在JS代码中,解密过程涉及多个关键步骤,包括密钥生成、加密数据处理等。 深入

保障验证码的安全性的方法

为保障验证码的安全性,可以从以下几个方面入手:   一、生成环节   1. 随机生成:确保验证码是完全随机产生的,避免可预测性。可以使用强大的随机数生成器,结合时间戳、随机种子等因素,使每一个验证码都独一无二。 2. 复杂程度:验证码应具有一定的复杂性,包含数字、字母、特殊字符等的组合,增加破解难度。例如,采用大小写字母混合、数字与特殊字符穿插的方式。   二、传输环节   1. 加密传输:在将验