随机预言机模型:
在安全证明中,随机预言机模型通常是现实中哈希函数的理想化的替身。哈希函数是一个输入为任意长度,输出为固定长度的函数,除此之外还满足一些其它特性,例如单向性,抗碰撞性等。随机预言机的概念起源于Fiat和Shamir的把哈希函数看为随机的函数的思想,然后进一步由研究者Bellare和Rogaway转化为随机预言机模型。
在随机预言机模型下,通常设计一个方案并证明是安全的;而在方案的实际执行时,用具体的哈希函数来替换方案中的随机预言机。应该指出,在随机预言机模型下证明安全的方案在实际具体实现中未必是安全的。
随机预言机是一种散列函数,我们可以把它理解为具有以下特性的完美的散列函数:
1)一致性:对于相同的输入,其输出必然相同;
2)可计算性:输出的计算可以在多项式时间内完成;(多项式时间:在计算复杂度理论中,指的是一个问题的计算时间m(n)不大于问题大小n的多项式倍数。任何抽象机器都拥有一复杂度类,此类包括可于此机器以多项式时间求解的问题。)
3)均匀分布性:预言机的输出在取值空间内均匀分布,无碰撞。
在随机预言机模型中,假定敌手不会利用散列函数的弱点来攻击密码学方案。
标准模型:
不依赖随机预言机的模型,称为标准模型。一般指所设计的方案(如果使用了哈希函数)在证明时,仅使用了现实中哈希函数可以实现的特性,那么可以认为是标准模型。第一个标准模型下可证明安全的高效的公钥加密课题在1998年由Cramer和Shoup[101]提出,随后大部分研究者的兴趣转向了设计标准模型下可证明安全的方案。
随机预言机模型与标准模型的关系:
标准模型下,敌手只受时间和计算能力的约束,而没有其他假设,如果在此条件下,可以将密码学方案归约到困难性问题上,则称为该归约是基于标准模型的,也称方案具有在标准模型下的可证明安全性。然而在实际中,很多方案在标准模型下建立安全性归约是比较困难的,也就是难于证明在安全模型下的安全性。因此为了降低证明的难度,往往在安全性归约过程中加入其他的假设条件,就变成了随机预言机模型。
随机预言机虽然广泛应用与密码学方案的证明,为可证明安全提供了很大的方便,但人们对随机预言机模型下的安全性证明的有效性仍存在争议的。随机预言机是一种过于理想的假设,要求敌手不利用散列函数的弱点(在现实中,散列函数是确定的,其输出并不能保证是完全随机且均匀分布的)来对方案进行攻击。因此在随机预言机模型下安全的一些方案,在使用真实的散列函数之后,就不再安全了。尽管如此,基于随机预言机模型的安全证明除了散列函数外的环节都可以达到安全要求,目前大多数的可证明安全方案也是基于随机预言机模型的。因此,随机预言机模型仍被认为是可证明安全中最成功的应用。

随机预言机模型与标准模型相关推荐

  1. 原像、第二原像、碰撞;随机预言机;生日攻击

    三个问题 原像   给定一个消息摘要yyy,是否可以找到xxx使得h(x)=yh(x)=yh(x)=y.   若原像问题可解,则称(x,y)(x,y)(x,y)为有效对:若不能解则称原像稳固. 第二原 ...

  2. 随机预言机(random oracle)和PRF(Pseudorandom Function)是什么,区别在哪里?

  3. 预言机 - 区块链的触角

    在保险.金融.随机预测.物联网等各个场景中,预言机在区块链中已经展现出其不可替代的价值:作为区块链延伸的触角,搭建了链内与链外之间的可信桥梁,构建相互融合的价值生态. 本文将从预言机的起源.定义.原理 ...

  4. 预言机、预言机网络、预测市场

    阅读本文需要以下知识储备 1.理解区块链的基本原理 2.了解智能合同和共识机制概念 我很好奇,在区块链的网络体系下,如何与外部世界(传统互联网系统)进行数据交换,简而言之,区块链体系内的智能合同如何与 ...

  5. 《精通以太坊》预言机

    [本文摘自<精通以太坊>一书第11章预言机部分] 在本章中,我们将讨论预言机(oracle),它是可以为以太坊智能合约提供外部数据源的系统. "oracle"一词来自希 ...

  6. 预言机理解:A Scalable Architecture for On-Demand, Untrusted Delivery of Entropy

    阅读背景 由于要做智能合约随机数监测相关的内容,所以也需要调研清楚目前智能合约随机数生成的手段之一:预言机. 本文来自链接智能合约预言机随机数生成案例的github主页,感兴趣也可以阅读. 概览 Th ...

  7. Neutrino追问AMA第13期|DOS NETWORK 王琦 :预言机只是一个数据的搬运工,而非产生者

    Neutrino追问AMA第13期|DOS NETWORK 王琦 :预言机只是一个数据的搬运工,而非产生者 在2月20日 Neutrino 追问 AMA 第13期交流中,我们邀请到了来自DOS Net ...

  8. Chainlink平台预言机

    1. Chainlink 预言机的双层结构 开源的去中心化数据获取机 两层结构 1.1 多个预言机节点 实现了预言机的去中心化,保证数据上链服务的可靠性.多个预言机节点保证了当任意一个预言机出现问题( ...

  9. 跨链(5)“蚂蚁区块链”之预言机

    1. 底层TEE可信执行环境(Trusted Execution Environment) TEE 技术实现,提供链外数据的可信访问能力,既是严谨可靠的外部数据的访问能力,并对数据本身进行一个验证背书 ...

  10. 智能合约重构社会契约 (4)预言机基础说明

    1. 区块链如何获取现实世界的数据? 由于网络.节点处理速度等原因,各节点直接获取外界数据时可能会有偏差,从而造成结果不同. eg. 理想的区块链和预言机1对1模型(实际上是不行的) 1.1 预言机提 ...

最新文章

  1. PL/SQL Developer 报错ORA-01861
  2. 电脑卡得厉害,得采取一些措施了
  3. Qt修炼手册4_信号与槽
  4. 禁用cookie后怎么使用session_Session 和 Cookie 的区别?你在项目中哪些地方使用了?...
  5. oracle中慢sql优化思路
  6. 苹果新功能惹众怒,4000多家组织和个人签署公开信 敦促苹果放弃“儿童安全”功能...
  7. Android中图像变换Matrix的原理应用
  8. swift-延时加载函数
  9. 2011考研数学二第(19)题——拉格朗日中值定理证不等式、单调有界证数列收敛、两问关联
  10. 如何在windows上搭建DZ(Discuz!)论坛?
  11. 关于8266WiFi模块(AT)问题分析与解答(单片机和wifi模块连接)
  12. 上传照片显示服务器繁忙怎么回事,为什么每次上传照片时都发生网络错误
  13. wetool企业微信营销管理系统开发
  14. 普歌-Vue 封装防刷新考试倒计时组
  15. 程序员面试、算法研究、编程艺术、红黑树、机器学习5大系列集锦(转)
  16. pyquery url初始化
  17. Golang中用到的的Websocket库
  18. 如何在excel中插入文件?Excel插入对象和附件有什么区别?(插入对象能直接显示内容,但我没显示?)
  19. linux编译动态库未定义,GCC链接库的一个坑:动态库存在却提示未定义动态库的函数...
  20. 服装门店系统php,多客服装门店管理系统软件

热门文章

  1. html表格填充空白单元格,快速填充数据表格中的空白单元格
  2. 中国有机菠萝汁行业市场供需与战略研究报告
  3. Deep Reinforcement Learning : An Overview(Yuxi Li) 学习笔记
  4. 文本分析主要包含哪些技术,文本分析技术的发展方向是什么?
  5. C语言位操作中的置0和置1
  6. vue通过disabled控制按钮的置灰
  7. “新元宇宙”奇科幻小说原创作品系列连载《地球人奇游天球记》第三回零点惊魂
  8. 跟着 Apple 中国学习顶级中文文案排版
  9. Win11更改用户文件夹名
  10. 怎样用c语言实现CPU超频,【七彩虹Z170评测】装机不求人25 教你一分钟学会CPU超频(全文)_七彩虹 战斧C.Z170-D3旗舰版 V20_DIY攒机装机不求人-中关村在线...