现代密码学5.1--哈希函数定义
现代密码学5.1--哈希函数定义
- 密码学的假设
- 抗碰撞哈希函数定义
- 与数据结构中定义的哈希函数的不同
- 哈希函数的密钥
- 安全性:抗碰撞哈希函数>抗二次原像/抗目标碰撞哈希函数>抗原像哈希函数
- 抗碰撞的
- 抗二次原像/抗目标碰撞的
- 抗原像的
- 安全性强弱
- 安全性与攻击难度
博主正在学习INTRODUCTION TO MODERN CRYPTOGRAPHY (Second Edition) --Jonathan Katz, Yehuda Lindell,做一些笔记供自己回忆,如有错误请指正。整理成一个系列现代密码学,方便检索。
- 第二章定义了完美安全及其对应的密码方案“一次一密”,
- 第三章介绍了
- 3.1-3.3 计算安全,PRG和基于PRG构造的满足计算安全的密码方案;
- 3.4-3.5 CPA安全,PRF和基于PRF构造的满足CPA安全的密码方案
- 3.6 基于PRG和PRF构造的流密码和分组密码;
- 3.7 CCA安全,对非CCA安全密码方案的攻击
- 第五章将介绍哈希函数,而5.1节先介绍哈希函数的定义。
密码学的假设
密码学是基于假设的一门学科,
- 最基础的假设是P≠NPP\neq NPP=NP
- 更强一点的是单向函数存在
- 更强一点的是PRFPRFPRF存在
- 更强一点的是抗碰撞哈希函数存在
- 更强的是公钥加密算法存在
抗碰撞哈希函数定义
- 将任意长度的长的输入字符串映射到固定长度的短的输出字符串
- 抗碰撞:x≠x′x\neq x'x=x′,H(x)=H(x′)H(x)=H(x')H(x)=H(x′)
与数据结构中定义的哈希函数的不同
- 数据结构中的哈希函数:最小化碰撞;
- 密码学中的哈希函数:抗碰撞是一个必要条件
- 数据结构中的哈希函数:元素选择独立于哈希函数,也不需要考虑是否会导致碰撞;
- 密码学中的哈希函数:元素选择需要考虑哈希函数以及是否会导致碰撞
哈希函数的密钥
- keyed哈希函数/有密钥的哈希函数
- Hs(x)=defH(s,x)H^s(x)\overset{def}{=}H(s,x)Hs(x)=defH(s,x)
- 这里的密钥与其他密钥至少有两个不同:
- 不是所有字符串都对应有效密钥,HsH^sHs可能不是一个抗碰撞哈希函数(所以往往有一个专门的keyGen函数生成有效密钥)
- 密钥sss是公开的
- unkeyed哈希函数/无密钥的哈希函数
- 从理论上来说,这种哈希函数不是抗碰撞的:没有密钥,则一定存在一个破解算法知道这个固定的key,硬编码这种碰撞对(x,x′)(x,x')(x,x′)到破解算法中
- 从实践上来说,还是抗碰撞的:虽然有这样一个破解算法,但在多项式时间内找不到
安全性:抗碰撞哈希函数>抗二次原像/抗目标碰撞哈希函数>抗原像哈希函数
抗碰撞的
给定密钥sss,PPT敌手不能找到一个碰撞对(x,x′)(x,x')(x,x′),x′≠xx'\neq xx′=x使得Hs(x′)=Hs(x)H^s(x')=H^s(x)Hs(x′)=Hs(x),则称Hs(x)H^s(x)Hs(x)是抗碰撞的。
抗二次原像/抗目标碰撞的
给定密钥sss和一个均匀xxx,PPT敌手不能找到一个x′≠xx'\neq xx′=x使得Hs(x′)=Hs(x)H^s(x')=H^s(x)Hs(x′)=Hs(x),则称Hs(x)H^s(x)Hs(x)是抗二次原像的 / 抗目标碰撞的 / target-collision resistance / Second-preimage resistance。
抗原像的
给定密钥sss和一个均匀随机字符串yyy,PPT敌手找不到一个xxx使得Hs(x)=yH^s(x)=yHs(x)=y,则称Hs(x)H^s(x)Hs(x)是抗原像的 / preimage resistance。
安全性强弱
如果一个哈希函数是抗碰撞的,则一定是抗目标碰撞的
- 给定x′x'x′,如果敌手能找到x≠x′x\neq x'x=x′,使得H(x)=H(x′)H(x)=H(x')H(x)=H(x′)(不抗目标碰撞的)
- 则敌手找到碰撞对(x,x′)(x,x')(x,x′)(不抗碰撞的)
- 逆否命题:如果一个哈希函数不抗目标碰撞,则一定不抗碰撞
如果一个哈希函数是抗目标碰撞的,则一定是抗原像的
- 给定yyy,如果敌手能找到xxx,使得Hs(x)=yH^s(x)=yHs(x)=y(不抗原像的)
- 则对于给定的x′x'x′,计算y=Hs(x′)y=H^s(x')y=Hs(x′),能找到xxx,使得Hs(x)=yH^s(x)=yHs(x)=y(不抗目标碰撞的)
- 逆否命题:如果一个哈希函数不抗原像,则一定不抗目标碰撞
安全性与攻击难度
- 如果一个哈希函数
- 是抗目标碰撞的,
- 不是抗碰撞的
- 则敌手在抗目标碰撞层面不能攻击它
- 在抗碰撞层面可以攻击它
现代密码学5.1--哈希函数定义相关推荐
- 现代密码学5.4--对哈希函数的攻击
现代密码学5.4--对哈希函数的攻击 生日攻击 生日问题 博主正在学习INTRODUCTION TO MODERN CRYPTOGRAPHY (Second Edition) --Jonathan K ...
- 【现代密码学原理】——哈希函数(学习笔记)
- 变色龙哈希函数-区块链
变色龙哈希调研 1. 调研背景 1.1哈希函数定义 哈希函数是一类具有以下特征的函数:将任意长度输入的字串可转换成一个固定长度的字串,通过原始字串可以很容易地算出转换后的字串,通过转换后的字串很难还原 ...
- 变色龙哈希函数Chameleon Hash Functions
变色龙哈希函数Chameleon Hash Functions 一.哈希函数 1.1 哈希函数定义 1.2 哈希函数性质 1.3 哈希函数存在的问题 二. 变色龙哈希函数 2.1 变色龙哈希函数定义 ...
- python 密码学计算_python 密码学示例——理解哈希(Hash)算法
Hash 是密码学安全性的基石,它引入了单向函数(one-way function)和指纹(fingerprint)的概念.即: 对于任意输入,都可以产生相同的.唯一的输出值 输出值中不包含输入值的任 ...
- 密码学数学基础,群,阿贝尔群,阶,双线性对,哈希函数,消息认证码概述
目录 抽象代数基础 群 阿贝尔群(Abelian Group) 阶(Order) 循环群(Cyclic Group) 双线性对 哈希函数H 消息认证码MAC 抽象代数基础 群 定义 群(Group), ...
- 密码学小知识(6):变色龙哈希函数(Chameleon Hash)
本篇博文将介绍变色龙哈希函数. 在介绍变色龙哈希函数之前,我们先简单回顾一下经典的哈希函数,这样就能对比它们之间的差别. 文章目录预览 本篇博文将介绍变色龙哈希函数. 一.哈希函数 二.变色龙哈希函数 ...
- 1.1 密码学哈希函数
我们需要理解的第一个密码学的基础知识是密码学哈希函数,哈希函数是一个数学函数,具有以下三个特性: ● 其输入可为任意大小的字符串. ● 它产生固定大小的输出.为使本章讨论更具体,我们假设输出值大小为2 ...
- 哈希函数在密码学中的应用
本文出自 AC.HASH 团队,AC<=>Adaptive Creator,适应性创作者,旨在于能够在未来新领域下创造出新的哈希算法以应对未来局面. 产出本文的成员: 中原工学院大二在校生 ...
最新文章
- Sublime Text 3 及Package Control 安装(附上一个3103可用的Key)
- 介绍一下你对浏览器内核的理解?
- 快速启动程序的工具软件都比不了Win+R-转
- 卡常神器——register 与 快速读入输出
- AngularJS中的表达式
- win10磁盘100官方解释_win10磁盘分区管理工具大变脸,现代磁盘管理工具喷薄而出...
- Vijos——T 1016 北京2008的挂钟 || 洛谷—— P1213 时钟
- 单元测试自动生成测试用例
- typora下载安装步骤
- 计算机的次要功能,FRM考试时所用计算器的操作指南
- 数据抽样方式:概率抽样、非概率抽样
- D630,vista sp2,4GB Turbo Memory,ITMService.exe(SmartPinService),Posses lots of CPU Resources
- ios 扫码枪外设 键盘模式_iPadOS 显威力,苹果 iPad Pro 终于用上带触控板的外接键盘...
- 下载b站视频方法,pr去水印
- oracle数据库课程描述,《ORACLE数据库简介》课件.ppt
- vue点击定位到指定位置_vue页面内部定位到锚点位置
- Linux ffs()函数
- 微信小程序名片3:0大战纸质名片,你应该知道如何选择了吧
- word计算机桌面加密,如何给电脑的Word文件加密
- 招标投标中各流程时间期限的规定
热门文章
- Uncaught TypeError: Cannot read property 'style' of null
- 怎样通过css控制table的部分td
- Address already in use: JVM_Bind 端口被占用解决办法
- mysql 隐式锁和显示锁_锁的类型以及粒度,两段锁协议,隐式和显示锁
- 计算营业额python_用python教你计算定投能获得多少收益
- 串行和并行的区别_入门参考:从Go中的协程理解串行和并行
- 电脑显示器变色_两千元档超强电竞小金刚:180hz的泰坦军团T27QR显示器
- 成功解决Error while trying to retrieve text for error ORA-12154
- CV之FD之HOG:图像检测之基于HOG算法、简介、代码实现(计算图像相似度)之详细攻略
- DL之LeNet-5:LeNet-5算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略