Deniable Encryption(CRYPTO 97‘) [Ran Canetti, Cynthia Dwork, Moni Noar, Rafail Ostrovsky] 可否认加密

本文围绕可否认加密展开,介绍其提出动机与场景,敌手具备窃听信道和强迫通信方供述信息的能力。文章提出可否认加密协议,给出形式化定义,描述了公钥和对称体制下的协议模型,构造了相关协议,还进行了可否认定理证明,探讨了可否认性与协议效率的关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Deniable Encryption(CRYPTO 97') [Ran Canetti, Cynthia Dwork, Moni Noar, Rafail Ostrovsky] 可否认加密

 1. 提出动机与场景

本文[CRYPTO97 canetti]提出的场景来自于这样一种情况,由发送者向接受者发送信息,此处敌手具备两种能力:

第一种:敌手可以窃听信道,获得本次通信的密文。

第二种:敌手可以强迫通信参与方,供述算法中使用的随机数等信息,甚至于打开密文。

                                                                                                                               

2. 设计目标

为了实现防御上述能力的敌手加密协议,文章提出了一种可否认的加密协议,利用这个可否认的加密协议可以使得为敌手“诚实”的打开密文,敌手不能区分这是真实传输的明文还是伪造的明文。

可否认加密形式化定义如下:

                                                         

(a) 情况,密文C是对明文b的一个加密,其中随机输入可以是随机选取的值(不为人知)。

(b)情况,密文C是对另外一个明文b`的加密,其中随机输入 r 为独立均匀选取的。

此时,敌手将以一定的概率(较小)区分这个密文C是由哪两套参数生成的。

3. 可否认协议模型描述

对于公钥体制而言:

                                        

一句话概括:伪造的随机输入可以导致对明文m1的加密结果三元组与诚实发送m2加密结果的三元组 统计接近。

这个定义是比较严格的,要求这一对三元组统计接近。

进一步,定义一个弱可否认定义:

                                  

                                 

这个弱-可否认加密协议定义如上所述,叫灵活的发送者可否认加密协议。这里与上边定义2的区别为安全定义部分。所以,这个弱的定义并非是功能上弱,

可否认程度上弱,而是安全性更弱。

定义2 要求

                                                

消息空间中任意两个消息m, 其协议通信数据元祖是计算不可区分的,这个要求比较严格。

定义3 要求 

                                                 

消息空间中任意两个消息 以及 任意的一种属于T C共四种分布的二进制参数是计算不可区分的,这里的弱安全定义体现在否认的元组只需要与真实传送m2的

元组计算不可区分即可(真实传送m2的元组不需要必须使用真实加密的参数rS 与 rR)。所以,这就放宽了安全的定义要求。

其实这里有一个小问题:按理说发送者可否认协议,难道不应该,由发送者对同一个密文c解密得到明文为m2吗?这里只要求C与真实的m2密文统计接近,或者说,

com(m1) 与 com(m2) 计算不可区分,这里实质上有一个问题,发送者可否认的意思就是字面的意思,发送者只能在自己掌握的信息范围内可否认,那么发送者不应当掌握接受方的随机输入Rr信息。

所以敌手,在要求发送方“打开”时,本质不能直接将诚实的明文m1密文C解密为确定的明文m2。(公钥加密算法是公开的,如果敌手掌握双方所有的随机输入,那么则没有任何保护的意义)

并且这个弱安全的定义实质上是一个"plan-ahead deniable encryption" 即为,在定义3中,加密时已经提前考虑到此条密文应该具有的可否认性质,而不是定义2中,对任意的明文都要做到加密后,

存在伪造算法,达到可否认性质。

对于对称体制而言:

                                      

定义4 是针对共享秘钥体系提出的可否认加密体制的形式化定义描述。不同之处,伪造算法需要伪造出一个二元组(秘钥,随机输入)。

4 可否认加密协议构造

本文所有的协议构造基于一个这样的组件:Translucent set

                                      

对于,上述整个构造,文中给出了两种具体的构造,第三种构造为基于格密码的构造,这里不进行赘述:

                                

一个基本的可否认协议:

                            

                          

上述基础协议,存在一个问题,接收方会以一定的概率解密失败,无法完全实现加密比特0时做到可否认,有可能会否认失败。针对这个可能会否认失败的协议

进一步提出了一个对于加密0或者1不会出现单方否认失败的协议。

                         

这个改进版的协议,不会出现对于0或者1 不相同解密的情况,此协议中,对于0或者1的解密出现不同分布的情况,实际上这个改进的协议中,R元素依然是在t长字符串上

随机选取的,则接受方在解密是依然有可能出现解密不对的情况。当然,这种情况实际上是允许的,为什么?因为在可否认的定义中,已经在正确性上定义了,发送方的输入

与接受方的输出不同的概率为可忽略。只是这里,对于加密0或是加密1的出错情况是一样的了。

可否认定理证明与可否认优势

                       

这里的定理5 证明是一个简略的说法,仅仅考虑了诚实打开 和 否认打开 这两种分布被检测出不同的概率。并且使用了统计距离这个概念来描述两种不同分布的区别,

刻画敌手可检测不诚实打开的优势。

可否认性与协议效率的关系

可否认性 与 协议效率到底关系如何?如何计算与刻画这样一个关系?

文章中,使用了否认分布 与 诚实分布 两种概率分布的统计距离来描述可否认优势,并给出了如何估算这种情况下的统计距离方法。

                     

最终对于这样一个m-separable的协议而言,可检测否认优势为1/2m。在多项式时间上,也可写为omiga(1/m)。 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值