Chosen-ciphertext security without redundancy
- 格式:pdf
- 大小:215.33 KB
- 文档页数:18
cca安全证明方法CCA安全证明方法随着互联网的发展,网络安全问题越来越受到人们的关注。
在这个信息化时代,保护个人隐私和企业机密已经成为了一项重要的任务。
而在网络安全领域,CCA安全证明方法是一种非常有效的保护手段。
一、什么是CCA安全证明方法CCA安全证明方法是一种密码学中的概念,全称为“Chosen Ciphertext Attack Security”。
它是一种用于衡量加密算法安全性的标准,也是一种用于评估加密算法强度的方法。
简单来说,CCA安全证明方法是指在攻击者可以选择密文的情况下,加密算法仍然能够保证安全。
二、CCA安全证明方法的分类根据加密算法的不同,CCA安全证明方法可以分为对称加密算法和非对称加密算法两种。
1. 对称加密算法对称加密算法是指加密和解密使用同一个密钥的加密算法。
在对称加密算法中,CCA安全证明方法主要有两种:IND-CCA1和IND-CCA2。
IND-CCA1是指在攻击者可以选择密文的情况下,加密算法仍然能够保证安全,但是攻击者不能够获得解密后的明文。
IND-CCA2是指在攻击者可以选择密文的情况下,加密算法仍然能够保证安全,并且攻击者可以获得解密后的明文。
2. 非对称加密算法非对称加密算法是指加密和解密使用不同密钥的加密算法。
在非对称加密算法中,CCA安全证明方法主要有两种:CCA1和CCA2。
CCA1是指在攻击者可以选择密文的情况下,加密算法仍然能够保证安全,但是攻击者不能够获得解密后的明文。
CCA2是指在攻击者可以选择密文的情况下,加密算法仍然能够保证安全,并且攻击者可以获得解密后的明文。
三、CCA安全证明方法的应用CCA安全证明方法在实际应用中非常广泛。
在电子商务、在线支付、电子邮件等领域,都需要使用加密算法来保护数据的安全性。
而CCA 安全证明方法可以帮助我们评估加密算法的安全性,从而选择更加安全的加密算法来保护数据。
此外,CCA安全证明方法还可以用于评估数字签名算法的安全性。
1、证明素数为无限的用反证法证明。
假设素数只有有限的n个,从小到大依次排列为p1,p2,...,pn,则x = (p1·p2·...·pn)+1 显然是不能被p1,p2,...,pn中的任何一个素数整除的,因此x也是一个素数,这和只有n个素数矛盾,所以素数是无限多的。
2、针对RSA的攻击潜在攻击的分类:(1)因数分解攻击(Factorization Attack)RSA的安全性基于这么一种想法,那就是模要足够大以至于在适当的时间内把它分解是不可能的。
乙选择p和q,并且计算出n = p×q。
虽然n是公开的,但p和q是保密的。
如果甲能分解n并获得p和q,她就可以计算出。
然后,因为e是公开的,甲还可以计算出。
私密指数d是甲可以用来对任何加密信息进行解密的暗门。
有许多种因数分解算法,但是没有一种可以分解带有多项式时间复杂度的大整数。
为了安全,目前的RSA要求n必须大于300个十进制数位,这就是说模必须最小是1024比特。
即使运用现在最大最快的计算机,分解这么大的整数所要花费的时间也是不可想象的。
这就表明只要还没有发现更有效的因数分解算法,RSA就是安全的。
(2)选择密文攻击(chosen-Ciphertext attack)针对RSA的潜在攻击都基于RSA的乘法特性,我们假定丙创建了密文C = Pe mod n并且把C发送给乙。
我们也假定乙要对甲的任意密文解密,而不是只解密C。
甲拦截C并运用下列步骤求出P:(1) 甲选择中的一个随机整数X。
(2) 甲计算出。
(3) 为了解密甲把Y发送给乙并得到;这个步骤就是选择密文攻击的一个例子。
(4) 甲能够很容易地得到P,因为甲运用扩展的欧几里得算法求X的乘法逆,并最终求得。
(3)对加密指数的攻击为了缩短加密时间,使用小的加密指数e是非常诱人的。
普通的e值是e = 3(第二个素数)。
不过有几种针对低加密指数的潜在攻击,在这里我们只作简单的讨论。
Cryptography is the practice and study of hiding information. In modern times, cryptography is considered a branch of both mathematics and computer science, and is affiliated closely with information theory,computer security, and engineering. Cryptography is used in applications present in technologically advanced societies; examples include the security of ATM cards, computer passwords,and electronic commerce, which all depend on cryptography.密码学是信息隐藏的实践与研究。
现代密码学被认为是数学和计算机科学的一个分支,它与信息论、计算机安全和工程密切相关。
密码技术被应用于技术先进的社会中,例如A TM卡、计算机密码和电子商务的安全,这些都依赖于密码学。
(1 )TerminologyUntil modem times, cryptography referred almost exclusively to encryption, the process of converting ordinary information (plaintext) into unintelligible gibberish (i.e., ciphertext). Decryption is the reverse, moving from unintelligible ciphertext to plaintext. A cipher (or cypher) is a pair of algorithms which creates the encryption and the reversing decryption. The detailed operation of a cipher is controlled both by the algorithm and, in each instance, by a key. This is a secret parameter (ideal以known only to the communicants) for a specific message exchange context. Keys are important, as ciphers without variable keys are trivially breakable and therefore less than useful for most purposes. Historically, ciphers were often used directly for encryption or decryption, without additional procedures such as authentication or integrity checks.直到近代,加密提到几乎完全加密,普通的转换过程的信息(明文)到不知所云胡言乱语(即密文)。
密码学基本概念一.学科分类密码术(Cryptology)(1)密码学(Cryptography)研究如何构建强大、有效的加密/解密方法体系的学科(2)密码分析学(Cryptanalysis)研究加密/解密方法体系所存在的弱点,找出破译密码方法的学科二. 基本加密通信模型Alice Bob & Eve 的加密通信:Alice和Bob 要进行通信,而Eve将会截获他们的消息,所以他们使用加密的方法通信1. 基本概念明文(Plaintext)是一组Alice和Bob都能够理解其含义的消息或者数据密文(Cipher text )是一组变换后的数据或消息,它使得非法用户不能理解其中的信息密钥(Key)能控制变化结果的参数信息加密(Encryption)使用一套变换方法,使其输出的密文依赖于输入的明文和加密密钥(eKey)解密(Decryption)使用一套变换方法,使其输出的明文依赖于输入的密文和解密密钥(dKey)用符号表示加密:Cipher text = Encryption (Plaintext, eKey)解密:Plaintext = Decryption (Cipher text, dKey)2. 体系划分以加密密钥和解密密钥的关系来划分为体系:1。
如果加密密钥(eKey)和解密密钥(dKey)相同,或者实质上相同,这样的加密体系称为单钥或对称密钥体系2。
如果加密密钥(eKey)和解密密钥(dKey)不相同,或者很难从其中一个密钥推导出另一个密钥,这样的加密体系称为双钥或非对称密钥体系三. 实例1 对称密钥在经典加密方法中使用两种类型进行变换:(1)换位法(Permutation cipher / Transposition cipher):明文中的每个字母或符号没有改变,但它们在密文中的位置进行了重新排列。
经典换位加密法(2)替换法(Substitution cipher):将明文中每个字母、数字、符号按一定规则替换成另外一个符号。
通用可复合的ElGamal型广播多重签密协议李建民;俞惠芳;谢永【摘要】多重签密是指2个以上参与方对同一则消息进行签密,并且要求签密结果不能因为签密者数目增多而呈线性增长.普通的ElGamal型多重签名虽然具有不可伪造性,但不能抵制多个签名者的联合攻击.为了克服现有ElGamal型多重签名的缺点,将ElGamal型多重签名和公钥签密组合在一起研究,提出了一种新的ElGamal 型广播多重签密(ElGamal broadcasting multi-signcryption,EBMSC)协议,并给出了该协议的算法定义和安全模型,也在随机预言模型中证明了该协议在离散对数和计算性Diffie-Hellman假设下是语义安全的;然后在通用可复合框架下定义了ElGamal型广播多重签密协议的理想函数和现实协议,进而证明了现实协议能够实现广播多重签密协议的理想功能,同时还证明了现实协议是满足选择消息攻击下的不可伪造性;最后给出了ElGamal型广播多重签密协议与其他协议的效率比较.结果表明:该协议不仅在效率上要优于现有方案,而且在通用可复合框架下实现了多重签密功能.该协议适合应用在电子商务、合同签署、网上交易和财务出账等方面.【期刊名称】《计算机研究与发展》【年(卷),期】2019(056)005【总页数】11页(P1101-1111)【关键词】ElGamal多重签名;ElGamal型广播多重签密;语义安全;随机预言模型;通用可复合安全【作者】李建民;俞惠芳;谢永【作者单位】青海省气象台西宁 810001;青海师范大学计算机学院西宁 810008;西安邮电大学通信与信息工程学院西安 710121;青海大学计算技术与应用系西宁810003【正文语种】中文【中图分类】TP309多重签名[1]是指2个以上的签名者对同一则消息进行签名,同时要求签名的长度不会因为签名者数目增多而呈线性增长,该类方案在电子商务领域被广泛应用.目前多重签名主要使用RSA(rivest shamir adleman)[2]、ElGamal[3-4]、双线性对[5]、离散对数[6-7]等思想来设计.1994年Harn[8]提出了Meta-ElGamal多重签名.1996年Wu等人[9]依据签名的签署顺序不同,将多重签名区分为顺序多重签名和广播多重签名.顺序多重签名意味着签名者必须按照特有的顺序依次对消息进行签名;广播多重签名是指签名者不必拘泥于固有的顺序,按广播的方式对消息进行签名,由收集者合并且输出签名.广播多重签名相比顺序多重签名应用更为广泛,ElGamal 型多重签名的安全性基于DL(discrete logarithm)问题的难解性,满足不可伪造性,缺点是不具备签名者的身份验证,不能抵制多个签名者的联合攻击. 1997年Zheng[10]提出了签密方案.签密方案相对于传统的签名方案而言,能够同时完成签名和加密2项功能.签名方案只是确保设计方案的不可伪造性,在安全性分析时,只要方案满足选择消息攻击的不可伪造性,那么就说设计的方案是语义安全的.签密方案能够在一个合理的逻辑步骤内同时完成签名和加密,在安全性分析时,不仅要分析方案的保密性,还要分析方案的不可伪造性.2002年Baek等人[11]对Zheng的签密方案进行了改进,同时给出了随机预言模型下的安全性证明.2011年Fan等人[12]改进了2002版本的签密方案,在Hash函数的输入中添加了接收方和发送方的公钥.近年来,越来越多的学者将签密和具有特殊性质的签名结合起来进行研究,使用不同的认证方法来认证用户公钥[13-19].2016年周才学[20]指出很多签密方案还存在安全问题,同时他认为在解签密算法的验证等式中不应出现明文信息,加密部分应该包含发送者的公钥或身份信息,签名部分应包含接收者的公钥或身份信息,在无证书密码体制的签名部分中不要让部分私钥和秘密值之间只是存在简单的线性关系.UC(universally composalble)安全框架[21]满足协议的模块化设计要求,可以单独用来设计协议.只要协议满足UC安全性,则可以保证和其他协议并发组合运行的安全性.设计一个UC安全协议,首先要将协议所希望完成的功能抽象为一个理想函数,该理想函数相当于现实世界中一个不可攻破的可信第三方.2003年Canetti等人[22]纠正了自己在2001年提出的签名理想函数的定义,通过添加SID(session identifier)来编码签名者的身份,允许被收买的签名者对合法的签名进行验证,对公钥、签名、验证消息进行储存;2007年Kristian等人[23]利用用户友好交互提出了一个安全消息传递理想函数,给出了签密的理想函数;2012年Canetti等人[24]提出了不经意传输(oblivious transfer, OT)协议的理想函数,同时给出了使用OT协议的双向认证协议的通用方法.国内对UC安全的研究也取得了一些成果,冯涛等人[25]利用可否认加密体制和可验证平滑投影Hash函数提出了一个UC安全的高效不经意传输协议;苏婷等人[26]基于密钥注册模型形式化定义了签密协议的安全模型(即签密协议的理想函数),设计了一般化的签密协议,给出了UC框架下的证明;张忠等人[27]形式化定义了信息处理集合和无线射频识别(radio frequency identification, RFID)组证明的理想函数,然后设计了一个组证明RFID协议,证明了该协议安全地实现了理想功能;田有亮等人[28]利用身份签密机制提出了一个UC安全的群通信协议,解决了多播群组通信的组合安全问题,之后,他们又设计了一个通用可组合的安全多方计算协议[29],即在UC框架下能实现公平的安全两方计算协议,使人们认为的两方公平安全计算不能实现的问题得到解决.本文结合自认证公钥和Meta-ElGamal多重签名协议的思想,在UC框架下设计了一个ElGamal型广播多重签密(ElGamal broadcasting multi-sign-cryption, EBMSC)协议,进而在UC安全框架下分析了该协议的安全性.也给出了ElGamal型广播多重签密协议的UC安全性证明.1 预备知识1.1 困难假设定义1. DL假设.设G是阶为素数p的循环群, g是G的一个生成元.已知(p,G,w),找到一个a∈Z使得w∈ga是困难的.定义2. CDH假设.设G是素数阶p的循环群,g是G的一个生成元.已知(ga,gb∈G*,其中a,b∈Z找到ga b∈G是困难的.1.2 UC安全框架UC安全框架是由现实模型、理想模型和混合模型组成.在UC框架中,用交互式图灵机(inter-active turing machine, ITM)来描述协议的参与方、敌手和环境机等实体.每个ITM的运行都被限定在概率多项式时间内.在现实模型中,包括了参与方P、敌手A、协议π和环境机Z等实体,参与方P不仅诚实地执行协议π,而且相互之间还可以直接通信.在理想模型中,包括了参与方P、模拟者S、理想函数F和环境机Z等实体.和现实模型不一样的是,参与方P相互之间不能直接通信,而是通过理想函数F来转发信息,现实模型和理想模型的外部环境Z相同.由于模块化的设计思想,只要证明某个协议能满足UC安全性,则和其他协议并发运行也能保证其安全性.定义3. 不可区分性[21].X和Y是2个不可区分的二元分布集合(记作X≈Y),如果任何c∈N都有k0∈N,使得所有k>k0和所有的a,都有:|Pr(X(k,a)=1)-Pr(Y(k,a)=1)|<k-c.定义4. UC仿真[21].设n∈N,令F是理想函数,π具有n个参与方的协议,τ是现实中某类敌手.若对任何现实攻击者A∈τ都存在一个理想过程中的敌手S,使得任何环境机Z都不能区分它是与(π,A)交互还是与(F,S)交互,则称π安全实现了F,记作: IDEAL F,S,Z≈REALπ,A,Z.定义5. 组合定理[21].令F和G是理想函数,π是F-混合模型下的一个协议,ρ协议在G-混合模型下可以安全地实现F.则对于任何敌手AG,都存在一个AF,使得对于任何环境机Z,都有:1.3 基于离散对数的多重签名回顾Harn[8]利用离散对数提出了一种有效的多重签名方案.假设n个签名者对同一消息m进行签名.1) 每一个签名者ui从[1,p-1]中随机选取ki,计算然后将ri广播给所有的签名者.一旦来自所有签名者的ri(i=1,2,…,n),汇聚在广播通道中,每一签名者计算r的值:2) 签名者ui用秘钥zi和ki对消息m运行签名算法.即si=(zi(m′+r)-ki) mod p,其中0≤si≤p-2和m′=f(m).签名者把元组(m,si)发送给消息收集者.3) 收集者收到来自各个ui的签名(m,si),验证这里m′=f(m),yi是ui的公钥.4) 消息收集者将对通过验证的消息进行合并:s=(s1+s2+…+sn) mod p,得到完整的签名(r,s).5) 验证者计算公钥:6) 验证ym′+r=r αsmod p,这里m′=f(m).2 EBMSC协议的形式化定义2.1 EBMSC算法定义一个EBMSC协议由4个算法组成:参与方包括消息发起者或签密收集者UC、签密者U1,U2,…,Un、接收者UV.系统设置算法:输入安全参数1k,生成系统主密钥s和系统参数params.密钥提取算法:身份IDu的用户随机选择秘密钥生成其公钥yu,而密钥生成中心(key generator central, KGC)随机选择秘密钥ηu,然后根据用户身份IDu和公钥yu生成其部分私钥Tu,之后安全的形式发给用户.用户收到部分私钥Tu后,计算完整私钥xu.多重签密算法:输入系统的参数params、明文m、签密者Ui的私钥xi及接收者UV的公钥yV,输出多重签密密文σ.解签密算法:输入密文σ、参数params、签密者Ui的公钥yi及接收者UV的私钥xV,输出明文m或者解签密符号⊥.2.2 安全模型一个EBMSC协议有2类敌手,即A1和A2.敌手A1无法得到系统的主密钥,但是可以替换用户的公钥(敌手A1相当于模拟了不诚实的用户);敌手A2可以得到系统的主密钥,但不能替换用户的公钥(敌手A2相当于模拟了恶意的KGC).定义6. 如果存在任何多项式有界的敌手A1和A2赢得游戏IND-CCA2-I和IND-CCA2-II的优势是可忽略的,则称EBMSC 协议是具有适应性选择密文攻击下的不可区分性(indistinguishability against adaptive chosen ciphertext attacks, IND-CCA2).IND-CCA2-I:这是挑战者C和敌手A1之间的交互游戏.初始化.C运行系统设置算法得到系统参数params和系统主密钥s,之后将系统参数params发给A1,但保留主密钥s.阶段1. A1进行多项式有限次询问.公钥询问:当收到A1的公钥询问时,C运行密钥提取算法中的用户公钥生成算法得到yi,返回给A1.部分私钥提取询问:A1可以请求身份IDu的部分私钥询问,C运行密钥提取算法中的部分密钥生成算法得到Tu,之后把Tu返回给A1.私钥提取询问:A1可以请求身份IDu的私钥询问,C运行密钥提取算法中的私钥生成算法得到xu,之后把xu返回给A1.签密询问:A1收到(IDi,IDV,m)的签密询问时,C通过调用签密算法得到多重签密密文σ,之后将σ发给A1.解签密询问:A1收到(IDi,IDV,σ)时,C通过调用解签密算法得到的消息mi之后返给A1.挑战阶段.A1生成2个等长的消息(mo,m1)及2个身份但要求接收者的部分私钥不能被询问.C随机选择δ∈{0,1},然后执行对δ的多重签密,之后将δ*发给A1.阶段2. A1可以像阶段1那样进行多项式有界次询问,但仍然要求的私钥不能被询问,此外不能做σ*的解签密询问.最后,输出δ′={0,1}作为对δ的猜测.如果δ′=δ,则A1赢得游戏.IND-CCA2-II: 前面各阶段和敌手A1一样,只是敌手A2最后赢得游戏的条件是的私钥不能被询问,而且不能做σ*的解签密询问,除非接收者的公钥被替换.定义7. 如果存在任何多项式有界的敌手A1和A2赢得游戏UF-CMA-I和UF-CMA-II的优势是可忽略的,则称EBMSC协议是具有适应性选择消息攻击下的不可伪造性(unforgeability against adaptive chosen message attacks, UF-CMA). UF-CMA-I:C和伪造者A1之间的交互游戏.初始化. C运行系统设置算法得到系统参数params和系统主密钥s,之后将系统参数params发给A1,但保留主密钥s.训练. A1进行的多项式有界次询问和定义6中IND-CCA2-I的阶段1一样.伪造. 当询问结束后,A1输出伪造的多重签密密文询问期间,不能做的部分私钥询问.如果密文通过解签密验证,则定义A1在游戏中获胜.UF-CMA-II:C和伪造者A2之间的交互游戏.初始化. C运行系统设置算法得到系统参数params和系统主密钥s,之后将系统参数params发给A2,但保留主密钥s.训练. A2进行的多项式有界次询问和定义6中IND-CCA2-II游戏的阶段1一样. 伪造. 询问结束后,A2输出伪造多重签密密文询问期间,不能做的秘密钥询问.如果σ*通过解签密验证,则定义A2在游戏中获胜.3 一个具体的EBMSC协议3.1 初始化(Setup)密钥生成中心(KGC)随机选择大素数p,g是Z上阶为p的生成元.定义4个安全Hash函数H1:{0,1}*×ZZZZZZZ随机选择系统主密钥s∈Z计算系统公钥PPub=gsmod p.最后KGC保密系统主密钥s,公开系统参数(p,g,l,PPub,H1,H2,H3,H4).3.2 密钥生成(Extract)1) 用户Ui随机选择ki∈Z并进一步计算公钥之后返回给KGC.2) KGC选择ηi∈RZ计算mod p, Ti=(ηi+sH1(IDi,λi,yi)) mod (p-1),将(λi,Ti)返回给用户Ui.3) 用户Ui验证 mod p, 如果等式成立,则Ui计算xi=kiTimod (p-1),并把xi作为其私钥.通过以上步骤,签密者Ui将得到公私钥(xi,yi),接收者UV将获得公私钥(xV,yV).3.3 广播多重签密(MultiSC)签密者Ui选择ri∈RZ计算然后广播给其他的签密者,通过下面步骤得到密文,并发送给签密收集者UC.2) h=H2(m,α).4) C i=m⊕H3(Wi).5) μi=H4(m,Ti,TV,Wi).6) βi=(ki(μi+Ti+h α)-ri) mod (p-1).7) 输出(αi,α,βi,h,Ti,TV,Ci),通过验证是否成立,若等式成立,则计算:8) 签密收集者UC将进一步输出签密密文σ=(α,βi,h,Ti,TV,{C1,C2,…,Cn}) 给接收者UV.3.4 解签密(USC)接收者UV收到签密密文σ后,执行步骤.2) m=Ci⊕H3(Wi).3) μi=H4(m,Ti,TV,Wi).4) 验证:其中,若等式成立,则接受明文m;否则,输出⊥符号表示广播多重签密无效.3.5 正确性分析可通过验证等式确保所提协议的正确性:3.6 ROM下的安全性分析3.6.1 保密性在随机预言模型(ROM)下的安全性分析,我们参考文献[18]的思路.定理1. 在ROM中,如果没有任何多项式有界的敌手A1能以不可忽略的优势ε赢得定义6中的游戏IND-CCA2-I(至多进行qi次Hi询问(i=1,2,3,4),qPK次公钥替换询问,qPSK次部分私钥提取询问,qSK次私钥提取询问,qSC次签密询问,qUSC次解签密询问),则存在一个挑战者C能至少以ε′的优势解决CDH问题,这里:证明. 给定一个随机的CDH问题实例(p,g,ga,gb),其中a,b∈Z目标为了计算ga b mod p.为了达到这个目标,A1作为C的子程序在交互游戏中充当敌手.游戏开始之时,C运行Setup(1k),得到参数:params={p,g,l,PPub=ga,H1,H2,H3,H4},同时将params发给A1.在交互游戏中,表L1到L4用于记录H1至H4的询问与应答值,Lk用于记录公私钥的询问与应答值.阶段1.A1进行多项式有界次适应性询问.H1询问:C从个身份q1中选择第i个身份作为挑战的目标身份,A1发出H1询问.如果A1向C询问的Hash函数值已经在L1中存在,则返回相应的值给A1;否则,C 选取ψ∈R{0,1}.如果ψ=1,则将(IDi,yi,-,ψ)记录到L1中;否则选择h1∈RZ返回将(IDi,yi,λi,h1,ψ)记录到L1表中.这里设ψ=0的概率是ρ,即ρ=Pr[ψ=0].H2询问:A1发出H2询问时.C检查元组(m,α,h2)是否存在于L2,如果存在,则返回h2;否则,C随机选取h2∈Z然后将h2发给A1,并将(m,α,h2)记录到L2中.H3询问:A1发出H3询问.C检查元组(Wi,h3)是否存在于L3表中,如果存在,则返回h3;否则,C随机选取h3∈R{0,1}l,然后将h3发给A1,记录(Wi,h3)到L3中.H4询问:A1发出H4询问时,检查元组(m,Ti,TV,Wi,μ)是否存在于L4中,如果存在,则返回μ;否则,C选取h4∈RZ然后将h4发给A1,记录(m,Ti,TV,Wi,μ)到L4中.公钥询问:收到A1公钥询问时,C随机选择ki,并计算公钥之后将其添加到Lk表中. 部分私钥询问:A1询问身份IDi的部分私钥.若ψ=0,则C选择Ti∈Z将(IDi,Ti,ψ)记录到L1中,并返回Ti;否则,放弃仿真.私钥询问:A1询问身份IDi的私钥.假设已经询问过H1预言机.若ψ=0,则返回完整私钥xi=kiTimod p;否则,放弃仿真,之后将私钥添加到Lk中.公钥替换询问:A1对身份IDi进行公钥替换询问时.C用来替换Lk中的原有记录. 多重签密询问:A1可对任何消息m及签密人的身份IDi、接收者的身份IDV进行签密询问.假设在此之前已经做过Hash函数值询问和密钥提取询问.如果ψ=0,则正常执行多重签密算法;否则执行操作:1) 挑战者C选择ri∈RZ计算:继续执行操作:2) 计算3) 计算Ci=m⊕H3(Wi).4) 计算μi=H4(m,TV,Ti,Wi).5) 计算βi=(ki(μi+Ti+h α)-ri) mod (p-1).验证:是否成立.如果成立,则计算:6) 计算7) 输出σ=(α,β,h,Ti,TV,{C1,C2,…,Cn}).解签密询问:A1通过提供的多重签密密文,当A1询问σ是否合法时,挑战者C先从表中查找出记录yi,再查找表L1.如果ψ=0,则正常执行解签密算法;否则,挑战者C 计算⊕H3(Wi),μi=H4(m,TV,Ti,Wi),然后将(Wi,m)提交给预言机.如果:则通过解签密;否则认为不合法.挑战阶段.通过上面的询问过后,如果ψ=0.则放弃仿真;否则挑战者C随机选择δ={0,1},计算⊕然后提交多重签密密文阶段2. A1可以像阶段1那样进行多项式有界次适应性询问.但是要求身份IDV的私钥仍然不能被询问,此外不能做σ*的解签密询问.猜测.最后,输出δ′={0,1},用δ′作为对δ的猜测.如果δ′=δ,那么C计算输出作为CDH问题实例的解答,原因如下:概率分析[14]在阶段1或阶段2挑战者C不放弃仿真的概率是即在密钥提取阶段,至少有一个身份IDV的私钥xV没被A1询问,C不放弃游戏的概率为1e(qSK+qPSK),同时,A1对做H3询问的概率为1q3,那么C将成功.所以C解决CDH问题的概率是证毕.定理2. 在ROM中,如果没有任何多项式有界的敌手A2能以不可忽略的优势ε赢得定义6中的游戏IND-CCA2-Ⅱ(至多进行qi次Hi询问(i=1,2,3,4),qPK次公钥替换询问,qSK次私钥提取询问,qSC次签密询问,qUSC次解签密询问),则存在一个挑战者C能够至少以ε′的优势解决CDH问题,这里:证明. 给定一个随机的CDH问题实例(p,g,ga,gb),其中a,b∈Z目标为了计算ga b mod p.为了达到这个目的,A2作为C的子程序,在交互游戏IND-CCA2-II中充当敌手.游戏开始后,C运行Setup(1k),得到参数:params={p,g,l,PPub=gs,H1,H2,H3,H4},同时将params发给A2.在游戏中,表L1到L4用于记录H1至H4的询问与应答值,Lk用于记录公私钥的询问与应答值.阶段1.除了部分私钥询问,其他询问同定理1.挑战阶段. 通过上面的询问过后,若ψ=0.则放弃游戏;否则挑战者C随机选择δ∈{0,1},计算,yi=ga,⊕返回密文阶段2. A2可以像阶段1那样进行多项式有界次适应性询问.但是要求身份为IDV 的私钥仍然不能被询问,并且不能做关于σ*的解签密询问.猜测. 最后,输出δ′∈{0,1},用δ′作为对δ的猜测.如果δ′=δ,那么挑战者C计算即C 输出作为CDH问题实例的应答,因为:⟺⟺概率分析在阶段1或阶段2挑战者C不放弃仿真的概率是因为不进行部分私钥询问,即C不放弃游戏的概率为1e(qPK+qSK),同时,A1对做H3询问的概率为1q3,那么C将成功.所以C解决CDH问题的概率是证毕.3.6.2 不可伪造性定理3. 如果任何多项式有界的敌手A1和A2赢得定义7中的游戏UF-CMA-I和UF-CMA-II的优势是可忽略的,则EBMSC协议具有适应性选择消息攻击下的不可伪造性(至多进行qi次Hi询问(i=1,2,3,4),qPK次公钥替换询问,qPSK次部分私钥提取询问,qSK次私钥提取询问,qSC次签密询问,qUSC次解签密询问),在UF-CMA-I中,则存在一个挑战者C至少能够以的优势解决离散对数问题;在UF-CMA-II中,则存在一个挑战者C至少能够以的优势解决离散对数问题.证明. 给定一个随机的离散对数问题实例(p,g,ga),目标为了计算a∈Z为了达到这个目的,A1作为挑战者C的子程序,在交互游戏UF-CMA-I中充当敌手,C充当敌手A1的挑战者.在交互游戏开始之时,游戏开始后,C运行Setup(1k),得到参数:params={p,g,l,PPub,H1,H2,H3,H4},并将params发给A1.在游戏中,表L1到L4记录H1至H4的预言机,Lk用于追踪公私钥的询问与应答值.询问阶段.和定理1相同.伪造. 对于不同的敌手伪造的过程不一样.1) A1输出一个伪造的广播多重签密密文σ*.如果A1没做过身份的私钥或部分私钥询问,σ*通过解签密验证,则A1赢得定义7中UF-CMA-I.设A1输出有效的伪造广播多重签密密文计算:①② PPub=ga.调用预言机H1可以得到h1,输出:作为离散对数问题实例的解答,原因如下:⟺⟺分析C成功解决离散对数问题的概率,A1没做过IDi的私钥或部分私钥询问的概率为通过解签密验证的概率为1qUSC,所以C解决离散对数问题的概率为ε′,这里:2) A2输出有效的伪造广播多重签密密文σ*.如果A2没有做过的私钥询问,同时σ*通过解签密验证,则A2赢得定义7中UF-CMA-II.设A2输出有效的伪造广播多重签密密文这里:①②③ yi=gamod p.分别调用预言机H2和H4得到h和h4.C输出:作为离散对数问题实例的应答,因为:⟺⟺分析C成功解决离散对数问题的概率,A2没有作过私钥询问的概率为1e qSK,σ*通过解签密验证的概率为1qUSC,所以C解决离散对数问题的概率为ε′,这里:证毕.4 EBMSC协议的UC安全性分析4.1 理想函数FEBMSC理想模型中,EBMSC协议的理想函数FEBMSC、参与方P1,P2,…,Pn及敌手S一起运行,执行过程如下:① 在收到(KGC,Setup,sid)请求后验证,若验证sid=(KGC,sid′)成功,则将此消息发送给敌手S.② 在收到敌手S回复的(Setup,Verify,sid,params)后,记录下Verify.③ 在收到Pi的(Key,sid,Pi)请求后,验证sid=(Pi,sid′),若验证成功,则将此消息发送给敌手S,然后收到敌手S回复的(Pi,sid,yi).④ 在收到PV的(Key,sid,PV)请求后,验证sid=(PV,sid′),若验证成功,则将此消息发送给敌手S.在收到敌手S回复的yV后,将yV发送给Pi.一旦收到来自Pi的消息(Key,sid,PV),则将此消息发送给敌手S,从敌手S处收到yi时,将yi发送给PV.之后,忽略所有的(Key,sid,PiPV).⑤ 在收到Pi多重签密者的请求后,验证sid=(Pi,sid′),若验证不成功,则将忽略发送过来的消息;否则,执行如下:如果同时参与方PV是诚实的,则发送(MultiSC,sid,|m|)给敌手S,这里|m|是消息长度;否则,发送(MultiSC,sid,m)给敌手.当从敌手S处收到σ时,将(MultiSC,sid,m,σ)给PV,并存储(m,σ).⑥ 在收到接受者PV的(USC,sid,σ,yi)请求后,验证sid=(PV,sid′),若验证不成功,则将忽略发送过来的消息;否则,执行如下:如果(m,σ)已经记录过,则验证Verify((params,sid,m,σ),f=1),并把(m,f)发给S.否则,将(USC,sid,σ,yi)发给敌手S,并从敌手S处得到m,并以(m,f=0)的形式发送给PV.4.2 协议πEBMSC下面是设计的ElGamal型广播多重签密协议πEBMSC=(Setup,Extract,MultiSC,USC),在UC框架下该协议运行如下:① 一旦收到(KGC,Setup,sid)消息请求,则验证sid=(KGC,sid′),运行Setup(1k)得到(s,params),返回参数params.② 收到(U,Key,sid),运行Extract(params,s,ID),得到(xID,yID),然后将(xID,yID)返回.③ 收到(MultiSC,m,yV,sid)消息请求后,运行MultiSC(params,m,xi,yV)→σ,并将σ返回.④ 收到(USC,sid,σ),运行USC(params,m,yi,xV),得到消息m,若收到(Verify,sid,m,σ)请求,则运行Verify(params,sid,m,σ)→f,并返回f的值.4.3 UC框架下协议的安全性证明定理4. 协议πEBMSC实现了广播多重签密理想函数FEBMSC.证明. 假设A为现实模型中的敌手.现在构造一个理想敌手S,使得对于任何环境机Z 都不能区分是与FEBMSC和S在理想模型下的交互,还是与πEBMSC和A在现实过程中的交互.理想敌手S、环境机Z、敌手A以及参与方P1,P2,…,Pn一起运行. 构造敌手S:在理想过程中,敌手S可以调用A的副本来与FEBMSC和S交互,模拟A在现实过程与协议πEBMSC的交互.首先,敌手S把输出带上的内容写到A的输入带上,并把A输出带的内容拷贝到Z的输出带上.模拟签密者Pi和接收者PV都不被入侵.当S收到FEBMSC的消息(Setup,sid),运行Setup算法生成公钥yV,并把消息(Verify,v)输出给FEBMSC.当S收到来自FEBMSC的一个消息(MultiSC,sid,m),运行多重签密算法MultiSC,得到签密σ并把(MultiSC,sid,m)输出给FEBMSC.当S收到来自FEBMSC的一个消息(Verify,sid,m,σ,v′)后,运行验证签名算法Verify,得到验证结果f,把(Verify,sid,m,f)输出给FEBMSC.现实环境下签密者对消息进行签密,并将签密结果发送给接收者.接收者验证签密的有效性.理想环境中仿真器S对真实过程进行仿真,仿真签密过程和验证过程,同样发送签密和验证结果,因而,环境机Z不能区分出是FEBMSC与S在理想模型中的交互,还是πEBMSC与A在现实过程中的交互.模拟签密者Pi被入侵.敌手S模拟A伪装成参与方Pi把(Setup,sid)发送给FEBMSC.同样,当S收到来自FEBMSC的消息(Extract,sid)后.运行密钥生成算法Setup,得到签密者公钥yi并将其返回给FEBMSC.当S收到来自FEBMSC的消息(MultiSC,sid),运行多重签密算法,得到密文并将其返回给FEBMSC.S模拟A入侵参与方Pi,并将(MultiSC,sid,m′)发送给FEBMSC.同样,当S接收到(MultiSC,sid,m′)时,可以得到多重签密σ′,即把(MultiSC,sid,m′,σ′)发送给FEBMSC.由此看来,环境Z 并不能区分现实过程和理想模型.模拟接收者PV被入侵.若参与方PV被收买,敌手S可以模拟参与方的身份把(Verify,sid,m′,σ′,v′)发送给FEBMSC,随后,当S接收到(Verify,sid,m′,σ′,v′)时,计算验证结果f,把(Verify,sid,m′,σ′,v′,f) 发送给FEBMSC.此时,环境机Z不能区分(m,σ)与(m′,σ′).模拟签密者Pi和接收者PV都被入侵.当多重签密者Pi和解签密者PV都被攻陷时,S将获得双方的所有输入信息,即Z可产生真实的数据来仿真协议的运行.综合上述4种情形,环境机Z不能区分出是FEBMSC与S在理想模型中的交互,还是πEBMSC与A在现实过程中的交互.即协议πEBMSC能够实现广播多重签密理想函数FEBMSC.证毕.定理5. 在UC安全框架下,协议πEBMSC满足选择消息攻击下的不可伪造性.证明. 假设存在伪造者F,则构造环境机Z和敌手A,使得对于任何敌手A,Z都以不可忽略的概率区分它是与(πEBMSC,A)交互还是与(FEBMSC,S)交互.构造环境机Z.当收到来自A的多重签密请求时,则Z激活Pi,然后输出多重签密密文σ,并返回给A.当收到来自A的解签密请求时,Z激活Pi,并输出(m,f)给A.构造敌手A.当A要求对消息m进行多重签密时,敌手A首先要求环境机Z对m进行多重签密,然后把多重签密密文σ给F;当F需要对σ′解签密时,敌手A首先要求环境机Z对σ′进行解签密,然后把(m′,f)返回给A,再发给伪造者F.一旦F收到了m′,并且f=1,则F伪造的多重签密是有效的,此时,Z输出f=1.显然,如果F以可忽略的概率赢得了定理3中的UF-CMA-I和UF-CMA-II游戏,则F能够成功地伪造出有效的F, 假设伪造者F以可忽略的概率存在,则Z以可忽略的概率输出f=1.而在理想模型。
cca原理CCA原理:理解加密算法的安全性什么是CCA原理?CCA(Chosen Ciphertext Attack)原理是在密码学中用于评估加密算法安全性的重要概念。
它主要关注攻击者能否通过选择待解密的密文文本,获得关于密钥的有用信息。
了解CCA原理对于设计和评估加密算法都至关重要。
密文攻击者的能力根据CCA原理,攻击者可以选择并提交希望解密的密文。
在进行执行破解尝试之前,攻击者可以使用这些密文和相关的明文进行分析。
换句话说,攻击者拥有对密文的解密能力,并通过观察解密的结果来收集有关密钥的信息。
CCA原理与安全性评估若使用的加密算法在面对CCA攻击时依然能保持信息的安全性,则可以认为该算法是安全的。
换句话说,一个能够抵御CCA攻击的加密算法提供了高度的保密性和完整性。
常见的加密算法,如RSA和AES,都被证明具有抵御CCA攻击的能力,因此在实际应用中广泛使用。
CCA攻击的目的与危害攻击者通过CCA攻击,旨在获得密钥或者解读密文中包含的敏感信息。
一旦攻击成功,攻击者可以轻松获得加密数据的原始内容,从而对目标进行不当操作,如数据篡改、信息泄露等。
因此,设计安全的加密算法需要充分考虑和解决CCA攻击所可能带来的威胁。
CCA原理的应用CCA原理可以帮助我们评估加密算法的安全性,并在设计新的加密算法时提供指导。
通过对CCA攻击的模拟和检测,可以测试算法的强度和可靠性。
只有通过充分的测试和评估,才能确保加密算法在现实场景中不易受到攻击和破解。
当然,为了更好地应对CCA攻击,还需要与其他安全措施结合使用,如密钥管理、身份验证和访问控制等。
结论CCA原理是密码学中评估加密算法安全性的重要理论基础。
了解CCA原理可以帮助我们设计和评估安全的加密算法,以保护数据的安全和完整性。
通过对CCA攻击的模拟和检测,可以有效提高算法的安全性,从而保护用户的隐私和敏感信息。
希望这篇文章对于理解CCA原理有所帮助,并能够为密码学和安全技术的研究提供一些启示和指导。
可证明安全的抗量子高效口令认证密钥交换协议尹安琪;汪定;郭渊博;陈琳;唐迪【期刊名称】《计算机学报》【年(卷),期】2022(45)11【摘要】基于格的口令认证密钥交换(Password-Authenticated Key Exchange,PAKE)协议在后量子时代具有广泛的应用前景.降低通信轮次可以有效提高执行效率,也是格上PAKE协议的重要优化方向.现有基于格的低轮次PAKE协议的构建方法主要有两种:一种是基于非交互式零知识(Non-Interactive Zero-Knowledge,NIZK)证明,但在标准模型下如何在格上实现NIZK证明仍然是公开问题;另一种虽然宣称基于不可区分适应性选择密文攻击(Indistinguishability under Adaptive Chosen-Ciphertext Attack,IND-CCA2)的安全模型,但实际上只采用了不可区分性选择密文攻击(Indistinguishability under Chosen-Ciphertext Attack,IND-CCA1)安全的公钥加密(Public Key Encryption,PKE)方案,该类PAKE 协议在现实应用时需要利用签名/验签等技术才能保证安全性.这两种方法都会增加计算和通信开销.为此,本文利用带误差学习(Learning with Errors,LWE)问题的加法同态属性,提出了一种格上IND-CCA2安全的非适应性平滑投影哈希函数(Smooth Projective Hash Function,SPHF),该函数支持一轮PAKE协议的构造;并确定了所基于的PKE方案中相关参数的大小,从而消除了LWE问题的不完全加法同态属性对SPHF正确性的影响.尽所知,这是格上第一个直接基于IND-CCA2安全模型的非适应性SPHF,且该SPHF具有相对独立的研究价值,可应用于证据加密、零知识证明和不经意传输等领域.基于此,本文构建了一种格上可证明安全的高效PAKE协议.该协议可以抵御量子攻击;只需要一轮通信,因而具有最优的通信轮次;是基于标准模型,所以避免了使用随机预言机的潜在安全威胁,特别是使用随机预言机可能导致格上PAKE协议遭受离线口令猜测攻击和量子攻击;在实际应用时,该协议也不需要利用NIZK证明和签名/验签等技术来保证安全性,这有效提高了执行效率.本文还利用人人网474万口令数据验证了基于CDF-Zipf定律的PAKE协议安全模型可以更加准确地评估PAKE协议所提供的安全强度;最后基于该安全性模型,本文在标准模型下对所提出的PAKE协议进行了严格的安全性证明.实验结果表明,与其它相关协议相比,本文协议具有最优的整体执行效率和最低的通信开销.【总页数】16页(P2321-2336)【作者】尹安琪;汪定;郭渊博;陈琳;唐迪【作者单位】信息工程大学电子技术学院;南开大学网络空间安全学院;天津市网络与数据安全技术重点实验室(南开大学)【正文语种】中文【中图分类】TP393【相关文献】1.一种高效的匿名口令认证密钥交换协议2.基于RLWE问题的后量子口令认证密钥交换协议3.后量子基于验证元的三方口令认证密钥交换协议4.可证明安全的抗量子两服务器口令认证密钥交换协议5.格上基于密文标准语言的可证明安全两轮口令认证密钥交换协议因版权原因,仅展示原文概要,查看原文内容请购买。
BDK Base Derivation Key 基础导出密钥CS Configure Security 安全配置CSC Card Security Codes 卡安全码CSCK Card Security Codes Key 卡安全码密钥CVK Card Validation Key 卡校验密钥CVV Card Validatoin Value 卡校验值HSM H ost Security Module 主机加密模块KCV Key Check Value 密钥校验值IV Initialisation Vector 初始化向量LMK Local Master Key 本地主密钥MAC M essenge Authentication Code 信息认证码KSN Key serial number 密钥序列号PIN Personal Identification Number 个人身份号码PK Public Key 公钥PVK PIN Verification Key P IN校验密钥PVKI PIN Verification Key Indicator PIN校验密钥索引PVV PIN Verification Value PIN校验值TAK Terminal Authentication Key 终端认证密钥TMK Terminal Master Key 终端主密钥TPK Terminal PIN Key 终端PIN密钥WWK Watchword Key 口令密钥ZAK Zone Authentication Key 区域认证密钥ZEK Zone Encryption Key 区域加密密钥ZMK Zone Master Key 区域主密钥ZPK Zone PIN Key 区域PIN密钥AES 旨在替代DES 的高级加密标准(Advanced Encryption Standard)。
由NIST 组织的竞赛获胜者是Rijndael。
一、脆弱性的主要原因网络的开放性:业务基于公开的协议;所有信息和资源通过网络共享;基于主机上的社团彼此信任的基础是建立在网络连接上的。
组成网络的通信系统和信息系统的自身缺陷,黑客(hacker)及病毒等恶意程序的攻击从协议层次看,常见主要威胁:物理层:窃取、插入、删除等,但需要一定的设备。
数据链路层:很容易实现数据监听。
网络层:IP欺骗等针对网络层协议的漏洞的攻击。
传输层:TCP连接欺骗等针对传输层协议的漏洞的攻击。
应用层:存在认证、访问控制、完整性、保密性等所有安全问题。
被动攻击:搭线监听;无线截获;其他截获主动攻击:假冒;重放;篡改消息;拒绝服务物理临近攻击内部人员攻击软硬件配装攻击网络信息系统安全的内容包括了系统安全和信息(数据)安全。
系统安全主要指网络设备的硬件、操作系统和应用软件的安全。
信息(数据)安全主要指各种信息的存储、传输的安全。
安全通常依赖于两种技术:一是存取控制和授权,如访问控制表技术、口令验证技术等。
二是利用密码技术实现对信息的加密、身份鉴别等。
国际标准化组织(ISO)将―计算机安全‖定义为:―为数据处理系统建立和采取的技术及管理的安全保护,保护计算机硬件、软件数据不因偶然和恶意的原因而遭到破坏、更改和泄露。
‖此概念偏重于静态信息保护。
另一种考虑网络的定义为:―保护网络系统中的各种资源(计算机、网络设备、存储介质、软件和数据),不因偶然和恶意的原因而遭到占用、破坏、更改和泄露,系统连续正常运行。
‖该定义着重于动态意义描述。
保密性(Confidentiality)完整性(Integrity)可用性(Availability)可控性(Controllability)不可否认性(抗否性non-repudiation)1. 应用层提供安全服务的特点只能在通信两端的主机系统上实施。
优点:安全策略和措施通常是基于用户制定的;对用户想要保护的数据具有完整的访问权,因而能很方便地提供一些服务;不必依赖操作系统来提供这些服务;对数据的实际含义有着充分的理解。
密码学原理唯密文攻击分析古典密码26个英文字母在英文文字出现的不同频率◆最困难的分析条件◆通常需要用到英文字母的频率分析和反复猜测◆可分析单表和多表代换密码◆分析多字母代换比较困难(如Hill密码)仿射密码的密码分析仿射密码体制的数学描述对于密码体制的五元组(P, C, K, E, D)有•P=C=Z26•K={(a,b)∈Z26×Z26 : gcd(a,26)=1}•对任意的k=(a,b)∈K, x,y∈Z26,定义e k(x)=(ax+b)mod26d k(y)=a-1(y-b)mod26•gcd(a,26)=1意味着a和26互素•a-1是a关于模26乘法的逆分析目标:根据密文得到a和b的值。
分析方法:首先分析出现频率最高的字符,只需要猜中两个字母的代换,就能解出a 和b。
仿射密码分析举例得到仿射密码的密文如下FMXVEDKAPHEFRBNDKRXRSREFMORUDSDKDVSHVUFEDKAPRKDLYEVLRHHRH分析密文中每个字母的出现频数记录如下字母频数字母频数字母频数字母频数字母频数A2B1C0D7E5F4G0H5I,J0K5L2M2N1O1P2Q0R8S3T0U2V4W0X2Y1Z0以上密文中出现的最大频数的几个密文字母依次是R 、D 、E 、H 、K 、S 、F 、V 。
假设R 是e 的加密,D 是t 的加密即e k (4)=17,e k (19)=3,因为e k (x)=a x+b mod 26,得到方程组。
解方程组可知a =6,b =19,因为a 不满足与26互素的条件,因此猜测错误。
仿射密码分析举例a b mod a b mod ⎧⎨⎩4+=172619+=326仿射密码分析举例以上密文中出现的最大频数的几个密文字母依次是R、D、E、H、K、S、F、V。
再假设R 是e的加密,E是t 的加密,继续使用该方法得到a=13仍不满足与26互素的条件。
再假设H是t 的加密,得到a=8仍无效。
CISSP考试练习(习题卷21)第1部分:单项选择题,共100题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]哪种攻击是公钥加密系统中最常用的攻击方式?A)选择明文攻击B)仅密文攻击C)选择密文攻击D)自适应选择明文攻击答案:A解析:A chosen-ciphertext attack is one in which cryptannlyst may choose a piece of ciphertext and attempt to obtain the corresponding decrypted plantext.This type of attack is generally most applicable to public-key cryptosystems.2.[单选题]用来限制统计数据库查询的信息推论的保护机制是A)指定最大的查询集大小B)指定最小的查询集大小,但禁止所有的查询,除了在数据库中的记录C)指定最小的查询集大小D)指定最大的查询集大小,但禁止所有的查询,除了在数据库中的记录答案:B解析:3.[单选题]以下哪项限制了个人执行特定过程的所有步骤的能力?A)一个。
工作轮换B)职责分离C)最小特权D)强制性假期答案:B解析:4.[单选题]什么加密算法将为储存于USB 盘上的数据提供强大保护?A)TLSB)SHA1C)AESD)DES答案:C解析:略章节:模拟考试2022015.[单选题]Activity to baseline, tailor, and scope security controls tikes place dring which National Institute of Standards and Technology(NIST)Risk Management Framework(RMF)step? 制定基线、调整和范围安全控制的活动表明,国家标准与技术研究所(NIST)风险管理框架(RMF)采取了哪一步?A)Authorize IS. 授权IS。
同态加密⼀:什么是同态加密(Homomorphic Encryption)Craig Gentry给出的直观定义:A way to delegate processing of your data, without giving away access to it. ⼀般的加密⽅案关注的都是数据存储安全。
没有密钥的⽤户,不可能从加密结果中得到有关原始数据的任何信息。
我们注意到,这个过程中⽤户是不能对加密结果做任何操作的,只能进⾏存储、传输。
对加密结果做任何操作,都将会导致错误的解密,甚⾄解密失败。
同态加密⽅案最有趣的地⽅在于,其关注的是数据处理安全。
同态加密提供了⼀种对加密数据进⾏处理的功能。
也就是说,其他⼈可以对加密数据进⾏处理,但是处理过程不会泄露任何原始内容。
同时,拥有密钥的⽤户对处理过的数据进⾏解密后,得到的正好是处理后的结果。
⼆:同态加密有什么⽤处?同态加密⼏乎就是为云计算⽽量⾝打造的!我们考虑下⾯的情景:⼀个⽤户想要处理⼀个数据,但是他的计算机计算能⼒较弱。
这个⽤户可以使⽤云计算的概念,让云来帮助他进⾏处理⽽得到结果。
但是如果直接将数据交给云,⽆法保证安全性啊!于是,他可以使⽤同态加密,然后让云来对加密数据进⾏直接处理,并将处理结果返回给他。
这样⼀来:⽤户向云服务商付款,得到了处理的结果;云服务商挣到了费⽤,并在不知道⽤户数据的前提下正确处理了数据;但是,这么好的特性肯定会带来⼀些缺点。
同态加密现在最需要解决的问题在于:效率。
效率⼀词包含两个⽅⾯,⼀个是加密数据的处理速度,⼀个是这个加密⽅案的数据存储量。
业界如何评价全同态加密的构造?在此引⽤⼀个前辈的话:如果未来真的做出了Practical Fully Homomorphic Encryption,那么Gentry⼀定可以得到图灵奖。
(第⼀个构造出全同态加密⽅案的⼈是Gentry)三:同态加密具体如何定义?我们在云计算应⽤场景下⾯进⾏介绍:Alice通过Cloud,以Homomorphic Encryption(以下简称HE)处理数据的整个处理过程⼤致是这样的:1. Alice对数据进⾏加密。
一、密码学概述部分:1、什么是密码体制的五元组。
五元组(M,C,K,E,D)构成密码体制模型,M代表明文空间;C代表密文空间;K代表密钥空间;E代表加密算法;D 代表解密算法2、简述口令和密码的区别。
密码:按特定法则编成,用以对通信双方的信息进行明、密变换的符号。
换而言之,密码是隐蔽了真实内容的符号序列。
就是把用公开的、标准的信息编码表示的信息通过一种变换手段,将其变为除通信双方以外其他人所不能读懂的信息编码,这种独特的信息编码就是密码。
口令:是与用户名对应的,用来验证是否拥有该用户名对应的权限。
密码是指为了保护某种文本或口令,采用特定的加密算法,产生新的文本或字符串。
区别:从它们的定义上容易看出;当前,无论是计算机用户,还是一个银行的户头,都是用口令保护的,通过口令来验证用户的身份。
在网络上,使用户口令来验证用户的身份成了一种基本的手段。
3、密码学的分类标准:⏹按操作方式可分为:替代、置换、复合操作⏹按使用密钥的数量可分为:对称密钥(单密钥)、公开密钥(双秘钥)⏹按对明文的处理方法可分为:流密码、分组密码4、简述柯克霍夫斯原则(及其特点和意义。
?)即使密码系统中的算法为密码分析者所知,也难以从截获的密文推导出明文或密钥。
也就是说,密码体制的安全性仅应依赖于对密钥的保密,而不应依赖于对的保密。
只有在假设攻击者对密码算法有充分的研究,并且拥有足够的计算资源的情况下仍然安全的密码才是安全的密码系统。
一句话:“一切秘密寓于密钥之中”Kerckhoffs原则的意义:⏹知道算法的人可能不再可靠⏹设计者有个人爱好⏹频繁更换密钥是可能的,但无法频繁更换密码算法(设计安全的密码算法困难)5、密码攻击者攻击密码体制的方法有三种分别是:⏹穷举:尝试所有密钥进行破译。
(增大密钥的数量)⏹统计分析:分析密文和明文的统计规律进行破译。
(使明文和密文的统计规律不一样)⏹解密变换:针对加密变换的数学基础,通过数学求解找到解密变换。
Chosen-Ciphertext Securitywithout RedundancyDuong Hieu Phan and David Pointcheval´Ecole normale sup´e rieure–D´e pt d’informatique45rue d’Ulm,75230Paris Cedex05,France{duong.hieu.phan,david.pointcheval}@ens.frAbstract.We propose asymmetric encryption schemes for which all ci-phertexts are valid(which means here“reachable”:the encryption func-tion is not only a probabilistic injection,but also a surjection).We thusintroduce the Full-Domain Permutation encryption scheme which usesa random permutation.This is thefirst IND-CCA cryptosystem basedon any trapdoor one-way permutation without redundancy,and moreinterestingly,the bandwidth is optimal:the ciphertext is over k morebits only than the plaintext,where2−k is the expected security level.Thereafter,we apply it into the random oracle model by instantiatingthe random permutation with a Feistel network construction,and thususing OAEP.Unfortunately,the usual2-round OAEP does not seem tobe provably secure,but a3-round can be proved IND-CCA even withoutthe usual redundancy m 0k1,under the partial-domain one-wayness ofany trapdoor permutation.Although the bandwidth is not as good as inthe random permutation model,absence of redundancy is quite new andinteresting:many implementation risks are ruled out.1IntroductionBy now,the widely admitted appropriate security level for asymmetric encryp-tion is the so-called chosen-ciphertext security(IND-CCA):that is actually the semantic security[16]against adaptive chosen-ciphertext attacks[21].For achiev-ing semantic security,even in the basic chosen-plaintext scenario,the encryption algorithm must be probabilistic,which means that a given plaintext(with afixed public key)should be possibly encrypted in many different ways(at least2k dif-ferent ciphertexts if2−k is the expected security level).This naturally implies an expansion:the ciphertext is at least over k more bits than the plaintext.OAEP achieves the optimal bound if one considers IND-CPA only,but fails when con-sidering IND-CCA[5,15].The general idea for designing cryptosystems which are secure in the sense of chosen-ciphertext security is indeed to make the decryption oracle useless by making the creation of new“valid”ciphertexts(which are not produced by actually encrypting some known plaintexts)impossible.The general approach is thus to add some redundancy either to the plaintext before encrypting[5]or in a tag appended to the ciphertext[4,18].The former method can be named ih(Ed.):ASIACRYPT2003,LNCS2894,pp.1–18,2003.c International Association for Cryptologic Research20032Duong Hieu Phan and David Pointcheval“encode-then-encrypt”,with a randomized bijective encoding(padding),and a trapdoor injective one-way function as encryption[5,23,8].The latter is more like a key-encapsulation technique combined with a MAC of the plaintext,the ciphertext and/or the ephemeral key[10,1,18].For symmetric encryption schemes,Desai[11]avoids the overhead due to the MAC or redundancy by using variable-length input PRF,variable-length output PRF(unbalanced Feistel paradigm)or variable-length input super-PRF(encode-then-encipher).The proposed schemes are chosen-ciphertext secure,without re-dundancy and the ciphertext expansion is smaller than for any other provably secure scheme.In the present paper,inspired by this idea(encode-then-encipher),we con-sider the case of asymmetric encryption,by using a public random permutation which is clearly a bijective encoding,and this leads to thefirst IND-CCA scheme without any redundancy.More interestingly,the bandwidth of this scheme is optimal.On the other hand,the security proof holds in the strong and ideal“random permutation model”.Such a scheme in a weaker model(the random oracle model or the standard model)would be better.The second part of this paper is devoted to this goal.We use the construction of OAEP but with3rounds,instead of 2,and we can prove that such a scheme is IND-CCA and all the ciphertexts are reachable by the encryption algorithm,and are thus valid(or almost all in the most general case).The rest of the paper is organized as follows:Wefirst briefly recall the security notions for asymmetric encryption;then we present the FDH encryption and we prove that it is IND-CCA secure with any trapdoor one-way permutation. Finally we consider the random oracle model,in which we propose a3-round OAEP for which(almost)any ciphertext is valid(i.e.,reachable)and we show that it achieves IND-CCA under the partial-domain one-wayness of any trapdoor permutation[15].2Public Key EncryptionThe aim of a public-key encryption scheme is to allow anybody who knows the public key of Alice to send her a message that she will be the only one able to recover,thanks to her private key.2.1DefinitionsA public-key encryption schemeπis defined by the three following algorithms:–The key generation algorithm G.On input1k,where k is the security param-eter,the algorithm G produces a pair(pk,sk)of matching public and private keys.–The encryption algorithm E.Given a message m and a public key pk,E pk(m) produces a ciphertext c of m.This algorithm may be probabilistic(involving random coins r∈R,and then denoted E pk(m;r).)–The decryption algorithm D.Given a ciphertext c and the secret key sk,D sk(c)gives back the plaintext m.Chosen-Ciphertext Security without Redundancy3 2.2Security NotionsThe widely admitted security notion for encryption schemes is the so-called semantic security[16](a.k.a.polynomial security/indistinguishability of encryp-tions):if the attacker has some a priori information about the plaintext,the view of the ciphertext should not increase this information.This security notion requires the computational impossibility to distinguish between two messages, chosen by the adversary itself,which one has been encrypted,with a probabil-ity significantly better than one half:its advantage Adv indπ(A),as defined below where the adversary A is seen as a2-stage Turing machine(A1,A2),should be negligible.Adv indπ(A)=2×Prb,r(pk,sk)←G(1k);(m0,m1,s)←A1(pk)c=E pk(m b;r):A2(m0,m1,s,c)=b−1.Another notion has been thereafter defined,the so-called non-malleability[12], but this notion is equivalent to the above one in some specific scenarios[7]. Moreover,it is equivalent to the semantic security[3]in the most interesting scenarios,described below.Indeed,an attacker can play many kinds of attacks:it may just have access to public data,and then encrypt any plaintext of its choice(chosen-plaintext attacks),or have access to extra information,modeled by various oracles.In this model,the strongest oracle is definitely the decryption algorithm,which can be queried on any ciphertext,except the challenge ciphertext(adaptive/non-adaptive chosen-ciphertext attacks[17,21]).A general study of these security notions and attacks has been driven in[3], we therefore refer the reader to this paper for more details.Actually,one conclu-sion is that the strongest security level is the so-called chosen-ciphertext security, which is the semantic security(IND)under adaptive chosen-ciphertext attacks (CCA),hence the notation IND-CCA,also known as IND-CCA2,to be compared to IND-CCA1,which captures lunchtime attacks[17]only.2.3Secure DesignsThe expected security level is thus IND-CCA,which is now required to be prov-ably achieved before any practical use.The last ten years have seen several practical proposals which provide this strong security level.Thefirst,and most famous one,is definitely OAEP[5],a generic conversion proposed by Bellare and Rogaway,which applies to any trapdoor partial-domain one-way permutation, such as RSA,in the random oracle model[15].Some variants have been recently proposed,which either apply to particular cases(SAEP,SAEP+[8])or more general ones(OAEP+[23]).But they all add some redundancy in the plaintext before encrypting it:a ciphertext that is not properly generated,without know-ing the plaintext,is valid with negligible probability only.The latter property had been formally defined by the plaintext-awareness notion[5,3].Granted it, a decryption oracle does not provide any information.4Duong Hieu Phan and David PointchevalSome other paddings have also been proposed to apply to more general fami-lies of functions,which are not necessarily one-to-one:Fujisaki and Okamoto[13, 14],Pointcheval[20]and Okamoto and Pointcheval[18].Once again,chosen-ciphertext security is achieved granted redundancy,but in the ciphertext:only properly generated ciphertexts(with some known plaintexts)have a chance to be valid:plaintext-awareness.3FDP:Full-Domain Permutation EncryptionIn the same vein as the Full-Domain Hash signature[6,9],we suggest the Full-Domain Permutation encryption,in which one applies a random permutation to the message(and the random coins)before encrypting it with the trapdoor one-way permutation.We therefore obtain thefirst cryptosystem which achieves chosen-ciphertext security,without redundancy:any ciphertext is valid,and the bandwidth is optimal.3.1DescriptionThe FDP-encryption is quite simple,since it uses a random permutation P (which is a bijective random oracle,or an ideal-cipher with a particular key, say0.See also[22]).The key generation algorithm selects a trapdoor one-way permutationϕpk(and its inverseψsk,granted the trapdoor sk)over{0,1}k+ ,and a random permutation P over the same space—{0,1} ×{0,1}k is identified to {0,1} +k.The public key pk thus defines the permutationϕpk,while the privatekey sk defines the inverseψsk ofϕpk.Then,E pk(m;r)=ϕpk(P(m,r))D sk(c)=m,where(m,r)=P−1(ψsk(c)). The space of the plaintexts is{0,1} ,while the space of the random coins r is {0,1}k.Note that both P and P−1are public permutations.Note that usual trapdoor one-way permutations are not on a binary set,as it will be discussed in a more extensive way in the following.Anyway,just doubling the computational cost,on average,one easily gets such a particular case from any permutation over an interval:[2]suggested an iterated version.3.2Security ResultAs already said,thefirst advantage of this scheme is that any ciphertext is valid: any ciphertext can be decrypted into a plaintext,furthermore any ciphertext can also be reached by the encryption algorithm.The second important advantage comes from the security result given below:it provides chosen-ciphertext secu-rity under the intractability of invertingϕ,with a security level in2k,with an overhead of k bits(the random coins).This means that the bandwidth is opti-mal:contrary to OAEP or OAEP+which need an overhead of at least2k bits (the random coins and the redundancy),for a similar security level.Of course, this remark only applies to the most general case where ≥k(e.g.,k=80and k+ =1024.)Chosen-Ciphertext Security without Redundancy5 Theorem1.Let A be any chosen-ciphertext adversary againstϕ-FDP,within timeτ.After q p and q d queries to the permutation oracles and the decryption oracle respectively,Adv ind-ccaπ(A)≤2×Succ owϕ(τ+2q p×Tϕ)+2×(q p+q d+1)22k++q p2k+(q d+1)22where Tϕis the time complexity for evaluatingϕ. Let us briefly recall that for any algorithm A,Succ owϕ(A)=Prpk,x∈{0,1}k+ [A(ϕpk(x))=x],and Succ owϕ(τ)=max|A|≤τSucc owϕ(A).3.3Sketch of the ProofThe goal of the proof is to simulate the oracles P,P−1,and D sk in such a way that the adversary can not distinguish the simulations from the real oracles.In the simulation,the decryption answer for a ciphertext that has not been obtained before is a new random value(and independent with others).We then have to keep the simulation of the random permutation consistent.On the other hand, the challenge is made independent with the plaintexts m0and m1:the adversary has no advantage.The proof follows by successively modifying the rules involved in the(perfect) simulation where the oracles P and P−1arefirst simulated by using a perfectly random permutation P and its inverse P−1.The last game provides a simulation of D sk,without invertingϕpk.Anyway,the simulation remains almost perfect unless the adversary asks the pre-image viaϕpk of the challenge ciphertext to the random permutation P−1: it thus helps to invertϕ.The complete proof can be found in the full version of this paper[19].4The Random Oracle Model and OAEPThe above result is not so surprising,but the optimal bandwidth is a very good news.However the proof requires a full-domain random permutation,which is hard tofind:practical block-ciphers have smaller block sizes.In this section,we present an instantiation of this random permutation,in the random oracle model only.The counter-part will be the need of a stronger assumption about the trap-door one-way permutation:with a3-round OAEP,a trapdoor partial-domain one-way permutation leads to an IND-CCA cryptosystem,without redundancy.4.1The2-Round OAEP CaseBefore studying the3-round OAEP,let usfirst consider the more classical2-round OAEP which can be described as follows:we use two hash functions G and6Duong Hieu Phan and David PointchevalH before encrypting with a trapdoor one-way permutationϕpk.More precisely, for encrypting a message m,one randomly chooses r,and computes s and t:s=m⊕G(r)t=r⊕H(s).Then,the ciphertext is c=ϕpk(s,t).For decryption,one computes(s,t)=ψsk(c)r=t⊕H(s)m=s⊕G(r).The usual way to prove the security of a scheme is to exploit an adversary to break the assumption(for instance,the partial-domain one-wayness of the permutationϕpk).For that,we must simulate all the resources that the attacker can access,namely,the oracles G,H but also the decryption oracle D sk.For the above2-round OAEP,the decryption oracle does not seem simulatable.The following attack game uses the same arguments as the counter-example shown by Shoup against the original OAEP security result[23].Let us consider an attacker who chooses s,s and calls for H to get respectively h=H(s)and h =H(s ). Then it chooses t and computes c=ϕpk(s,t).If it asks c to D sk,it gets the corresponding plaintext m.Then,it computes t =t⊕h⊕h and c =ϕpk(s ,t ). If it asks c to D sk,it gets the corresponding plaintext m .One can easily see that,since r =r,the relation m⊕m=s⊕s should hold.But if the simulator can not detect that r =r,it can not output a consistent value for m .Unfortunately,we did notfind any easy way to make a consistent simulation for the2-round OAEP.But a3-round is more promising.4.2Description of the3-Round OAEPThe public key is any trapdoor(partial-domain)one-way bijectionϕpk from a set E to a set F,while the private key is the inverseψsk.For the sake of generality, we do not stick to binary sets(of the form{0,1}k):we just assume that there is an integerκsuch that:{0}κ×{0,1}k+ ⊆E⊆{0,1}κ+k+ (identified to{0,1}κ×{0,1}k×{0,1} ). However,note that in the case that E=0κ {0,1}k+ we won’t get(as an-nounced)a surjective encryption.But contrary to all the previous IND-CCA schemes,the proportion of valid ciphertexts(i.e.,which are reachable)is greater than1/2κ,which is not negligible:for efficient applications with RSA,it can be equal to1/2,or even1(by loosing a factor2in efficiency,one can getκ=0, with the iterated-RSA[2]).The encryption and decryption algorithms use three hash functions:F,G,H (assumed to behave like random oracles in the security analysis):F:{0,1}k→{0,1} G:{0,1} →{0,1}k H:{0,1}k+κ→{0,1} .Encryption Algorithm:The space of the plaintexts is M={0,1} ,the en-cryption algorithm uses random coins in R={0,1}k,and outputs a ciphertext c into F:on a plaintext m∈M,and a random r∈R,one computess=m⊕F(r)t=r⊕G(s)u=s⊕H(0κ t)c=ϕpk(0κ,t,u).Chosen-Ciphertext Security without Redundancy7 Decryption Algorithm:On a ciphertext c,onefirst computes(B,t,u)=ϕsk(c),where B∈{0,1}κ,t∈{0,1}k,u∈{0,1} and thens=u⊕H(B t)r=t⊕G(s)m=s⊕F(r).4.3Security ResultAbout the3-round OAEP,one can claim the following security result,which states that the IND-CCA security level is achieved under the(set)partial-domain one-wayness of the trapdoor permutationϕ[15].Theorem2.Let A be any chosen-ciphertext adversary against the3-round OAEP construction with the trapdoor permutation familyϕ,within timeτ.After q f,q g,q h and q d queries to the random oracles F,G and H,and the decryption oracle respectively,Adv ind-ccaπ(τ)≤2κ×Succ s-pd-owϕ(τ+q g·q h×Tϕ+q d·T lu,q h) q f+q g+2κ×q d(2q g+q d)+q d(3q f+2q d)where Tϕis the time complexity for evaluatingϕ,and T lu is the time complexity for a look up in a list.Let us recall the definition of the(set)partial-domain one-wayness in our partic-ular case,where A is any algorithm which outputs a subset of{0,1}k of size q:Succ s-pd-owϕ(A,q)=Prpk,(B,t,u)∈E[t∈A(ϕpk(B,t,u))]and Succ owϕ(τ,q)=max|A|≤τSucc s-pd-owϕ(A,q),is small for any reasonable time boundτ.4.4Sketch of the ProofThe goal of the proof is again to simulate the oracles.For simulating the random oracles,we use lists as usual to store the known answers.We simulate the de-cryption oracle as follows:when we receive a query y,either the corresponding s and t have both been asked to G and H,we can extract m,or one of them has not been asked,we can safely answer a random plaintext.However,such a plaintext-ciphertext relation implicitly defines several relations about the ran-dom oracles F,G and H.We show that it is still possible to answer consistently. The challenge ciphertext also implicitly defines relations.We show that possible inconsistencies with the latter relations can not be detected by the adversary unless it has partially inverted the functionϕpk on the challenge ciphertext.The proof is provided by a sequence of games,but for clarity reasons,we briefly explain only the distances between two consecutive games.The formal and full proofs are provided in the Appendix A.8Duong Hieu Phan and David PointchevalGame G0:The adversary is fed with the public key pk,and outputs apair of messages(m0,m1).Next a challenge ciphertext is produced byflipping a coin b and producing a ciphertext c of m =m b.This ciphertext comes froma random r ←{0,1}k and c =E(m b,r )=ϕpk(0κ,t,u).On input c ,A2 outputs bitb in the time t.We denote by S0the event b =b and use the samenotation S n in any game G n below.Note that the adversary is given access tothe decryption oracle D sk during both steps of the attack.The adversary canalso ask the random oracles F,G,and H.Game G1:The simulation in this game is presented on the Figure1.Wesimulate the way that the challenge c is generated as the challenger would do,and we simulate the random oracles F,G,and H,as well as the decryptionoracle D sk,by maintaining lists F-List,G-List,H-List and D-List to deal withidentical queries,since they all are deterministic.Since the simulation is perfect,we directly derive thatPr[S1]=Pr[S0].(1) Game G2:We manufacture the challenge c independently of anything else. Rule Chal(2)Choose randomly ahead of time c+R←F and set c =c+.Lemma3.Let us note(B+,t+,u+)the pre-image of the challenge c+.We de-note by AskH2the event that B+ t+has been asked to H.Then,Pr[S1]≤12+q f2k+q g2+2κ×Pr[AskH2].(2)Proof(Full proof in the Appendix A.1).The main idea in simulating this game is that we make the components of the challenge c (namely r ,f ,s ,g ,t , h ,u and c )independent to m .We can do this by choosing ahead of time random values for r ,s ,and t ,and we can see that a difference occurs when one of these values is asked to the corresponding oracle.On the other hand, when the challenge is independent to m ,the attacker has only the chance of one half to guess the bit b. Game G3:In this game,we modify the simulation of the decryption oracle, by outputting a random message when the ciphertext has not been“correctly”encrypted.We thereafter define in a consistent way the values of the random oracles:Rule Decrypt-TnoS(3)Choose m R←{0,1} and g R←{0,1}k,then define r=t⊕g and f=m⊕s.Add(r,f)in F-List,and(s,g)in G-List.Rule Decrypt-noT(3)Choose m R←{0,1} ,h R←{0,1} and g R←{0,1}k,then define s=u⊕h,r=t⊕g and f=m⊕s.Add(r,f)in F-List,(s,g)in G-List,and(B,t,h)in H-List.Chosen-Ciphertext Security without Redundancy9F ,G a n d H O r a c l e sQuery F (r ):if a record (r,f )appears in F -List ,the answer is f .Otherwise the answer f is chosen randomly:f ∈{0,1}k and the record (r,f )is added in F -List .Query G (s ):if a record (s,g )appears in G -List ,the answer is g .Otherwise the answer g is chosen randomly:g ∈{0,1} and the record (s,g )is added in G -List .Rule EvalGAdd (1)Do nothingQuery H (B t ):if a record (B,t,h )appears in H -List ,the answer is h .Otherwise the answer h is chosen randomly:h ∈{0,1}k and the record (B,t,h )is added in H -List .D O r a c l e Query D sk (c ):if a record (m,c )appears in D -List ,the answer is m .Otherwise the answer m is defined according to the following rules: Rule Decrypt -Init (1)Compute (B,t,u )=ψsk (c );Look up for (B,t,h )∈H -List :–if the record is found,compute s =u ⊕h .Look up for (s,g )∈G -List :•if the record is found Rule Decrypt -TS (1)h =H (B t ),s =u ⊕h,g =G (s ),r =t ⊕g,f =F (r ),m =s ⊕f .•otherwise Rule Decrypt -TnoS (1)same as rule Decrypt -TS (1).–otherwiseRule Decrypt -noT (1)same as rule Decrypt -TS (1).Answer m and add (m,c )to D -List .C h a l l e n g e rFor two messages (m 0,m 1),flip a coin b and set m =m b ,choose randomly r ,then answer c ,whereRule Chal (1)f =F (r ),s =m ⊕f ,g =G (s ),t =r ⊕g ,h =H (0κ t ),u =s ⊕h .Compute c =ϕpk (0κ,t ,u ).Fig.1.Formal Simulation of the IND-CCA Game against 3-OAEP.10Duong Hieu Phan and David Pointcheval Lemma4.|Pr[AskH3]−Pr[AskH2]|≤q d(q g+q d)2+2q d(q f+q d)2k.(3)Proof(Full proof in the Appendix A.2).In the proof,one successively modifies the simulation of the decryption oracle,just changing the order of elements to be randomly chosen,so that the decryption of a ciphertext which has not been correctly encrypted is a truly random plaintext. Game G4:In this game,we delay the explicit definitions of some oracle answers implicitly defined by some plaintext-ciphertext relations:we do not in-troduce them during the simulation of the decryption oracle,but when s is asked to G.Some problems may appear if the implicitly defined answers are asked be-fore G(s)is queried.Rule Decrypt-TnoS(4)Choose m R←{0,1} .Rule Decrypt-noT(4)Choose m R←{0,1} .Rule EvalGAdd(4)Look up for(B,t,h)∈H-List and(m,c)∈D-List such thatc=ϕpk(B,t,h⊕s).If the record is found,we compute r=t⊕g and f=m⊕s,andfinally add(r,f)in F-List.Lemma5.|Pr[AskH4]−Pr[AskH3]|≤q d·q f2k+q d·q g2.(4)Proof(Full proof in the Appendix A.3).Since we don’t store anymore(r,f), (s,g),(B,t,h),inconsistencies could occur when B t,s or r are asked.For solving this problem,we modify the rule EvalGAdd by defining in a consistent way F(r)at the moment that s is asked to G.But there is still a problem if r is asked before G(s)is queried,or if s is asked before H(B t)is queried. Game G5:We now complete the simulation of the oracle D sk.We don’t ask any query toψsk.Intuitively,if both B t and s have been asked,we can easily find them,and then m.Otherwise,we give a random answer as in the game G4.Rule Decrypt-Init(5)Look up for(B,t,h)∈H-List and(s,g)∈G-List such thatϕpk(B,t,s⊕h)=c.–if the record is found,we furthermore define u=s⊕h.–otherwise,we take B=⊥,t=⊥,u=⊥.Rule Decrypt-TS(5)r=t⊕g,f=F(r),m=s⊕f.The two games G5and G4are perfectly indistinguishable.In fact,in thefirst case,nothing is modified and in the second case,by making B=⊥,t=⊥,u=⊥, the answer of the decryption oracle for the question c will be a random m as in the game G4:Pr[AskH5]=Pr[AskH4].(5) Simply outputting the list of queries to H during this game,one gets:Pr[AskH5]≤Succ s-pd-owϕ(τ ,q h),(6) whereτ is the running time of the simulation in this game:τ ≤q g·q h×Tϕ+q d×T lu.We can indeed perform the simulation granted an additional list GH-List which contains all the tuples(B,t,h,s,g,y)where(B,t,h)∈H-List, (s,g)∈G-List and y=ϕpk(B,t,s⊕h).This concludes the proof of the Theorem.4.5Special CasesIn the particular but classical case whereκ=0and k≤ ,one can claim Theorem6.Let A be any chosen-ciphertext adversary against the3-round OAEP construction with the trapdoor permutation familyϕ,within timeτ.After q o and q d queries to the random oracles and the decryption oracle respectively,Adv ind-ccaπ(τ)≤Succ s-pd-owϕ(τ+q2o×Tϕ+q d×T lu,q o)+2q o+q d(5q o+2q d)2kwhere Tϕis the time complexity for evaluatingϕ,and T lu is the time complexity for a look up in a list.5ConclusionWe have described the Full-Domain Permutation encryption which is IND-CCA without redundancy and provides an optimal bandwidth.In the random oracle model,we have shown that the absence redundancy can be obtained by consid-ering the3-round OAEP construction.However,the bandwidth is not optimal, and the security relies on the strong partial-domain one-wayness assumption. AcknowledgmentsWe thank Anand Desai for fruitful discussions.References1.M.Abdalla,M.Bellare,and P.Rogaway.The Oracle Diffie-Hellman Assumptionsand an Analysis of DHIES.In CT–RSA’01,LNCS2020,pages143–158.Springer-Verlag,Berlin,2001.2.M.Bellare,A.Boldyreva,A.Desai,and D.Pointcheval.Key-Privacy in Public-Key Encryption.In Asiacrypt’01,LNCS2248,pages566–582.Springer-Verlag, Berlin,2001.3.M.Bellare,A.Desai,D.Pointcheval,and P.Rogaway.Relations among Notionsof Security for Public-Key Encryption Schemes.In Crypto’98,LNCS1462,pages 26–45.Springer-Verlag,Berlin,1998.4.M.Bellare and P.Rogaway.Random Oracles Are Practical:a Paradigm for De-signing Efficient Protocols.In Proc.of the1st CCS,pages62–73.ACM Press,New York,1993.5.M.Bellare and P.Rogaway.Optimal Asymmetric Encryption–How to Encryptwith RSA.In Eurocrypt’94,LNCS950,pages92–111.Springer-Verlag,Berlin, 1995.6.M.Bellare and P.Rogaway.The Exact Security of Digital Signatures–How toSign with RSA and Rabin.In Eurocrypt’96,LNCS1070,pages399–416.Springer-Verlag,Berlin,1996.7.M.Bellare and A.Sahai.Non-Malleable Encryption:Equivalence between TwoNotions,and an Indistinguishability-Based Characterization.In Crypto’99,LNCS 1666,pages519–536.Springer-Verlag,Berlin,1999.8. D.Boneh.Simplified OAEP for the RSA and Rabin Functions.In Crypto’01,LNCS2139,pages275–291.Springer-Verlag,Berlin,2001.9.J.-S.Coron.On the Exact Security of Full-Domain-Hash.In Crypto’00,LNCS1880,pages229–235.Springer-Verlag,Berlin,2000.10.R.Cramer and V.Shoup.A Practical Public Key Cryptosystem Provably Secureagainst Adaptive Chosen Ciphertext Attack.In Crypto’98,LNCS1462,pages 13–25.Springer-Verlag,Berlin,1998.11. A.Desai.New Paradigms for Constructing Symmetric Encryption Schemes SecureAgainst Chosen-Ciphertext Attack.In Crypto’00,LNCS1880,pages394–412.Springer-Verlag,Berlin,2000.12. D.Dolev,C.Dwork,and M.Naor.Non-Malleable Cryptography.In Proc.of the23rd STOC.ACM Press,New York,1991.13. E.Fujisaki and T.Okamoto.How to Enhance the Security of Public-Key Encryp-tion at Minimum Cost.In PKC’99,LNCS1560,pages53–68.Springer-Verlag, Berlin,1999.14. E.Fujisaki and T.Okamoto.Secure Integration of Asymmetric and SymmetricEncryption Schemes.In Crypto’99,LNCS1666,pages537–554.Springer-Verlag, Berlin,1999.15. E.Fujisaki,T.Okamoto,D.Pointcheval,and J.Stern.RSA–OAEP is Secure underthe RSA Assumption.Journal of Cryptology,2003.To appear.16.S.Goldwasser and S.Micali.Probabilistic Encryption.Journal of Computer andSystem Sciences,28:270–299,1984.17.M.Naor and M.Yung.Public-Key Cryptosystems Provably Secure against ChosenCiphertext Attacks.In Proc.of the22nd STOC,pages427–437.ACM Press,New York,1990.18.T.Okamoto and D.Pointcheval.REACT:Rapid Enhanced-security AsymmetricCryptosystem Transform.In CT–RSA’01,LNCS2020,pages159–175.Springer-Verlag,Berlin,2001.。