郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 以下是对本文关键部分的摘抄翻译,详情请参见原文

Abstract

  基于“learning with errors”(LWE)问题,分析了理论上基于声音格的加密方案的具体安全性和密钥大小。我们的主要贡献是:(1)针对LWE提出了一种新的格攻击,它结合了基归约和一个允许时间/成功折衷的枚举算法,其性能优于先前分析中所考虑的简单区分攻击;(2)基于LWE的密码系统的具体参数和安全性估计,该系统比文献中已知的方案更为紧凑和高效。我们的新密钥大小比以前的示例小10倍,同时提供更强大的具体安全级别。

1 Introduction

  近年来,基于声音格的密码学在理论上取得了重大进展,解决了许多具有广泛适用性的任务。例如,仅在加密领域,我们现在就拥有具有选择密文安全性[PW08,Pei09]的公钥密码系统[AD97,Reg3,Reg05],基于身份的加密[GPV08,CHKP10,ABB10]和全同态的密码系统[Gen09]。通过使用简单而灵活的平均情况问题——即由Ajtai [Ajt96]引入的短整数解(SIS)和Regev[Reg05]的误差学习(LWE)问题——这被证明在最坏的情况下是和某些格问题一样困难的,并且似乎在主要的安全参数上需要指数时间来解决。

  然而,对于实际的参数,SIS和LWE问题抵抗算法攻击的具体难度还远未得到解决。这使得基于这些问题的密码方案的实际安全性和效率难以评估。本文的目的是通过考虑已知方案和攻击的新变体,并从密钥大小和估计的安全性方面分析其后果,进一步阐明这一问题。

1.1 Our Contributions

  我们分析了现代基于格的密码方案的具体安全性和效率,重点讨论了LWE和公钥加密。首先,我们描述了一个基于LWE的密码系统,它的密钥和密文比文献中更著名的系统(即Regev的原始系统[Reg05]及其更有效的分摊变体[PVW08,GPV08])小得多。我们的方案结合了最近工作中的一些技术和观点;特别是,它是Micciancio[Mic10]描述的抽象系统的一个实例,它概括了[Reg05,PVW08,GPV08]的所有方案,并且系统的设计和安全性证明(在LWE假设下)结合了最近工作的各种技术[Ale03,MR09,LPS10,Pei10],在关键尺寸上产生了渐进和具体的改进。虽然没有涉及到任何新的技术,但据我们所知,文献缺乏对系统的全面描述和分析,尽管它现在是一个重要的研究对象。

  我们的第二个主要贡献是利用现有的算法攻击工具,如格基约简和带预处理的有界距离解码更强的新方法,来分析最近的基于格的密码系统的具体安全性。我们的攻击特别针对LWE问题,并以密码分析上下文中从未尝试过的方式利用其一些结构属性。(我们的攻击似乎也不立即适用于其他格点问题,例如用于公钥加密的唯一最短向量问题[AD97,Reg03,AD07]。)因此,我们认为,我们的分析给出的LWE的具体困难性评估比先前格点攻击得到的评估更准确。

  将我们的攻击应用于改进的密码系统,然后我们提出了现代商品硬件的具体参数和(保守的)运行时估计。尽管我们改进了攻击,结果密钥大小仍然比前面的示例参数小10倍,甚至对于更高的安全级别也是如此(参见第六章了解详细信息)。例如,使用可以加密128位有效负载并且看起来至少与AES-128一样安全的参数,我们获得大约1120千位或大约400千位的公钥大小(假设公共源是可信随机的)。

  显然,对于许多应用程序来说,上述密钥大小仍然太大,但这是使用“标准”LWE固有的二次开销的结果。通过使用来自[LPR10]的LWE和密码系统的紧凑的“基于环”变体(与启发式NTRU方案[HPS98]和在[Mic02]中启动的理论声音线相关),我们可以立即将上述密钥大小缩小至少200倍。由此产生的2-5千比特的大小可以与RSA的现代建议相媲美,而且密码系统本身在现代硬件上要快很多倍。

我们的方法:在这里我们简要总结了我们的方法和主要结论。我们的方法涉及到一个特定的随机格族的基归约的专门研究,以及一个我们所知的在先前的分析中没有考虑的后归约解码算法。(关于我们与先前工作相关的方法的讨论,请参见第1.2节。)

  Ajtai[Ajt96]提出的基于格的密码系统涉及一个所谓的q元格族,对于某些模q ≥ 2,它们是m维整数格,其中包含qZm作为子格。我们从基归约的运行时间和输出基的全局性质出发,研究了基归约在随机格上的表现。我们的实验给出了可靠的、理论上表现良好的关于基本质量的预测,这些预测可以通过各种计算努力获得。

  作为对格基归约分析的补充,我们描述了一种针对LWE问题search版本的后归约攻击,并根据给定的基质量在时间和对手优势(即成功概率)之间提供了精确的权衡。尽管我们攻击search-LWE问题,这并不是破坏大多数基于LWE的密码系统语义安全所必需的,但我们的完全攻击(对于密码学中使用的非常广泛的参数)比先前分析中考虑的对decision-LWE的自然区分攻击[MR09,RS10]更为可取。具体地说,我们的攻击可以解决search-LWE实例,从而解密密文,与区分攻击具有相同或更好的优势,同时使用质量较低的格向量,因此总运行时间要少得多。这种改进在高优势体制中尤其明显,在这种体制中,对手对解密的明文需要相对高的信任度,例如可能需要打破混合加密。

  我们的后归约攻击涉及Babai的“最近平面”算法[Bab85]的简单扩展,该算法允许我们将基本质量与解码时间进行权衡,据我们所知,解码时间尚未在密码分析上下文中进行探索。该扩展与Klein's(de)随机算法[Kle00]在有界距离解码中的应用有关,但它更简单,而且特别适合已知误差向量的高斯分布。正如我们已经指出的,质量/时间权衡会极大地影响解决LWE实例所需的基础质量,从而影响攻击的运行时间。

  最后,我们注意到我们的分析是完全模块化的,并且允许将改进的基归约算法(及其伴随的运行时和质量预测)替换为后归约攻击。

1.2 Related Work

  有几篇论文研究了格问题的具体困难性。在这里我们提到了与我们的工作最密切相关的那些,它们旨在计算基于格的密码系统的安全参数,并描述了最重要的区别。

  Gama和Nguyen[GN08]对各种格族的基归约行为进行了综合研究。他们的分析主要集中于Hermite-,Unique-,和Approximate-最短向量问题的最佳可获得的解决方案。Hermite SVP是我们工作和其他密码分析中的一个重要问题。虽然Gama和Nguyen没有试图记录随机q元格上的基归约行为(除了与Goldstein-Mayer分布密切相关的极大q),但我们的实验证实了他们对这个族的一些发现(正如[MR09]中的实验一样)。Gama和Nguyen的研究主要是为了预测基归约的行为,但没有包括运行时预测,也没有研究使用归约基来解决有界距离解码问题(如LWE),在LWE中可能有额外的算法思想和权衡。

  Micciancio和Regev的调查[MR09]提出了当代文献中各种基于格的方案的示例参数(它们的密钥比我们在这里描述的要大)。它们的参数是利用Gama和Nguyen关于获得各种Hermite因子的可行性的结论得出的,因此不包括对攻击运行时间或成功概率的具体估计。它们的安全性估计是通过在关联的格中找到一个相对较短的向量来使用LWE上的自然区分攻击来计算的;我们的攻击成功地使用了质量较低的向量,使其更加有效(应该注意的是,[MR09]中给出的示例参数已经知道最多只能提供中等安全性。)

  Rückert和Schneider[RS10]最近给出了许多最近基于格的方案的“对称比特安全性”的具体估计,包括随机q元格中各种Hermite因子的具体运行时估计。他们的分析使用了[MR09]中描述的一种允许的区别攻击形式,其中敌方优势约为2-72。这一小的优势并没有被纳入他们最终的比特安全性估计中,因此估计比我们的更保守,甚至没有考虑到search-LWE上优越的解码攻击。

  最后,我们注意到[MR09,RS10]中使用的针对LWE的最佳区分攻击可能并不总是适用于我们的密码系统,因为它的参数可以设置为使得发布的LWE样本相对较少,因此该攻击被迫使用次优格维数。我们在第5.1节和第6节中提供了更多细节。

2 Preliminaries

Gram-Schmidt正交化,正交化后的向量组中的向量两两正交,等价于一个唯一的分解B=QR,其中B是一个线性独立的向量组,Q满足QTQ=I,R为对角项为正的上三角矩阵。正交化的向量可以用Q中的对应的列与R中对应的对角项相乘得到。det(Λ)函数获取基B上的坐标Zm

2.1 Discrete Gaussians

  对于任意的s,都有一个拒绝采样算法(rejection sampling algorithm),并且对小s,可以计算累积分布函数的近似逼近。

  拒绝采样算法原理参见https://blog.csdn.net/jteng/article/details/54344766

2.2 Learning with Errors

3 LWE-Based Encryption

  在这里,我们描述了一个基于LWE的密码系统,它比文献中常见的密码系统更节省空间。这是Micciancio[Mic10]描述的抽象系统的一个实例,它概括了[Reg05,PVW08,GPV08]的所有方案,尽管文献中没有对广义系统的完整描述和分析。安全性证明结合了最近工作中的许多技术和观点[MR09,LPS10,Pei10],目的是提高效率和进行严密的分析。为了完整起见,我们还简要描述了一个有效的基于环的系统模拟,这在完整版本的[LPR10]中有全面的通用性描述。

  尽管是先前基于LWE的密码系统的一个推广,但是本方案实际上可以通过一个约为lg q的因子被实例化为具有较小密钥和密文,同时提高具体的安全性!改进的安全性来自于较小的密钥(对于给定的安全参数n),这允许相对较大的噪声率,使得LWE问题更加困难。较小的密钥来自不同类型的安全性证明,这与Alekhnovich的基于编码的密码系统[Ale03]和Lyubashevsky、Palacio和Segev的基于子集和的密码系统[LPS10]的证明非常相似。简言之,该证明两次使用LWE假设(首先对公钥,然后对密文)来表明对手在被动攻击中的观点与均匀随机是不可区分的。相比之下,以前基于LWE的方案的证明涉及公钥或密文的统计参数,但这需要更大的密钥我们指出,统计参数对于LWE的许多高级应用仍然是必要的,例如基于身份的加密[GPV08]和其他使用“trapdoor basis”的应用,我们不知道这些方案是否可以获得相对较小的密钥和密文。

3.1 Cryptosystem

(未完待续)

Better Key Sizes (and Attacks) for LWE-Based Encryption的更多相关文章

  1. Privacy-Preserving Deep Learning via Additively Homomorphic Encryption

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Full version of a paper at the 8-th International Conference on Appli ...

  2. Trapdoors for Hard Lattices and New Cryptographic Constructions

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 以下是对本文关键部分的摘抄翻译,详情请参见原文. Abstract 我们展示了如何构造各种“trapdoor”密码工具,假设标准格问题的最 ...

  3. RSA key lengths

    RSA key lengths From http://www.javamex.com/tutorials/cryptography/rsa_key_length.shtml When you cre ...

  4. TEA encryption with 128bit key

    If anyone needs some basic encryption in software, here's one solution. This TEA implementation fits ...

  5. SSL握手步骤【收藏】

    http://www.codeweblog.com/ssl-handshake-process-of-interaction-and/ SSL to send a message in the fol ...

  6. https那些事儿

    (一)SSL/TLS协议运行机制的概述 一.作用 不使用SSL/TLS的HTTP通信,就是不加密的通信.所有信息明文传播,带来了三大风险. (1) 窃听风险(eavesdropping):第三方可以获 ...

  7. [转]OpenVPN官网的HOWTO

    因为墙的原因,打不开.特此转一下: HOWTO Introduction OpenVPN is a full-featured SSL VPN which implements OSI layer 2 ...

  8. emSecure Use Digital Signatures to protect your products

    emSecure Use Digital Signatures to protect your products emSecure is an RSA based software solution ...

  9. OPENVPN2.3配置文档官方说明

    openvpn Section: Maintenance Commands (8)Index NAME openvpn - secure IP tunnel daemon. SYNOPSIS open ...

随机推荐

  1. Python之数据结构:列表、元组、字典、set

    列表 列表里可以存储任意的数据类型.可修改的结构,用[ ]括起来表示或用函数list()构建. eg: y = [1,1.5,'hello',True] 列表还可以嵌套列表 eg: y = [1,1. ...

  2. Numpy修改数组中的元素值

    import numpy as np x = np.arange(8) # [0 1 2 3 4 5 6 7] # 在数组尾部追加一个元素 np.append(x,10) # array([ 0, 1 ...

  3. PHP Session 变量

    PHP Session PHP session 变量用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置.Session 变量存储单一用户的信息,并且对于应用程序中的 ...

  4. 用 Python 制作关不掉的端午安康弹窗

    端午节又称端阳节.龙舟节.重午节.龙节.正阳节.天中节等,端午节源自天象崇拜,由上古时代祭龙演变而来,因传说战国时期的楚国诗人屈原在五月五日跳汨罗江自尽,后来人们亦将端午节作为纪念屈原的节日,在端午节 ...

  5. three.js 着色器材质之变量(二)

    上一篇郭先生在例子中用到了着色器变量中的uniform和varying.这篇继续结合例子将一下attribute变量,在使用过程中也发现由于three.js的版本迭代,之前的一些属性和参数已经发生了改 ...

  6. 理解HTTP的POST和PUT的区别

    1.HTTP Methods HTTP Methods GET POST PUT HEAD DELETE PATCH OPTIONS GET is used to request data from ...

  7. Java高级篇反射和注解

    反射是什么? 反射的作用?能带来什么好处? 反射的使用? 注解的使用? 注解和反射配合实战...

  8. SSM框架入门——整合SSM并实现对数据的增删改查功能(Eclipse平台)

    一.搭建框架环境 整个项目结构如下: 搭建SSM步骤如下: (1)准备好三大框架的jar包,如图所示 (2)在Eclipse中创建一个web project ,并把这些jar包粘贴到lib文件夹中. ...

  9. 使用 .NET Core 3.x 构建 RESTFUL Api

    准备工作:在此之前你需要了解关于.NET .Core的基础,前面几篇文章已经介绍:https://www.cnblogs.com/hcyesdo/p/12834345.html 首先需要明确一点的就是 ...

  10. Vue 事件的$event参数=事件的值

    template <el-table :data="dataList"> <el-table-column label="id" prop=& ...