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相关推荐

  1. 比特承诺(Bit Commitment)的概念

    文章目录 概念 基本思想 经典环境示例 性质 三方比特承诺 应用 概念 比特承诺是安全多方计算中最重要的基础协议之一,对构建更复杂的多方协议起着重要作用. 比特承诺(Bit Commitment, B ...

  2. 安全多方计算之四:比特承诺

    比特承诺 1. 简介 2. 基于对称密码算法的比特承诺方案 3. 基于单向函数的比特承诺方案 4. Pederson承诺协议 1. 简介 比特承诺方案是密码协议的重要成分,广泛应用于电子拍卖.商业谈判 ...

  3. 【隐私计算笔谈】MPC系列专题(六):零知识证明和比特承诺

    [隐私计算笔谈]MPC系列专题(六):零知识证明和比特承诺 文章目录 [隐私计算笔谈]MPC系列专题(六):零知识证明和比特承诺 零知识证明 比特承诺 推荐阅读 [隐私计算笔谈]MPC系列专题(一): ...

  4. 水银承诺mercurial commitment

    1. 陷门承诺(trapdoor commitment) 陷门承诺方案(trapdoor commitment)是一种特殊的承诺方案,该概念由Brassard等人于1988年首先提出.陷门承诺方案一个 ...

  5. 一文读懂区块链隐私技术系列之佩德森承诺(Pedersen Commitment)以及应用

    前言 佩德森承诺是一种密码算法,它允许验证者在不暴露或无法更改某个值的情况下提交该值. 佩德森的承诺 CT( Confidential Transactions,机密Tx)的基础密码学工具是佩德森的承 ...

  6. MPC系列-零知识证明和比特承诺

    零知识证明:           背景:交互式证明由证明者和验证者俩方参与,证明者掌握某一秘密,证明者需要让验证者相信自己掌握该秘密.验证者根据证明者每一轮回复的信息决定是否相信证明者. 零知识证明( ...

  7. 贷款承诺(Loan Commitment)

    贷款承诺(Loan Commitment) 目录 ?1 贷款承诺的定义 ?2 贷款承诺的种类 ?3 贷款承诺的风险 ?4 贷款承诺与贷款意向的区别 ?5 贷款承诺申办条件 ?6 贷款承诺的期限   贷 ...

  8. 密码学原语如何应用?解析密码学承诺的妙用

    在不泄露明文的前提下,如何对隐私数据的内容进行承诺?密码学承诺的密文形式和普通的数据密文有何区别?隐私数据如何在密码学承诺的形式下依旧保持可用性?在量子计算的安全模型下,是否依旧可以构造安全可用的密码 ...

  9. Coin flipping and bit commitment

    原文教材: Boneh Dan , Shoup Victor . A Graduate Course in Applied Cryptography[J]. 该书项目地址(可以免费获取):http:/ ...

最新文章

  1. 使用nc检测udp端口是否可以正常通讯
  2. Stimulsoft Reports.Net基础教程(九):创建图表报表①
  3. 104.路由协议有哪些?
  4. 托管 非托管_如何在托管Kubernetes上还原Neo4J备份
  5. 11 CO配置-控制-成本中心会计-定义分割结构
  6. 痛恨3721的朋友们,装个avast! Antivirus吧
  7. 编辑框CEdit自动换行简单设置
  8. MVC Code First中的惯例(约定)
  9. python正则表达式模块_Python正则表达式模块re
  10. 数据结构上机实验解题报告
  11. 如何注册google账户呢?
  12. Scala基础:类和构造器
  13. SCI英文论文写作- Latex 进阶
  14. FB微软谷歌大会惊喜欠奉,AI风向还是看今夏的百度Create吧
  15. 内存泄漏试试AScan
  16. java基础巩固-宇宙第一AiYWM:为了维持生计,多高(多线程与高并发)_Part7~整起(打手集团【线程池】)
  17. 51单片机风扇转动c语言代码,基于51单片机的智能风扇控制系统设计.doc
  18. css3 html5动画特效
  19. linux 3.10在mini210s上移植----01. tftp安装
  20. 机械工业出版社计算机组成原理答案,孙德文+计算机组成原理+习题答案

热门文章

  1. python 程序退出的几种方式
  2. 校园跑腿小程序怎么赚钱
  3. 【论文分享】不平衡流量分类方法 DeepFE:ResNet+SE+non-local:Let Imbalance Have Nowhere to Hide
  4. 【JVM】你好--JVM
  5. 《口吃者的自我治疗》(4. 影响治疗的因素)
  6. 刘芳计算机学院,刘芳(计算机科学学院)老师 - 四川师范大学 - 院校大全
  7. 2021国内多用户商城系统源码哪个好,多用户商城系统中国十大品牌
  8. android:股票代码大全
  9. linux命令 mv -v,linux中的mv命令
  10. 《山居秋暝》 王维