密码学学习笔记(十二):压缩函数 - Davies–Meyer结构

这篇具有很好参考价值的文章主要介绍了密码学学习笔记(十二):压缩函数 - Davies–Meyer结构。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

密码学中压缩函数是指将输入的任意长度消息压缩为固定长度输出的函数。压缩函数以两个特定长度的数据为输入,产生与其中一个输入大小相同的输出。简单来说就是它接受一些较长的数据,输出更短的数据。

密码学学习笔记(十二):压缩函数 - Davies–Meyer结构,密码学,密码学,学习,笔记
压缩函数接收长度为X和Y的两个不同输入,并生成长度为X或Y的输出

在CRYPTO 2016,Cogliati和Seurin介绍了Encrypted Davies-Meyer(EDM)结构。

密码学学习笔记(十二):压缩函数 - Davies–Meyer结构,密码学,密码学,学习,笔记

密码学学习笔记(十二):压缩函数 - Davies–Meyer结构,密码学,密码学,学习,笔记
其中p1、p2是两个排列

Cogliati和Seurin证明了的行为类似于复杂度为的随机函数,并实际上推测是可能的。

构造方法

XOR操作

XOR异或操作是一种按位操作的运算。

XOR的操作对象是2个比特。除两个操作数都是1的情况外,XOR运算与OR运算的结果完全一样。

Davies–Meyer

Davies–Meyer构造方法是是一种很常见的构造压缩函数的方法。压缩函数的第一个和输入块作为分组密码的密钥;第二个输入块作为分组密码的输入进行加密。然后用第二个输入块与分组密码的输出进行异或XOR操作。

使用分组密码F的Davies-Meyer构造的示意图如下所示:

密码学学习笔记(十二):压缩函数 - Davies–Meyer结构,密码学,密码学,学习,笔记

压缩函数的Davies-Meyer构造使用了n位密钥长度和l位块长度的分组密码。

压缩函数可以被定义为:

密码学学习笔记(十二):压缩函数 - Davies–Meyer结构,密码学,密码学,学习,笔记

为了证明所得到的压缩函数的抗碰撞性,我们将F建模为理想密码(理想随机强置换)。任何用于实例化理想密码的分组密码都必须根据理想密码提出的以下更严格的要求进行评估。

  • 所有各方都可以访问一个用于随机密钥排列的预言机。

以及它的逆

另一种认为这一点的方法是,每个密钥在l个比特串上指定了一个独立的、一致的置换(k,·)。 计算(或)的唯一方法是用(k,x)显式查询预言机并接收回(k,x)。

  • 理想的密码模型意味着不存在相关的密钥攻击。即,排列(k,·)和(k',·)必须独立地表现,即使例如,k和k'仅在一个比特上不同。
  • 不可能存在一种弱密钥k(例如,全0密钥),因为(k,·)很容易与随机区分。
  • 即使在已知k的情况下,(k,·)也应该是随机的。

如果F被建模为理想密码,那么Davies-Meyer构造产生了抗碰撞压缩函数。具体地说,任何对其理想密码预言机进行查询的攻击者都会发现概率最大为的冲突。文章来源地址https://www.toymoban.com/news/detail-595578.html

  • SHA-2算法的压缩函数采用的就是Davies–Meyer构造方法

到了这里,关于密码学学习笔记(十二):压缩函数 - Davies–Meyer结构的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 密码学学习笔记(十七 ):Edwards曲线数字签名算法 - edDSA

    Edwards曲线数字签名算法(Edwards-curve Digital Signature Alogorithm, edDSA)由Daniel J. Bernstein等人在2011年提出,它是一种使用基于扭曲爱德华兹曲线的Schnorr签名变体的数字签名方案。 EdDSA的一个特殊之处在于,该方案不要求每次签名都是用全新的随机数,而且该算法是确定性的。 EdDSA不直

    2024年02月16日
    浏览(49)
  • 密码学学习笔记(九):Public-Key Encryption - 公钥加密2

    如果我们知道𝑝, 𝑞 (即𝑁 = 𝑝𝑞) 我们可以在mod N中进行反幂运算。 比如: 我们有一个单向陷门函数,非常适合加密。  取两个大素数,然后N = 𝑝𝑞, 然后挑选一对𝑒, 𝑑  加密:给定𝑃𝐾 = (𝑁, 𝑒) 和一条消息𝑚 在里面 计算密文𝑐 :  解密:给定一个密文𝑐

    2024年02月13日
    浏览(50)
  • 密码学学习笔记(二十一):SHA-256与HMAC、NMAC、KMAC

    SHA-2是广泛应用的哈希函数,并且有不同的版本,这篇博客主要介绍SHA-256。 SHA-256算法满足了哈希函数的三个安全属性: 抗第一原像性 - 无法根据哈希函数的输出恢复其对应的输入。 抗第二原像性 - 给定一个输入和它的哈希值,无法找到一个不同于该输入的新输入,使得这两

    2024年02月11日
    浏览(84)
  • 密码学学习笔记(二):对称加密(二) IND-CPA、IND-CCA安全以及分组密码操作模式

    书接上篇笔记,假设声称对手可以在给定我们方案的密文的情况下找出明文的第一位。我们如何检验这一说法? 通过加密以0或1开头的明文生成密文 将密文交给对手,等待对手决定是哪种情况,检查决定是否正确 不可区分性:  如果我们想模拟任何泄漏怎么办? 为了模拟任

    2024年02月04日
    浏览(55)
  • CRYPTO现代密码学学习

    简单介绍 :RC4加密算法是一种对称加密算法,加密和解密使用同一个函数 初始化分为以下几个步骤 初始化存储0-255字节的Sbox(其实就是一个数组) 填充key到256个字节数组中称为Tbox(你输入的key不满256个字节则初始化到256个字节) 交换s[i]与s[j] i 从0开始一直到255下标结束. j是 s

    2024年02月03日
    浏览(64)
  • 图形学学习笔记1:基础变换矩阵

    变换矩阵 (Transformation Marices) ,一切物体的缩放,旋转,位移,都可以通过变换矩阵作用得到,在光栅化中会用到,同时在投影 (projection) 变换也有很多应用 将如下图所示的简单矩阵乘法定义为对向量的线性变换。 最简单的缩放变换 ,如图,即除了(0,0)不变之外都乘以某个系

    2024年03月12日
    浏览(47)
  • 【区块链学习笔记01】BTC-密码学原理-哈希函数

    区块链中最基础的密码学原理就是哈希算法,以下为哈希函数的简单介绍: 哈希函数是一种只只能加密但是不能解密的算法,哈希函数可以将任意长度的信息转化为固定长度的字符串。类似“8b46ec792e943de34605981980751a3c1e008218f77eeb27e474b594f7685019”这样。 当输入相同的值时,得到

    2024年02月03日
    浏览(44)
  • C++学习笔记(二十二)

    概念: 重载函数调用操作符的类,其对象常称为函数对象 函数对象使用重载的 () 时,行为类似函数调用,也叫仿函数 本质: 函数对象(仿函数)是一个类,不是一个函数 特点: 函数对象在使用时,可以像普通函数那样调用,可以有参数,可以有返回值 函数对象超出普通函数

    2024年01月18日
    浏览(60)
  • 自动驾驶学习笔记(二十二)——自动泊车算法

    #Apollo开发者# 学习课程的传送门如下,当您也准备学习自动驾驶时,可以和我一同前往:  《自动驾驶新人之旅》免费课程— 传送门 《Apollo开放平台9.0专项技术公开课》免费报名—传送门 文章目录 前言 感知算法 定位算法 规划算法 控制算法 算法调试 总结         见《

    2024年02月03日
    浏览(52)
  • JUC并发编程学习笔记(十二)Stream流式计算

    什么是Stream流式计算 大数据:存储+计算 集合、MySql这些的本质都是存储东西的; 计算都应该交给流来操作! 一个案例说明:函数式接口、lambda表达式、链式编程、Stream流式计算

    2024年02月05日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包