比特承诺 Bit Commitment
Introduction—A story
Alice:股票经纪人 Bob:股民
Alice:你的钱交给我,我替你买股票,我专业,挣钱多!
Bob:怎么证明?
Alice:我们上月买进的10只股票都上涨了10%以上,我可以让你看看我上月选择的股票情况。
Bob:这不可靠,你现在完全可以在知道股票的情况后,告诉我你原来选择的就是这些上涨的股票。如果你告诉 我现在选择哪些股票,一个月后她们能上涨多少,而一个月后这些股票确实如此,我就相信你。
Alice:这对我不公平,你可能直接用你的钱去买我选择的股票,一个月后你赚了钱,仍然不让我替你购买。
Bob: 你的担心也对,那么我们这样做好吗?你拿一个坚固的箱子和一把锁,把你现在选择的股票写到一张纸上,装到箱子里锁上,你把钥匙带走,把箱子留在我这里。一个月之后你到我这里,当面打开箱子,如果你选的股票确实如你所预料的上涨了,我就把钱交给你,让你替我购买。行吗?
Alice:好!这个方法好,多我们都公平。
他们这样做了,一个月后检验发现Alice的预测是正确的,Bob把的钱交给了Alice。
Definition of Bit Commitment
比特承诺(Bit Commitment,BC)是密码学中的重要基 础协议,其概念最早由1995 年图灵奖得主Blum 提出。比特承诺方案可用于构建零知识证明、可验证秘密 分享、硬币投掷等协议,同时和茫然传送一起构成安全双方计算的基础,是信息安全领域研究的热点。
比特承诺的基本思想如下:发送者Alice 向接收者Bob 承诺一个比特b (如果是多个比特,即比特串t ,则称为比特 串承诺),要求:在第1 阶段即承诺阶段Alice 向Bob 承诺这个比特b ,但是Bob 无法知道b 的信息;在第2 阶段即揭示 阶段Alice 向Bob 证实她在第1 阶段承诺的确实是b ,但是 Alice 无法欺骗Bob(即不能在第2 阶段篡改b 的值)。
经典环境中关于比特承诺的一个形象的例子是:Alice 将待承诺的比特或秘密写在一张纸上,然后将这张纸锁进一个保险箱,该保险箱只有唯一的钥匙可以打开。在承诺阶段, Alice 将保险箱送给Bob,但是保留钥匙;到了揭示阶段,Alice 将比特或秘密告诉Bob,同时将钥匙传给Bob 使其相信自己的承诺。需要指出的是,保险箱不能被“暴力破解” 的性质甚至允许Alice 在揭示阶段无需向Bob 说明承诺的比特或秘密,只要将钥匙发送给Bob 即可。
一个比特承诺方案必须具备下列性质:
*正确性: 如果Alice 和Bob 均诚实地执行协议,那么在 揭示阶段Bob 将正确获得Alice 承诺的比特b 。
*保密性: 在揭示阶段之前Bob 不能获知b 的信息 。
*绑定性: 在承诺阶段结束之后,Bob 只能在揭示阶段获得唯一的b 。
三方比特承诺模型
在该模型下,承诺者由一人变为二人Alice 与Bob,由此二人共同向第三方Chris 承诺一个比特或比特串。承诺阶段之前,Alice 与Bob 可以自由通信以商定承诺内容,但是在协议开始以后,要求Alice 与Bob 无法再进行通信。
由Alice 向Chris承诺b。
由Bob 负责向Chris 揭示b 的信息,因此Alice 没有任何作弊的可能,即无法破坏协议的绑定性。
三方参与的安全模型在实际生活中是有很多应用的,例如在博弈论的经典“囚徒困境”模型中,两个纵火嫌疑犯即 可以视作证明者,他们在被抓住以前可以自由交流(例如商定 问讯对策),被抓以后将被警察(验证者)分开审讯。如果这两 个嫌疑犯均“忠实”地在审讯过程中坚持否认纵火事实,那么他们将获得集体最优结果。又如,由两家单位合作来对某 个大型项目进行投标(例如资金与技术的合作),则这两家单位和招标方构成三方承诺模型。
比特承诺 Bit Commitment相关推荐
- 比特承诺(Bit Commitment)的概念
文章目录 概念 基本思想 经典环境示例 性质 三方比特承诺 应用 概念 比特承诺是安全多方计算中最重要的基础协议之一,对构建更复杂的多方协议起着重要作用. 比特承诺(Bit Commitment, B ...
- 安全多方计算之四:比特承诺
比特承诺 1. 简介 2. 基于对称密码算法的比特承诺方案 3. 基于单向函数的比特承诺方案 4. Pederson承诺协议 1. 简介 比特承诺方案是密码协议的重要成分,广泛应用于电子拍卖.商业谈判 ...
- 【隐私计算笔谈】MPC系列专题(六):零知识证明和比特承诺
[隐私计算笔谈]MPC系列专题(六):零知识证明和比特承诺 文章目录 [隐私计算笔谈]MPC系列专题(六):零知识证明和比特承诺 零知识证明 比特承诺 推荐阅读 [隐私计算笔谈]MPC系列专题(一): ...
- 水银承诺mercurial commitment
1. 陷门承诺(trapdoor commitment) 陷门承诺方案(trapdoor commitment)是一种特殊的承诺方案,该概念由Brassard等人于1988年首先提出.陷门承诺方案一个 ...
- 一文读懂区块链隐私技术系列之佩德森承诺(Pedersen Commitment)以及应用
前言 佩德森承诺是一种密码算法,它允许验证者在不暴露或无法更改某个值的情况下提交该值. 佩德森的承诺 CT( Confidential Transactions,机密Tx)的基础密码学工具是佩德森的承 ...
- MPC系列-零知识证明和比特承诺
零知识证明: 背景:交互式证明由证明者和验证者俩方参与,证明者掌握某一秘密,证明者需要让验证者相信自己掌握该秘密.验证者根据证明者每一轮回复的信息决定是否相信证明者. 零知识证明( ...
- 贷款承诺(Loan Commitment)
贷款承诺(Loan Commitment) 目录 ?1 贷款承诺的定义 ?2 贷款承诺的种类 ?3 贷款承诺的风险 ?4 贷款承诺与贷款意向的区别 ?5 贷款承诺申办条件 ?6 贷款承诺的期限 贷 ...
- 密码学原语如何应用?解析密码学承诺的妙用
在不泄露明文的前提下,如何对隐私数据的内容进行承诺?密码学承诺的密文形式和普通的数据密文有何区别?隐私数据如何在密码学承诺的形式下依旧保持可用性?在量子计算的安全模型下,是否依旧可以构造安全可用的密码 ...
- Coin flipping and bit commitment
原文教材: Boneh Dan , Shoup Victor . A Graduate Course in Applied Cryptography[J]. 该书项目地址(可以免费获取):http:/ ...
最新文章
- 使用nc检测udp端口是否可以正常通讯
- Stimulsoft Reports.Net基础教程(九):创建图表报表①
- 104.路由协议有哪些?
- 托管 非托管_如何在托管Kubernetes上还原Neo4J备份
- 11 CO配置-控制-成本中心会计-定义分割结构
- 痛恨3721的朋友们,装个avast! Antivirus吧
- 编辑框CEdit自动换行简单设置
- MVC Code First中的惯例(约定)
- python正则表达式模块_Python正则表达式模块re
- 数据结构上机实验解题报告
- 如何注册google账户呢?
- Scala基础:类和构造器
- SCI英文论文写作- Latex 进阶
- FB微软谷歌大会惊喜欠奉,AI风向还是看今夏的百度Create吧
- 内存泄漏试试AScan
- java基础巩固-宇宙第一AiYWM:为了维持生计,多高(多线程与高并发)_Part7~整起(打手集团【线程池】)
- 51单片机风扇转动c语言代码,基于51单片机的智能风扇控制系统设计.doc
- css3 html5动画特效
- linux 3.10在mini210s上移植----01. tftp安装
- 机械工业出版社计算机组成原理答案,孙德文+计算机组成原理+习题答案
热门文章
- python 程序退出的几种方式
- 校园跑腿小程序怎么赚钱
- 【论文分享】不平衡流量分类方法 DeepFE:ResNet+SE+non-local:Let Imbalance Have Nowhere to Hide
- 【JVM】你好--JVM
- 《口吃者的自我治疗》(4. 影响治疗的因素)
- 刘芳计算机学院,刘芳(计算机科学学院)老师 - 四川师范大学 - 院校大全
- 2021国内多用户商城系统源码哪个好,多用户商城系统中国十大品牌
- android:股票代码大全
- linux命令 mv -v,linux中的mv命令
- 《山居秋暝》 王维