《第十五讲秘密分享与游戏.ppt》由会员分享,可在线阅读,更多相关《第十五讲秘密分享与游戏.ppt(60页珍藏版)》请在三一办公上搜索。
1、第十五讲 秘密分享与游戏,秘密分享方案是与密钥建立相关的多方协议。秘密分享的原始动机是:为了保证密码密钥不丢失,希望产生密钥备份,但是越多的密钥备份,密钥泄露的可能就越大;越少的密钥备份,密钥丢失的可能就越大。秘密分享方案就是用来提高密钥可靠性而不增加泄露风险的方法。,现代密码学的一个主要成就在于高级安全协议的发展。这些协议可以让用户在网上解决现实世界中许多问题,进行各种游戏,也能执行各种有趣而复杂的分布任务。电话投币和扑克协议将在这一讲中做简要介绍。,本讲提要,秘密分享的应用 秘密分割 门限方案 电话投币协议 电话扑克协议,1 秘密分享的应用,1.1 秘密分割 假定你发明了一种烹饪食物方法。
2、这一方法比目前已知的方法都好。对方法保密在市场竞争激烈的环境下十分重要。你可能仅会告诉最为信任的雇员具体方法,但雇员如果为竞争对手收买该怎么办?可能人人都可以按照这一方法烹饪食物。,1.1 秘密分割(续)这就需要秘密分割。方法是将一个消息分割成碎片,每一个碎片没有任何意义,但是合在一起就可以重现消息。有了秘密分割技术烹饪方法可以作为消息,而每个雇员只能拿到一个碎片,仅当他们联合才能恢复出烹饪方法。如果任何雇员离职,他带走的仅是自己的一个碎片,这一信息本身并无用处。,但是,这仍然存在问题:如果任意一个碎片丢失,则消息无法恢复。如果一个雇员有烹饪方法的一个碎片而他去为竞争对手工作并将其碎片带走,那
3、么其他雇员就没有那么幸运了。离职雇员虽然不能产生烹饪方法,但他可以不在参与恢复烹饪方法。他的碎片与其它碎片一样对恢复消息至关重要。,1.2 关于门限方案 你在为核导弹安装发射程序。你想确信一个疯子是不能启动发射,也不希望两个疯子就能启动发射。在你允许发射前,五个军官至少有三个是疯子。这是一个容易解决的问题。做一个机械发射控制器,给五个军官每个人一把钥匙,并且只有在至少三个军官的钥匙插入适合的槽中才允许他们起爆。,我们甚至可以把问题变得更为复杂。也许将军和两个上校被授权发射导弹,但如果将军正在打高尔夫球,那么启动发射需要五名上校。制造一个发射控制器,该发射控制器需要5把钥匙。给将军3把,给每位上
4、校1把。将军和任意两名上校,或者五名上校一起都可以发射导弹,然而,将军和一名上校,或四名上校就不能。,一个称为门限方案(threshold scheme)的更复杂的秘密分享方案,可以在数学上做到这些甚至更多。起码,可以取任意消息(秘密配方,发射代码,洗衣价目表)并把它分成n部分,每个部分叫它的影子或分享,它们中的任何m部分能够用来重构消息。,我们可以将烹饪方法分给Alice,Bob,Carol,和Dave,这样把他们中的任意三个影子放在一起就能重构消息。如果Carol正在渡假,那么Alice,Bob,和Dave可以考虑做这件事情;如果Bob被汽车撞了,那么Alice,Carol,和Dave可以
5、考虑做这件事情。然而,如果Bob被汽车撞了并且Carol正在渡假,Alice和Dave 就不可能重构消息。,2 秘密分割,2.1 使用模加的二重控制,2.1 使用模加的二重控制(续),2.2使用模加的一致同意控制,2.2 使用模加的一致同意控制(续),3 门限方案,3.1 Shamir的门限方案,3.1 Shamir的门限方案(续),3.1 Shamir的门限方案(续),3.1 Shamir的门限方案(续),3.1 Shamir的门限方案(续),3.1 Shamir的门限方案(续),3.1 Shamir的门限方案(续),3.1 Shamir的门限方案(续),3.1 Shamir的门限方案(续)
6、,3.2 向量方案,3.2 向量方案(续),3.2 向量方案(续),3.2 向量方案(续),3.2 向量方案(续),3.2 向量方案(续),3.3 存在骗子的秘密分享 上校Alice,Bob,和Carol在某个隔离区很深的地下掩体中。一天,他们从总统那里得到密码消息:“发射导弹,我们要根除邪恶国家。”Alice,Bob,和Carol出示他们的分享,但Carol拿出的只是一个随机数。她实际是一个和平主义者,不想发射导弹。由于Carol的错误输入信息,他们恢复出来错误的秘密。导弹还停留在发射井里。更糟糕的是,没人知道究竟是谁在其中捣鬼。,3.3 存在骗子的秘密分享(续),3.3 存在骗子的秘密分享
7、(续),3.3 存在骗子的秘密分享(续),4 电话投币协议,4.1 应用实例 一个朋友没有意识到Alice和Bob不在一个地方,留给他们了一辆汽车。他们将怎样决定汽车的归属呢?Bob打个电话给Alice建议由他投币来决定。Alice说选择“背面”,但Bob说我投出的是“正面”。于是车归了Bob。这里Alice完全有理由怀疑Bob的诚实。下一次,她可能选择别的办法决定这一问题。,4.2 一个解决方法 这里有一个思路,就是Alice随机的选择一个比特b1发给Bob,Bob也随机的选择一个比特b2发给Alice,投币的结果就是b1 b2。问题就是随先发送,如果Alice先,Bob将可以选择b2来控制
8、投币的结果。这并不公平。,4.3 公平投币的要求(1)Bob必须在听到Alice猜测之前就已经投币。(2)Bob不能够在听到Alice猜测之后重复投币。(3)Alice不能在其猜测之前得到投币结果。,4.4 使用平方根的投币,4.4 使用平方根的投币(续),4.4 使用平方根的投币(续),4.4 使用平方根的投币(续),4.4 使用平方根的投币(续),4.4 使用平方根的投币(续),4.4 使用平方根的投币(续),5电话扑克协议,一个类似于公平投币的协议就是电话扑克协议,它允许Alice和Bob在电话两端玩扑克。不同于处理“正面”和“反面”两条消息,Bob需要处理分别代表每一张牌的52个数字c
9、1,c2,.,c52。如何保证在游戏中没有欺诈?,5.1 思想 Bob用自己的加密密钥加密牌c1,c2,.,c52发送给Alice。Alice随机选择5张牌,用自己的加密密钥加密,发还给Bob。Bob解密这些牌后发还给Alice,她再解密决定自己手中的5张牌。Alice再随机选择5张牌发给Bob。Bob解密它们得到自己的5张牌。,5.1思想(续)在游戏的过程中,剩下的牌可以按照同样的方法发出。在游戏结束后,Alice和Bob都公布自己的牌和密钥对以确定没有人在游戏中欺骗。,5.2 基于离散对数的扑克,5.2 基于离散对数的扑克(续),5.2 基于离散对数的扑克(续),5.2 基于离散对数的扑克(续),5.2 基于离散对数的扑克(续),5.2 基于离散对数的扑克(续),5.2 基于离散对数的扑克(续),5.2 基于离散对数的扑克(续),5.2 基于离散对数的扑克(续),5.2 基于离散对数的扑克(续),谢谢!,