区块链期末复习1.1:密码学哈希函数

一、哈希函数应该具备的三个特性

1.输入可以为任意长度的字符串

2.产生固定大小输出(比如256位)

3.能进行有效计算。对于n位字符串,可以在O(n)的时间内计算出哈希值。

二.加密哈希函数的三个特性

1.collision-resistance(碰撞阻力)

1)碰撞 :对于两个不同的输入,产生相同的输出。比如给定,H(x)和H(y)却是相等的

2)碰撞阻力 :无法找到两个值x,y;当时,.

注:不是没有碰撞,而是无法找到碰撞。(存在碰撞是因为:输入空间无限,输出空间有限)

3)找到碰撞的例子:

ex1.输入()--哈希-->输出()。穷举每个输入的哈希值,必然存在碰撞。

即对于一个输出为256位的哈希函数而言,最坏情况要进行次哈希计算,平均要进行次哈希运算。

ex2.对于某些哈希函数,除了穷举之外还有其他方式。比如:

对于x,x+就与之形成碰撞。

4)碰撞阻力的用途:信息摘要(message digest)

即哈希之后的内容可以代表哈希之前的内容。比如一个文件很复杂,我们要判断这个文件有没有损失,只需要对比文件前后的哈希值是否相同。(如果损坏了,根据碰撞阻力,哈希值会改变)

2.hiding(隐秘性)

1)前提:需要输入集合很大(仅仅通过尝试几个可能的x,找不到想要的H(x);也就无法根据H(x)判断原先的输入是哪个x)

  1. 隐秘性定义 :当其输入r选自一个高阶最小熵(high min-entroy)的概率分布,在给定H(r‖x)条件下来确定x是不可行的。

(说人话就是,给定一个哈希值,很难找到这个哈希值对应的输入x.H(x)推不出x)

通俗理解高阶最小熵:

即使在最"保守"的情况下,仍然有很多的可能性。

3)隐秘性用途:承诺(commitment)

把承诺的内容(假设是数字)进行哈希,哈希值公布出去作为承诺,而原本承诺的内容对其他人来说还是秘密。(即展示H(x),隐藏x,同时H(x)又确保自己给出了x这个承诺)

4)承诺协议:

  • com:commit(msg,nonce) 即信息+随机数->承诺
  • verify(com,msg,nonce) 即如果com==commit(msg,nonce),返回真,反之返回假

(要求两个安全特性,一是隐秘性(com推不出msg),二是约束性(找不到两组msg,nonce数对使comm相等)。约束性可以通过哈希函数的碰撞阻力实现)

(隐秘性使得承诺公布前不会被其他人知晓,约束性使得承诺人不能改变承诺。)

3.puzzle-friendliness(谜题友好)

1)谜题友好定义:对于任意n位输出值y,假定k选自高阶最小熵分布,如果无法找到一个可行的办法,在比2的n次方小很多的时间内找到x,使得H(k||x)==y成立,那么我们称哈希函数H为谜题友好。

说人话,给一个谜题(哈希函数值),如果除了暴力穷举之外没别的好办法能解出来(求出输入值x),那么就叫谜题友好。

2)应用:搜索谜题

搜索谜题构成:

  • 一个哈希函数H
  • 在高阶最小熵分布中选出一个取值,id(我们称作谜题ID)
  • 目标集合Y

该谜题的解决方法为一个解,x,应满足下面公式:

H(idǁx)∈Y

解决这个谜题 要求找到一个位于目标集合Y中的输出值(集合Y往往比所有输出集合小很多)。Y的大小决定了谜题的难度,Y越大题目越简单。

三、安全哈希算法

1.MD变换(merkle damgard)

1)定义:将接收固定长度输入的哈希函数,转化为接收任意长度输入的哈希函数。(固定长度输入->任意长度输入)

2)压缩函数(compression function):可用于固定长度,具备碰撞阻力的哈希函数。

3)MD变换运作实例:

  • 压缩函数需要代入长度为m的输入值,并产生长度短一点的为n的输出值
  • 任意长度大小的输入被分为多个区块,每个区块的大小为m-n
  • 将每个区块的输入,与上一个区块的输出合并在一起代入压缩函数(也就是说,输入长度为(m-n)+n=m)
  • 第一个区块之前没有区块,所以需要指定一个初始向量(长度为n)
  • 最后一个区块的输出为返回的结果

2.SHA-256函数

1)利用的压缩函数:输入(768位)--压缩-->输出(256位)。

所以m=768,n=256,区块大小m-n=512.

2)工作流程如图:

相关推荐
IvorySQL11 小时前
PostgreSQL 日报| WAL summarizer 断言失败(10 月 26 日)
数据库·postgresql·区块链
幻智星科技18 小时前
蒙哥马利模乘FPGA优化实战
fpga开发·密码学
kobe_t19 小时前
数据安全系列10:密码大历史-凯撒加密
密码学
Gu_WenYun19 小时前
市场波动应对策略:灵活与坚定的平衡
人工智能·金融·区块链
磐链科技19 小时前
交易所钱包开发的核心技术:解析多链集成、私钥管理与冷热钱包安全架构
安全·区块链·安全架构
MuMuMu12232 天前
越华环保集团碳惠小屋:边缘感知 + 区块链存证,碳普惠终端工程化落地实践
区块链
AIyy8663 天前
区块链项目宣发应该选哪些平台?ME Group华语市场与亚太圈层传播方案解析
区块链
磐链科技3 天前
区块链交易所开发未来发展趋势:解析多链互操作、智能风控与数字资产交易生态创新
区块链
洁洁!4 天前
SM2签名验证深度解析
密码学·国密·sm2
磐链科技4 天前
区块链交易所安全系统如何构建?解析冷热钱包隔离、多重签名与交易风险控制机制
安全·区块链