文档章节

两个人如何在不见面的情况下通过电话玩 “抛硬币”游戏?

林中漫步
 林中漫步
发布于 2017/07/23 11:43
字数 522
阅读 6
收藏 0

    在数学中,有一个非常典型的“正则易、逆则难”的问题:你很容易算出两个数的乘积是多少,却没法迅速找出一个大数等于哪两个数的乘积。

    质数拥有很多美妙的性质,不但让数学家们如痴如醉,在信息安全领域也有许多漂亮的应用。选取两个质数,比方说 23 和 67,然后把它们乘在一起,能够得到一个新的数 1541。不过,除非一个数一个数地去试,否则你没办法判断出 1541 可以分成哪两个数之积。也就是说,对于“1541 能分成哪两个数的乘积”这个问题,回答起来相当困难,验证答案的正确性却很容易。

    利用这个思路,我们能得到如下公平的电子抛币方案。过程如下:

        1)A抛郑硬币,如果正面朝上,就选择两个 1000 左右的质数,否则选择三个100左右的质数;然后把选择的质数乘起来,将结果告诉B。(此时A并不知道输赢规则)

        2)B确定输赢规则,比如 "正面朝上, A赢;反面朝上,B赢" ,并告之A。(此时B并不知道哪面朝上)

        3)A揭晓答案,把刚才选的几个质数告诉B。

        4)B验证答案,用A给出的质数相乘,看是否等于之前A给的乘积。

    这样,A无法串改、抵赖, B无法破解。有关非对称加密,参考 如何用通俗易懂的话来解释非对称加密?

© 著作权归作者所有

共有 人打赏支持
上一篇: 区块链课堂
下一篇: 随手收藏
林中漫步
粉丝 97
博文 55
码字总数 33266
作品 0
深圳
架构师
私信 提问
【通俗向】假设检验(三):卡方检验和t检验

国际惯例,先看几个例子: 假设抛硬币,抛了12次,出现正面为1,反面为0,如果出现正面的次数为10次,问这个硬币是否均匀? 假设有一个正四面体,出现四个面的分别记为1,2,3,4;抛了120次,如...

yunru_yang
2017/03/09
0
0
想去谷歌 AI 工作?请收下这20道面试题

雷锋网按:Google AI Interview Questions— Acing the AI Interview 本文为雷锋字幕组编译的技术博客,原标题,作者为Vimarsh Karbhari。 翻译 | 郑前 整理 | 凡江 谷歌拥有世界上最聪明的A...

雷锋字幕组
2018/04/18
0
0
利用反等价鞅策略,建立最佳头寸管理

利用反等价鞅策略,建立最佳头寸管理 NO.1 QUANT.LA 量化干货聚集地 宽客在线 看对走势并没有什么了不起的,在市场中总能找到很多在牛市早就看涨的人,在熊市早就看跌的人。但他们总是善于跟...

发明者量化FMZ
2018/06/29
0
0
EM算法--Apple的学习笔记

EM算法的引入 一个例子就是: 假设有两枚硬币A、B,以相同的概率随机选择一个硬币,进行如下的抛硬币实验:共做5次实验,每次实验独立的抛十次 问在两种情况下分别如何估计两个硬币正面出现的...

applecai
2018/11/24
0
0
不做高频,量化策略到底能不能战胜抛硬币?

在回答这个问题前我想先来讲一个故事。 50年代末,统计学家Kelly在贝尔实验室任实验室助理,师从Shannon(信息论鼻祖),提出了Kelly Criterion 凯利准则,即:通过计算edge和odds来选择最佳...

JDquant
2017/07/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周三乱弹 —— 风扇写着先生请自爱

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @蚂蚁哈哈哈 :分享陈奕迅的单曲《落花流水》 《落花流水》- 陈奕迅 手机党少年们想听歌,请使劲儿戳(这里) @车谷 :我发现每天上班都好困 ...

小小编辑
今天
22
3
centos7重置密码、单用户模式、救援模式、ls命令、chmod命令

在工作当中如果我们错误的配置了文件使服务器不能正常启动或者忘记密码不能登录系统,如何解决这些问题呢?重装系统是可以实现的,但是往往不能轻易重装系统的,下面用忘记密码作为例子讲解如...

李超小牛子
今天
3
0
Python如何开发桌面应用程序?Python基础教程,第十三讲,图形界面

当使用桌面应用程序的时候,有没有那么一瞬间,想学习一下桌面应用程序开发?行业内专业的桌面应用程序开发一般是C++,C#来做,Java开发的也有,但是比较少。本节课会介绍Python的GUI(图形用...

程序员补给栈
今天
8
0
kafka在的使用

一、基本概念 介绍 Kafka是一个分布式的、可分区的、可复制的消息系统。它提供了普通消息系统的功能,但具有自己独特的设计。 这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统...

狼王黄师傅
今天
3
0
Android JNI总结

0x01 JNI介绍 JNI是Java Native Interface的缩写,JNI不是Android专有的东西,它是从Java继承而来,但是在Android中,JNI的作用和重要性大大增强。 JNI在Android中起着连接Java和C/C++层的作...

天王盖地虎626
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部