《A Graduate Course in Applied Cryptography》Chapter 11 Public key encryption (4)T-dec and S-s

原文教材 与 参考资料:

        Boneh Dan , Shoup Victor . A Graduate Course in Applied Cryptography[J].

        该书项目地址(可以免费获取):http://toc.cryptobook.us/

        博客为对该书的学习笔记,并非原创知识,帮助理解,整理思路。


11.6  门限解密

门限解密提出的动机:

    1. 密钥服务器存储的sk, 如果遭受盗用攻击,那么将威胁所有在该服务器存储密钥的用户安全。

    2. 如果将密钥分割为若干个部分,每次解密需要多个服务器均等的参与解密,那么如果有一方不参与解密,该解密过程将会失败,这种方案易用性和时效性不强,所以并不现实。

    3. 采用门限的方式,任何的达到门限的参与者就可以完成解密。

门限解密的系统模型如下:

需要使用combiner 将部分密文组合,进而解密所有的明文信息,这最终达到了不在同一个处理器上恢复出全部的密钥信息,不过随着s的不断增大,算法效率会降低,(例如SS的次数越高计算复杂度越高)

下面给出门限解密的形式化定义:

11.6.1 Shamir's secret sharing scheme

SS 秘密分享协议是第一个(t,n)门限秘密分享协议:

首先形式化的定义一个(t,n)门限秘密分享协议如下:

                     

如果任意的两个秘密值构造的份额组分布是相同的,则证明该秘密分享协议是安全的。

 Shamir secret sharing :

 该协议的核心是使用拉格朗日差值公式:

 

 核心思想就是通过t个点来恢复出该最高指数为t-1的多项式,然后取f(0) = 秘密值,所有的点数为N个(N > t), 任意t个人可以使用他们自己的坐标完成秘密值的恢复。

11.6.2 EIGamal threshold decryption

EIGamal 门限加密方案使用系统公钥和加密方的随机数作为对称加密的私钥生成元素,然后使用对称加密来完成对明文的加密。这里需要注意的是,该方案应当不能算作是一个KEM密钥封装机制,密钥封装指的是发送方使用接受方的公钥对会话密钥(对称的)进行加密,随后双方通过会话密钥进行通信。

EIGamal 门限解密的算法流程如下:

                                         

安全性分析:

这里证明了该门限解密方案是语义安全的,安全定理与证明过程如下:

首先设计实验如下:

 我们的目的是证明该门限解密方案是语义安全的,那么直觉上我们就应该合理的联想到如何把语义安全游戏和该方案结合起来,依照我们先前的经验,应该是语义安全敌手可以调用攻击本方案的敌手A赢得SS挑战游戏,在进一步设计之前,我们首先确定攻击本文方案的敌手A的具体攻击能力:

1.按照秘密分享的安全性定义,敌手在获取到t-1个门限份额时,依然不能够获得恢复秘密值的能力。所以,我们抽象这个敌手的能力为该敌手可以直接向其挑战者获取t-1个门限份额的能力, 并且敌手能够询问获得t-1个部分密文的解密信息,即敌手获取所有的部分密文依然无法获得解密m的信息。

2.因为我们要证明该方案是语义安全的,对于语义安全而言,定义比较简单敌手B能够猜测正确他的挑战者加密的是哪一条消息,即赢得了该游戏即攻破语义安全实验。

3.进一步,对于安全证明而言,我们需要将这个两个安全需求联系起来,直觉上如果敌手B能够调用A,那么这个联系就直接的被建立了起来。

因此我们定义实验如下:

敌手A具备两个询问能力:

        

安全性定理描述如下:

 规约调用图如下所示:

                            

1. A 需要将其可以获得的系统信息包括t-1个门限的信息发送给敌手B(应当默认这些信息是公开的)。

2. B扮演A的挑战者角色,A可以向B发起两种询问,一种是部分解密询问,一种是解密猜测询问。

3. 由B将解密猜测询问发送给SS挑战者,然后由SS挑战者使用EIgamal加密公钥进行加密,并将密文返回,B再将该密文发送给敌手A。

4. B最终输出A输出的猜测比特。

此处的难点在于,如何让B返回给A相应的部分解密密文?这里分为两种情况。

第一种情况:对于t-1个解密私钥,B是掌握的,直接运行解密算法即可得到t-1个部分密文。

第二种情况:因为少一个解密私钥,但是我们依然需要给A这个缺少的部分密文,我们需要使用如下方法计算得到这个部分密文:

虽然B不知道alpha,但是B可以计算所有lamda的值,因为不知道其中的某个y, 所以B是无法获得alpha的。

进一步,B通过以下的式子可以获得唯一的不知道y的部分解密密文:

至少可以说是能够通过验证的密文c` = v^y。

综上所述,如果本方案是语义安全的,那么敌手A的优势是可以忽略的。

另外此处可以进一步构造一个CDH敌手?答案是不可以,CDH假设要求是g^a,g^b,计算g^ab。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值