2. 中国科学院 重庆绿色智能技术研究院,重庆 400714;
3. 中国科学院大学,北京 101408
2. Chongqing Inst. of Green Intelligent Technol., Chinese Academy of Sciences, Chongqing 400714, China;
3. Univ.of Chinese Academy of Sciences, Beijing 101408, China
传统的加密方案仅可以保证传输的数据对被动的窃听者是安全的,但如果窃听者在截获密文后对密文的发送者进行主动的胁迫,迫使其交代出加密时所用的本地随机数以及明文,那么传统方案将无法保证数据的安全。为了解决这一严重安全问题,Canetti等[1]首次提出了可否认加密技术。可否认加密技术可以赋予加密者任意编造密文所对应明文的能力,使得加密者在受到逼问时可以向逼问者提供一段虚假的明文信息和随机码,可以在同样的加密算法下产生的密文与被截获密文相同。以此令攻击者无法正确区分真正的明文来防止明文的泄露。可否认加密与传统的加密方式的区别是,可以找到不同的明文和随机数加密得到相同的密文。而传统加密在一定意义上相当于对明文的承诺,难以找到不同的明文和随机数加密得到相同的密文,甚至不存在不同的明文和随机数加密得到相同密文。
可否认加密的应用场景十分广泛,比如在电子选举[2]和电子拍卖等场景中。选民和拍卖者的信息是公开的,那么很有可能存在胁迫投票和交代竞标价格等行为。可否认加密可以杜绝上述行为的产生,其中,Cramer[3]、Hirt[4]等研究了可否认加密在电子选举中的应用。
Klonowski等[5]提出一种基于Elgamal的接收方可否认公钥加密方案。但胁迫者通过胁迫接收方可以得到私钥s和假明文
Ibrahim[6]介绍了一个基于Jacobi符号的发送方公钥可否认方案,但其存在问题如下:一是,它不能从有效明文空间中任意选取明文作为用于欺骗的明文;二是,其安全性是基于不可靠的二次剩余问题(quadratic residual problem,QRP);三是,其解密过程非常慢,因为要重复计算公钥中的Jacobi符号直至计算出某个公钥位是非二次剩余的。Howlader等[7]用二次剩余问题构造了一个发送方可否认加密方案,解决了上述问题1,但仍然没能很好地解决问题2和3。之后,Ibrahim[8]又提出了一种方案,该方案基于中介公钥基础设施(mediated PKI,MPKI),需要一个可信第三方,在加密时需要重复使用不经意传输(oblivious transfer,OT)协议,故其存在加密效率较低的问题。Ibrahim[6,8]提出的两个方案被认为是具有里程碑意义的,但是它们均不能够抵御量子计算机攻击。
在量子计算机相继攻破RSA、DSA和ECDSA密码后,2016年4月,美国国家标准局(National Institute of Science and Technology,NIST)提出了抗量子密码路线图,定义了密钥交换、公钥加密和数字签名的新标准,在该标准下有望通过格密码构建抗量子的密码体系。目前,还没有研究者能给出一种使用Shor算法攻击格密码的有效算法,主要问题是被经常用于Shor分解算法和相关量子算法的周期性查找技术,并不适用于格问题,因此将格密码作为抗量子密码提供了正确性依据。
目前,国内外很少有研究者提出比较完整的可否认加密方案,而可以抵御量子攻击的可否认加密方案更是少之又少,并且没有关于方案性能的具体分析。本文提出的方案是一个概率性的发送方否认公钥加密方案,对单一比特逐比特加密,通过困难问题LWE问题构造一个密文集合“模糊集”使敌手无法与之于均匀分布集合进行区分。而接收方可以通过私钥正确分辨两个集合,其安全性可规约到格上最短独立向量问题(shortest independent vector problem,SIVP)上。本文提出的方案优势在于可以抵御量子攻击,且不需要可信第三方等额外物理假设。且本文的性能较好,与文献[7]中方案相比加密效率提高了70%,密文膨胀率约减小了3倍。
由于本方案基于LWE问题需要大量的矩阵运算,存在的缺点是计算效率低,密钥较大,密文膨胀率较大,因此本方案不适用于加密较长的明文,而对于选举系统中选民投票的场景或者对密钥等短数据加密有着较好的应用前景。
1 预备知识 1.1 发送方可否认基本概念可否认加密根据可以进行否认的对象分为发送方、接收方以及双向可否认加密方案。可否认加密还可分为完全否认方案和多分布式否认方案。其中,多分布式否认方案相对于全否认加密方案存在一个正常算法以及一个替代算法。由于替代算法的输出与正常算法相似,因此其看起来似乎是一直在使用规定的算法进行加密。由于多分布式否认方案需要同时构造两个加密算法,全否认加密方案的认可度比多分布式否认方案要高。本文提出的方案为发送方全否认加密方案。
发送方可否认加密使得发送方产生一个虚假的明文
根据Canetti等[1]中提出的可否认加密的概念,考虑发送方S在通信中传给接收方R消息,事先并没有任何信息的交流。那么致力于将消息可否认地传给S而用到的协议
正确性:接收者通过解密后得到的明文不同于发送者所加密明文的概率是可忽略的。
安全性:发送方的
| $ En{c_\Pi }(m) \approx En{c_\Pi }({m_{\rm{f}}}) $ | (1) |
可否认性:对于发送方传输的消息
| $En{c_\Pi }(m,r) \approx En{c_\Pi }({m_{\rm{f}}},{r_{\rm{f}}})$ | (2) |
因此,胁迫的问题可以通过隐藏正确的明文
同时,Canetti等[1]提出了“模糊集”的概念来构造可否认加密方案。假设发送者可以随机地从均匀分布或某些伪随机分布集合(模糊集)中随机的选取一个元素,具有私钥的接收者可以判断该元素是从均匀分布集合或是伪随机分布集合中选取。因此,发送方可以在加密0时发送伪随机元素,加密1时发送随机元素,当受到胁迫时发送方可以声称该元素是从另一个集合中选取的,而胁迫者无法分辨。“模糊集”的密度即模糊集占整个集合的比例应尽量低,否则,需要重复加密多次达到指定误码率。例如,在文献[7]方案中其模糊集的密度为1/2,导致需要重复加密20次才可使得误码率达到百万分之一。
1.3 LWE问题LWE问题在文献[9]中被提出,对于安全参数
| $\left\{\!\!\!\! \begin{array}{l} \left\langle {{{s}},{\alpha _1}} \right\rangle { \approx _\chi }{{{b}}_1}(od p), \\ \left\langle {{{s}},{\alpha _2}} \right\rangle { \approx _\chi }{{{b}}_2}(od p), \\ \qquad\quad \vdots \\ \left\langle {{{s}},{\alpha _{\rm{n}}}} \right\rangle { \approx _\chi }{{{b}}_n}(od p) \\ \end{array} \right.$ | (3) |
式中,
| ${{{b}}_i} = \left\langle {{{s}},{\alpha _1}} \right\rangle + {{{e}}_i}$ | (4) |
如何从方程组(3)求解向量
在Regev[9]的理论中,说明了对于整数
作者在基于LWE问题的公钥加密方案[9]的基础上进行了改进,根据文献[1]中提出的“模糊集”概念,构造两个不可区分的分布集合,实现了一种发送方可否认公钥加密方案。本方案中,接收方生成公私钥对
考虑敌手对发送方进行胁迫,发送方与接收方采用本可否认加密方案,依次进行密钥生成、加解密、验证密文过程的流程图如图1所示。
![]() |
| 图1 改进后方案的总流程图 Fig. 1 Improved overall plan flow chart |
1)密钥生成
接收方选取安全参数n,随机生成一个
| $\bar \varphi (i): = \int_{(i - 1/2)/p}^{(i + 1/2)/p} {\varphi (x){\rm{d}}x} $ | (5) |
式中,
| $\varphi (x): = \mathop {\lim }\limits_{M \to \infty } \sum\limits_{ - M}^M {\frac{1}{\alpha }} \cdot \exp \left( - \text{π}{\left(\frac{{x - M}}{\alpha }\right)^2}\right)$ | (6) |
式中,
| 表1 不同安全参数下噪声e的部分离散分布 Tab. 1 Part of probability of noise for different values of e and security parameters |
![]() |
随机生成一个
生成
算法1 密钥生成
1.
2.
3.
4. return
2)加密过程
首先,有明文比特流
当
算法2 加密
1.
2.
重复k次 return
3.
重复k次 return
3)解密过程
接收方通过私钥对密文进行计算得到
算法3 解密
1.
2.
3.
4)编码
若存在一个发送方的胁迫者,发送方可以不诚实地将密文
在以往提出的可否认加密方案中,有一部分方案不能做到将明文进行任意的抵赖,比如文献[7]中提出的方案。为了做到将明文可以向任何假明文进行否认,需要将2.1节中提出的单向可否认加密方案改进成既可以将0否认成1也可以将1否认成0的双向可否认加密方案,于是进行如下的明文编码改进:
发送方将发送的信息转化为长度为
具体的可否认编码方式为:1)对于
若接收方在解密后得到的两比特明文中有偶数个比特为0时,最终的解码结果为0;若解密后得到的明文中有奇数个比特1时,最终的解码结果为1。将单个明文比特编码为两明文比特的编码方式如图2所示。
![]() |
| 图2 扩展至两比特的编码方式 Fig. 2 Extended to two-bit encoding |
2.2 实用性分析
对每一比特编码为两位,可以适用于不足一半的明文比特流需要否认的情况,若超过一半则
若要进行欺骗的明文比特超过一半,比如传输数据或者图片的情况,也可将每比特编码为更多位数,例如,编码为3位可以满足75%的明文比特进行欺骗,编码为4位可以满足87.5%的明文比特进行欺骗,该比例随编码位数增长。编码方式也可以递推,如将两位编码扩展至3位编码的方式如图3所示。
![]() |
| 图3 扩展至3比特的编码方式 Fig. 3 Extended to three-bit encoding |
图3中,3比特的明文编码方式与图2中两比特的明文编码方式类似。为了抵抗敌手进行统计攻击,需进行适当调整,使得001、111编码的数量各占1/4,110、101、000的数量各占1/32,011占13/32。
通过上述方式的改进完成了本方案的双向可否认功能,首先接收方设定安全参数并生成公私钥对,发送方获得公钥对明文进行编码。然后,对明文编码加密并生成保留本地随机数文件,当受到胁迫时向胁迫方交代假明文编码及随机数文件并通过验证。
3 理论分析对方案的可否认性、安全性、正确性、密文的膨胀率以及算法复杂度进行讨论。
3.1 可否认性针对在解密时是否需要进行否认,对诚实和不诚实两种情况分别进行如下说明:
1) 诚实的情况
在发送方对比特0进行加密时,即对明文编码00或者11进行加密;接收方解密后会得到00或者11,由此接收方会最终解密成0。在发送方对比特1进行加密时,即对明文编码01进行加密;接收方解密后会得到比特01,由此接收方会最终解密成1。
2) 不诚实的情况
在发送方对比特0进行加密并要进行欺骗时,即对明文编码00进行加密,接收方解密后会得到00,但发送方会欺骗敌手是对明文编码01进行加密,而敌手却无法区分,最终迫使敌手相信发送方发送的是比特1。在发送方对比特1进行加密并要进行欺骗时,即对明文编码00进行加密,但发送方会欺骗敌手是对明文编码11进行加密,而敌手却无法区分,最终迫使敌手相信发送方发送的是比特0。
3.2 安全性在
使用基于Game的证明方法证明本方案的安全性,并用
1) 对于Game0
Game0是标准的IND–CPA游戏,在敌手经过训练后,挑战者按照密钥生成过程生成公钥
2) 对于Game1
Game1改变Game0的公钥
| $ |\Pr (b = b' \;{\rm{ in}} \;{\rm{Game}}1 - \Pr (b = b' \;{\rm{ in}}\;{\rm{ Game}}0)| \le {\rm{Adv}}{_{{\rm{LWE}}}}({{\cal A}}) \text{。} $ |
3) 对于Game 2
Game2改变Game 1的挑战密文的生成方式,使用均匀随机选取密文
| $ |\Pr (b = b'\;{\rm{ in}}\;{\rm{ Game}}2) - \Pr (b = b'\;{\rm{ in}}\;{\rm{Game}}1)| \le {\rm{Adv}}{_{{\rm{LWE}}}}({{\cal A}}) \text{。} $ |
由于Game2挑战的密文与明文
| $ \begin{aligned}[b] {\rm{Adv}}{_{{\rm{CPA}}}}[{{\cal A}}] \!\!=& |\Pr (b = b'\;{\rm{ in}}\;{\rm{Game}}1) \!-\! \Pr (b = b'\;{\rm{ in}}\;{\rm{Game}}0)| + \\ &|\Pr (b = b'\;{\rm{ in}}\;{\mathop{\rm Game}\nolimits} 2) \!-\! \Pr (b = b'\;{\rm{ in}}\;{\rm{Game}}1)| \le \\ &2{\rm{Adv}}{_{{\rm{LWE}}}}({{\cal A}})\text{。} \end{aligned} $ |
在
因此证明本方案是IND–CPA安全的。
3.3 正确性通过构造“模糊集”,解密明文0时得到的结果
| $ {{m}} = ({m_{11}} \vee {m_{12}} \vee \cdots \vee {m_{1k}}) \oplus ({m_{21}} \vee {m_{22}} \vee \cdots \vee {m_{2k}})\text{。} $ |
通过实现得到在不同安全参数下门限值的取值和单次解密的误码率,如表2所示。
| 表2 不同安全参数下门限值的取值和单次解密的误码率 Tab. 2 Threshold values and bit error rates under different security parameters |
![]() |
由表2可知,对单比特的单次解密误码率较高,与本节中的理论分析相符,需要多次进行重复加密降低误码率。由于对单比特0而言,将其错误解码成1的概率约有十亿分之一,因此可近似将其忽略。而将1错误解码成0的概率可以考虑为将明文编码01中最后一位1错误解码为0,其概率为
考虑接收方对编码后的单个比特1对应的密文进行解密时的误码率约为1/30,用简单的重复加密会降低误码率。为了继续减少重复的加密次数以提高加密效率,采用信道编码的方式对密文添加冗余并进行自纠错,因此找到一种合理的编码方式可以进一步提高本方案的加密效率。
3.4 复杂度由公钥
本方案在不同过程中分别需要对
| 表3 本方案的时间复杂度及空间复杂度 Tab. 3 Time and space complexity of the proposed scheme in this paper |
![]() |
从表3中可以看出,解密过程的时间复杂度远低于加密过程的时间复杂度,与加密过程相比密钥生成及解密过程的计算量基本可以忽略不计。
4 实验结果及分析 4.1 加解密效率为了得到第2节中作者提出的可否认加密方案的加密效率,选用参数
| 表4 不同安全参数下加密占用内存及加解密256比特平均耗时 Tab. 4 Memory and time cost for encrypting and decrypting 256 bits under different security parameters |
![]() |
通过表4可以发现,在不同安全参数下解密时间相比于加密时间基本可以忽略,且内存占用较小。
4.2 方案对比文献[7]为基于二次剩余构造的单比特可否认加密方案,是对文献[6]方案的改进,且该方案的可行性得到学术界广泛认可,因此将文献[7]中的方案与本方案进行对比。在同等安全程度下,对比公钥长度、加解密效率和密文膨胀率等性能。
1) 解密效率对比
为了保证文献[7]中提出的可否认加密方案的安全性,目前普遍选取512位的私钥p和q。在攻击该方案时,需要对其基于的二次剩余困难问题中的大整数N进行分解。使用Bai等提出的普通数域筛选法(GNFS)进行分解,根据该分解算法的时间复杂度
对文献[7]中方案进行分析,该方案在加解密时需要重复计算雅各比符号,通过欧几里德算法计算雅各比符号的时间复杂度
对于作者提出的可否认加密方案,在bitbucket LWE安全程度测试中得到:使用dual算法[13]进行攻击时,为了能够抵御
2) 密文膨胀率及误码率对比
特别地,当选取平衡安全性以及加密效率后安全参数
根据3.4节中给出的本方案的密文膨胀率为
| 表5 本可否认加密方案与文献[7]方案性能对比 Tab. 5 Comparison of the performance between the proposed scheme and the scheme in reference[7] |
![]() |
通过表5可知:与文献[7]方案相比,本方案的缺点在于公钥长度较长,仅适用于加密较短的明文;但是,在加解密效率和密文膨胀率上有明显优势,加密效率提高了70%,密文膨胀率约减小了3倍。
5 结 论基于模糊集的概念,提出了一种可以抵御量子攻击的发送方可否认公钥加密方案。通过LWE问题构造了一个低密度的模糊集,使得重复加密的次数大大降低,进而降低了密文膨胀率提高了加密效率。为了使原明文可以抵赖为任意的假明文,还提出了一种编码方案使得明文比特0和1之间可以相互进行否认。通过理论分析得到了安全性、正确性以及时空复杂度。通过实验得到了本方案的加密效率约为72 B/s,密文膨胀率约为1∶33 000,适用于对短密钥进行加密的应用场景。与文献[7]中方案进行对比,本方案虽然在公钥长度上有所缺陷,但在抗量子攻击、加解密效率、密文膨胀率上有明显优势。
后续研究工作如下:一是,可以对简单重复加密的方式进行改进,用信道编码的方式对密文进行长码的编码,实现解密出现误码时的自纠错以提高效率;二是,有望构造一个基于模容错学习问题(MLWE)的可否认加密方案,将加密效率大幅提升。
| [1] |
Canetti R,Dwork C,Naor M,et al.Deniable encryption[M]//Advances in Cryptology—CRYPTO’97.Berlin:Springer,1997:90–104.
|
| [2] |
Chen X F,Lee B,Kim K.Receipt-free electronic auction schemes using homomorphic encryption[M]//Information Security and Cryptology—ICISC 2003.Berlin:Springer,2004:259–273.
|
| [3] |
Cramer R,Gennaro R,Schoenmakers B.A secure and optimally efficient multi-authority election scheme[M]//Advances in Cryptology—EUROCRYPT’97.Berlin:Heidelberg,1997,481–490.
|
| [4] |
Hirt M,Sako K.Efficient receipt-free voting based on homomorphic encryption[M]//Advances in Cryptology—EUROCRYPT 2000.Berlin:Springer,2000:539–556.
|
| [5] |
Klonowski M,Kubiak P,Kutyłowski M.Practical deniable encryption[M]//SOFSEM 2008:Theory and Practice of Computer Science.Berlin:Springer,2008:599–609.
|
| [6] |
Ibrahim M H. A method for obtaining deniable public-key encryption[J]. International Journal of Network Security, 2009, 8(1): 1-9. DOI:10.6633/IJNS.200901.8(1).01 |
| [7] |
Howlader J,Basu S.Sender-side public key deniable encryption scheme[C]//Proceedings of the 2009 International Conference on Advances in Recent Technologies in Communication and Computing,2009.Piscateway:IEEE,2009:27–28.
|
| [8] |
Ibrahim M H. Receiver-deniable public-key encryption[J]. International Journal of Network Security, 2009, 8(2): 159-165. DOI:10.6633/IJNS.200903.8(2).08 |
| [9] |
Regev O. On lattices,learning with errors,random linear codes,and cryptography[J]. Journal of the ACM, 2009, 56(6): 1-40. DOI:10.1145/1568318.1568324 |
| [10] |
Kannan R.Improved algorithms for integer programming and related lattice problems[C]//Proceedings of the Fifteenth Annual ACM symposium on Theory of Computing(STOC’83).New York:ACM,1983:193–206.
|
| [11] |
Ajtai M.Generating hard instances of lattice problems[C]//Proceedings of Twenty-eighth Annual ACM Symposium on Theory of Computing.New York:ACM,1996:99–108.
|
| [12] |
Bai S,Bouvier C,Kruppa A,et al. Better polynomials for GNFS[J]. Mathematics of Computation, 2016, 85(298): 861-873. DOI:10.1090/mcom3048 |
| [13] |
Albrecht M R.On dual lattice attacks against small-secret LWE and parameter choices in HElib and SEAL[M]//Advances in Cryptology—EUROCRYPT 2017.Cham:Springer,2017:103–129.
|
2020, Vol. 52









