这里讲的是MD变换,MD变换的全称为Merkle-Damgaard变换.我们平时接触的hash函数都是先构造出一个防碰撞的压缩函数.然后先证明这个小的,固定长度的压缩函数是安全的,然后再用它构造一个任意长度的哈希算法.虽然存在很多其它的构造方法,MD是迄今为止最常用的(至少是被用到最多的),例如MD5,SHA1,SHA2.因此是时候来了解一下它了.

安全的哈希函数?

压缩函数

MD哈希函数的构造

长度扩展

转载连接:https://www.cnblogs.com/zhuowangy2k/p/12245508.html#!comments

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第20篇]Merkle-Damgaard hash函数如何构造相关推荐

  1. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第14篇]什么是基于线性对的密码学

    这是最新的一期密码学52件事.我们基于前几周介绍一种"对"的概念. 对的定义 给定三个循环群G1,G2,G3,它们的基为q,生成器分别为g1,g2,g3.我们说一个函数e:G1×G ...

  2. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第51篇]什么是基于ID的加密的安全模型,描述一个IBE方案

    在公钥密码学中,如果Alice想要给Bob发送一条消息,她需要Bob的公钥,一般来说公钥都很长,就像一个随机的字符串. 假设Alice可以不用公钥而是使用Bob的名字或者邮件地址作为他的公钥.实际的来 ...

  3. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第34篇]描述攻击离散对数问题的baby-step/Giant-step方法

    这是一系列博客文章中最新的一篇,该文章列举了"每个博士生在做密码学时应该知道的52件事":一系列问题的汇编是为了让博士生们在第一年结束时知道些什么. Baby-step/Giant ...

  4. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第39篇]侧信道攻击和故障攻击有什么区别

    这是一系列博客文章中最新的一篇,该文章列举了"每个博士生在做密码学时应该知道的52件事":一系列问题的汇编是为了让博士生们在第一年结束时知道些什么. 侧信道攻击(Side-chan ...

  5. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第32篇]基于博弈的证明和基于模拟的证明

    这是一系列博客文章中最新的一篇,该文章列举了"每个博士生在做密码学时应该知道的52件事":一系列问题的汇编是为了让博士生们在第一年结束时知道些什么. 在基于博弈的安全定义中,安全是 ...

  6. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第31篇]Game Hopping证明

    这是一系列博客文章中最新的一篇,该文章列举了"每个博士生在做密码学时应该知道的52件事":一系列问题的汇编是为了让博士生们在第一年结束时知道些什么. 关于安全证明, 目前主流的方法 ...

  7. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第30篇]大致简述密钥协商中的BR安全定义

    这是一系列博客文章中最新的一篇,该文章列举了"每个博士生在做密码学时应该知道的52件事":一系列问题的汇编是为了让博士生们在第一年结束时知道些什么. 在两方之间建密钥共享是一件密码 ...

  8. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第25篇]使用特殊的素数定义GF(p)和GF(2^n)的方法

    这是一系列博客文章中最新的一篇,该文章列举了"每个博士生在做密码学时应该知道的52件事":一系列问题的汇编是为了让博士生们在第一年结束时知道些什么. 当实现密码学方案时,一个最频繁 ...

  9. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第22篇]如何用蒙哥马利算法表示一个数字和多个相乘的数字

    这是一系列博客文章中最新的一篇,该文章列举了"每个博士生在做密码学时应该知道的52件事":一系列问题的汇编是为了让博士生们在第一年结束时知道些什么. 安全和效率 密码学的目标是设计 ...

  10. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第16篇]描述DSA、Schnorr和RSA-FDH的密钥生成、签名和验证算法。

    这是一系列博客文章中最新的一篇,文章的主题是"做密码学每个博士生都应该知道的52件事".这一系列问题是为了让博士生们在第一年结束时了解他们应该知道的事情.本周我们将介绍DSA.Sc ...

最新文章

  1. 创建Silverlight自定义启动画面
  2. java集合类学习笔记之LinkedHashMap
  3. ssm_maven idea分模块开发
  4. android 判断手机为小米
  5. linux安装python27_linux下安装python27 nginx 和uwsgi
  6. 吴恩达悄然发布AI维基,另外他的技术岗已经招满了
  7. cli命令行配置路由器_2.3.3 使用CLI执行基本路由器配置
  8. 2021-07-31mysql连接 基本语句
  9. pon终端测试仪_PON产品测试方案
  10. Linux 配置SSH免密登录
  11. 微信公众号入门详细教程
  12. powershell过滤查询结果
  13. LintCode 练习【C++】
  14. Java/Flex/.Net 三国演绎 之 关公战秦琼
  15. foxmail皮肤_确实很棒!Foxmail 7.1邮箱客户端体验
  16. U盘安装ubuntu20.04并优化
  17. 逻辑回归三部曲——逻辑回归项目实战(信贷数据+Python代码实现)
  18. js 编写一个函数,计算任意两个数字之间所能组成的奇数个数
  19. Java判断手机号格式
  20. python中del和pop有什么区别_Python列表删除元素del、pop()和remove()的区别小结

热门文章

  1. LightOJ 1422 Halloween Costumes
  2. js获取checkbox值的方法
  3. C# 控制台或者winform程序开启http的监听状态
  4. android开机自动打开微信小程序,Android APP拉起小程序界面 (微信未启动 打不开)...
  5. mysql数据库root密码在哪个文件中_mysql - 本地数据库忘记了root用户的密码
  6. jedis jedispool Redistemplate
  7. Android 支付宝登录
  8. css p 文本不换行,超出文字显示省略号
  9. TCP/IP完整的基础介绍
  10. lambda写法(多参数)