长度延展攻击【密码学】(三)

news/2024/11/28 17:39:53/

一、什么是长度延展

假设有两段数据,S和M,以及一个单向散列函数h。

如果我们要将两段数据合并起来,并且还要计算合并后的散列值,这就叫做单向散列函数的长度延展。

 二、长度延展攻击

如果S和M都是公开信息,那么S在前还是M在前是不重要的。

但如果S是机密信息,M是公开信息,S放在前面就存在“长度延展攻击”的风险。

长度延展攻击:可以利用已知数据的散列值,计算原数据外加一段延展后的散列值。

也就是说,如果我们知道了h(S|M)我们就可以计算h(S|M|N)。其中,数据N就是原数据追加的延展数据。

如果S和M都是公开的信息,那么能计算延展数据的散列值也没什么要紧的。

但如果S是机密数据,它的用途就和机密有点关系。因为没有人知道我拥有的机密数据,所以,当我给定一段公开信息M后,只有我自己能计算S和M的散列值。

通过验证S和M的散列值,就知道一个给定的散列值是我计算、派发出去的、还是别人伪造的。

机密数据放前面,就会存在“长度延展攻击”的风险,攻击者不需要知道机密数据,就可以通过一个已知的URL,构造一个新的合法的URL,也就是说,攻击者可以伪造一个合法的散列值。

攻击者如何伪造?

前面我们提到,一个单向散列函数,应该由四个部分组成:数据分组,压缩函数,链接模式,终结函数。

压缩函数接收一个数据分组和上一个压缩函数的运算结果。如果知道了上一个压缩函数的运算结果,我们就能够计算下一个分组数据的压缩函数运算结果。这里,就是出现安全漏洞的地方。

不要单纯使用单向散列函数来处理既包含机密信息、又包含公开信息的数据。即使我们把机密信息放在最后处理,这种使用方式也不省心。


如果我们需要使用机密数据产生数据的签名,我们应该使用设计好的、经过验证的算法。


另外,如果需要设计算法,我们还要理解另外一个实用的原则:算法要皮实、耐用,不能有意无意地用错了就有安全漏洞。


http://www.ppmy.cn/news/455044.html

相关文章

掌握Python的X篇_4_开发工具ipython与vscode的安装使用

本篇将会介绍两个工具的安装及使用来提高Python的编程效率。 ipython:比python更好用的交互式开发环境vscode:本身是文本编辑器,通过安装相关的插件vscode可以作为python集中开发环境使用 掌握Python的X篇_4_开发工具ipython与vscode的安装使…

a113 智能音箱芯片方案_主流智能音箱全拆解,内部分毫必见

原标题:主流智能音箱全拆解,内部分毫必见 1、天猫精灵X1 我们决定先从四款音箱中最年轻、体积最小的天猫精灵做起,启动拆解大业。 天猫精灵的拆解需要从底部开始,撕开底部的橡胶垫并移出3颗螺丝钉,就可以掀开底座,看到白色的环形导光板和灯控电路板了。 没错,电路板外围…

智能音箱属于计算机AI的应用吗,用智能音箱聊微信坑不坑?体验腾讯听听的智能AI...

【PConline 应用】能聊天,可唱歌,能讲笑话,会说评书,还能语音控制家电,现在的AI音箱就像是未来智能家居的控制中心雏形。 在国内,AI音箱也逐渐的流行起来,各大厂商都纷纷推出自家的AI音箱&#…

Red Hat Enterprise Linux历史发行版本

https://access.redhat.com/articles/3078 查看当前Red Hat Enterprise Linux release版本: $ cat /etc/redhat-release查看当前内核版本: $ uname -aRed Hat Enterprise Linux 9Red Hat Enterprise Linux 8Red Hat Enterprise Linux 7Red Hat Enterp…

用户和天猫精灵通过语音交互的一个典型流程分析

虽然从普通用户眼中,使用语音向天猫精灵发起指令,然后收到后者的语音回复,这个流程似乎很简单,但背后实际上有着人工智能中 ASR(语音识别)、NLP(自然语言处理)、TTS(语音…

AI时代 智慧家居的中心将是智能音箱

当前国内科技巨头们,像亚马逊、谷歌、苹果推出的支持AI功能的智能音箱中,让人印象比较深刻的可能就是天猫精灵X1。 天猫精灵X1是一款智能语音终端设备,内置中文人机交流系统AliGenie,具有多项强大功能,可以听懂语言指…

天猫精灵 python 控制_树莓派4B小爱同学、天猫精灵、智能音箱、百度语音极速版、百度语音标准版、语音识别、语音合成终极方案...

来源:树莓派创客空间 https:/r-pi.cn,里面更多教程 第一句话,python2版本的代码,python3你改改就完事了 第一句话,python2版本的代码,python3你改改就完事了 流程图如下: 安装使用Python SDK有如下方式:如果已安装pip,执行pip install baidu-aip即可。 如果已安装setup…

人称小HomeKit的智汀,如何连接天猫精灵音箱?

如何连接天猫精灵 1.在智汀家庭云APP内完成产品联网配置 根据APP内引导完成设备联网配置 2.配置天猫精灵 (如果您已经配置好了天猫精灵,您可以跳过这一步) ① 下载并安装天猫精灵APP。 ② 注册或登录淘宝账号,并配对您的天猫精灵音箱。 3.绑定智汀…