法律状态公告日
法律状态信息
法律状态
2017-12-01
授权
授权
2015-04-01
实质审查的生效 IPC(主分类):H04L9/08 申请日:20130411
实质审查的生效
2015-03-04
公开
公开
背景技术
本申请拥有在2012年4月12日提交的美国临时专利申请(题目:安全通信 和安全信息系统的新方法,序列号:61623272)中的发明优先权,其中包括完整 的参考资料,适用于所有目的.
本发明是有关密码系统设计,尤其是,密钥交换系统(KE),密钥分配系统 (KD)和基于身份的加密系统(IBE),本质上都是基于相同的数学原理,即有错配 对原理.
在现代通信系统中,如互联网、手机等,出于对保护通信信息的秘密性考虑, 我们需要对信息进行加密.目前有两种不同的加密方法.第一,用对称密码系 统加密信息,此时,发送方用于加密的密钥与接收方用于解密的密钥相同.对 称密码系统要求发送方和接收方有一个安全的渠道来交换共享密钥.因为在开 放的通信渠道中,没有可信的第三方来交换密钥,所以需要用某种方法在对开放 的渠道中交换密钥.此外,在一个有中央服务器的系统中,如电话公司的手机 服务系统,需要一个有效的和可以扩展的密钥分配系统,使得任意两个用户都 可以利用通过中央服务器所建的密钥分配系统获得一个共享密钥.因此,建立 安全有效的密钥交换系统和密钥分配系统是十分重要和必要的.第一个密钥交 换系统由Diffie和Hellman[DiHe]提出,该系统的安全性基于离散对数问题 的困难性.Shor[SHO]的工作表明,该系统可以被将来的量子计算机攻破.目前 有许多密钥分配系统,包括利用二次型对的密钥分配系统[BSHKVY]和基于椭圆 曲线上的双线性型对的密钥分配系统(美国专利7,590,236).但是,现有的系 统存在计算效率或可扩展性方面的问题,如基于椭圆曲线上的双线性型对的密 钥分配系统的计算效率很低.
第二,利用非对称密码系统,即公钥密码系统加密.此时,接收方有一组 公钥和一组私钥,但发送方只有公钥.发送方利用公钥加密信息,接收方利用 私钥解密信息,只有私钥拥有方才能解密信息.在通常的公钥系统中,我们需 要认证公钥,因此每一个公钥需要有一个认证证书,即一个由可信的权威中心 提供的数字签名.证书用来确认公钥是否属于合法的使用方,即信息接收方. 为了让公钥加密系统完全可用,我们需要一个称为公钥基础设施的系统.
1984年,Shamir提出了另外一种公钥加密系统[SHA].在此密码系统中,一 个人或实体的公钥,由一个能够唯一识别个人或实体的信息的公开算法生成. 例如,对一个人来说,这些信息可能包括姓名、住址、生日、指纹信息、电子邮 箱、社会安全号等.由于公钥是由可以识别个人的信息决定的,所以这类公钥密 码系统被称为基于身份的加密系统(IBE).
基于身份的公钥加密系统并不多,目前正在使用的是Boneh和Franklin 发明的基于椭圆曲线上的双线性型对的基于身份的加密系统(美国专利: 7,113,594).在基于身份的加密系统中,发送方用基于接收方身份的公钥加密 信息.接收方用其私钥解密信息.接收方从一个中央服务器获得私钥,其中中 央服务器有一个生成和分配私钥给合法用户的系统.基于身份的加密系统不需 要发送方搜索接收方的公钥,发送方利用鉴别接收者身份的信息,如电子邮箱、 身份证号或其他信息等,从基于身份的加密系统中可获得任意接收者对应的公 钥.现有的基于身份加密系统复杂,且计算效率不高.并且这些基于椭圆曲线 上的双线性型对的加密系统可被量子计算机攻破.此外,还有一些基于格理论 的构造[ABB][ABVVW][BKPW],但在实际应用中,这些都是相当复杂的系统.因 而设计安全有效的基于身份的加密系统是十分重要和必要的.
显然,在实际应用中,我们仍然需要更有效和更安全的KE,KD和IBE系 统.
发明内容
本发明首次提出了一种用于开放渠道中新的安全的密钥交换方法.这种方 法基于用不同的方法计算相同的双线性型,其中每种不同的计算方法会产生一 些错误.在密钥交换过程中,交换双方A,B各自保密选择一个私钥矩阵SA,SB其中矩阵的元素是小的且服从某种的错误分布,然后任意选择一个公开矩阵M. 密钥交换双方用各自的私钥矩阵与公开矩阵M相乘,但有些错误,交换相乘后 的矩阵,用基于M的同一个双线性型、两种不同的方法、并加入一些错误计算一 对SA,SB的配对这种数学计算被称为有错配对.共享密钥来自于有错配对.此 方法可以看做错误学习思想的拓展,该思想在2005年被Regev发现[Reg].本系 统的安全性依赖于某个可用数学证明的格问题的困难性[DiLi].本系统只涉及 矩阵乘法,因而计算效率极高.本系统还可以抵御将来的量子计算机攻击.
本发明第二项内容包括建立密钥分配系统的新方法.在本系统中,中央服 务器或权威机构以矩阵Ai的形式分配给每个用户一个公开的ID,或者以矩阵Ai的形式为每个用户建立一个ID,其中Ai的元素是小的并服从某种错误分布,这 些错误信息可以唯一识别被所有者.此外,中央服务器或权威机构给每个用户分 配一个私钥,这个私钥是矩阵M与ID矩阵Ai的乘积.然后任意两个用户可以用 相同的二次型不同的方式和某些错误计算用户两个ID矩阵对,从而获得共享密 钥.此方法可以视为错误学习思想的拓展,该思想在2005年被Regev发现[Reg]. 本系统的安全性依赖于有错配对相关问题的困难性.本系统只涉及矩阵乘法, 因而计算效率极高.本系统还可以抵御将来的量子计算机攻击.
本发明的第三项内容包括建立基于身份的加密系统的新方法.在本系统中, 中央服务器或权威机构以矩阵Ai的形式分配给每个用户一个公开的ID,或者以 矩阵Ai的形式为每个用户建立一个ID,其中Ai的元素是小的并服从某种错误分 布,这些错误信息可以被所有者唯一识别.系统给每个用户一个私钥Si,私钥是 由ID矩阵与系统密钥矩阵S(有错)相乘而得,而这里的错误矩阵与系统公钥矩 阵M相关.中央服务器或权威机构通过M和S相乘建立另一个密钥M1,其中矩阵 相乘时加入一些错误.任意一个用户希望发送给另一个用户i一个信息,可以计 算用户i的公钥,用户i的公钥由M和矩阵对M和Ai有错组成.然后用基于MLWE问 题的加密系统加密信息,用户i用密钥Si解密信息.此方法可以看为错误学习思 想的拓展,该思想在2005年被Regev发现[Reg].本系统的安全性依赖于某个可 用数学证明的格问题的困难性[DiLi].本系统只涉及矩阵乘法,因而计算效率 极高.本系统还可以抵御将来的量子计算机攻击.
在我们的构造中,可以用格理想的元素代替矩阵,我们还可以利用其他舍 入技术.本系统可以以分布式的方式使多个服务器同时服务,即建立分布式的 KD和IBE系统.
总之,我们用相同的数学原理建立安全有效的KE,KD和IBE系统,该原 理可以看成LWE问题的扩展.
虽然本发明是用具体的实例描述的,但是显然对那些熟悉密码学技术的人 来说,可以很容易根据我们的具体实例变型、替换和修改.因此本文档里的实例 仅仅是示范性的,本发明并非局限于此,各种在本发明精神和范围的变化都在 本发明的优先权请求之内.本发明基本基于在2012年4月12日提交的美国临时 专利申请(题目:安全通信和安全信息系统的新方法,序列号:61623272),只 增加了技术细节。
具体实施方式
1.1有错配对理论基础
2005年,Regev在[Reg]中介绍了错误学习理论问题,和以后作为该理论的 拓展的在环上的错误学习理论(RLWE)问题[LPR],它们被广泛的应用于密码学设 计,并有可证明安全的性质,原因在于它们可以归结为某个最坏情形的格上的 问题,因而可用于密码设计.
LWE问题描述如下,首先,我们需要有一个参数n,q个元素的有限环或有 限域Fq上的错误概率分布κ.为简单起见,不妨设q是奇素数,但通过微小的 变更,我们的发明可用于其他整数.
Fq中的元素可用集合{-(q-1)/2,..,0,...,(q-1)/2}描述.错误分布指 的是以很高的概率选择Fq中较小数的概率分布.有较多这样的分布选择并且分 布选择直接影响系统的安全性.我们必须选择一个好的错误概率分布使得系统 更有效更安全.
令∏Sκ为Fq上的一个概率分布,此分布通过以下方式获得,从中任意 选择A,然后再从Fq中按照分布κ选择元素e,最后得到(A,<A,S>+e),其 中+指的是Fq上的加法.对任意的和∏Sκ任意独立样本,解决关于q和分 布κ的LWE问题的算法以很高的概率输出S.
为了完成基于LWE问题的密码设计的安全性证明,设q是关于n的特殊的 多项式函数,记为q(n).设κ是一个离散的正态分布,期望为0,标准差为 将此分布另记为κσ.的元素表示为[-(q-1)/2,(q-1)/2)]中 的整数.
在最初的基于LWE问题的加密系统中,一次只能加密一位,因此该系统是 相当低效率的,并且密钥很大.为了进一步改进基于LWE问题的密码系统的效 率,文献[LPR]提出了基于多项式环Fq[x]的商环的LWE问题,即(RLWE)环问题. 在基于RLWE问题的密码系统中,它们的安全性归结为格的子类的困难性问题, 用格理想的类代替通常的格.
随后,文献[ACPS]提出了LWE的变种.我们用m×n矩阵A代替向量A,S是 n×1矩阵,使得矩阵乘法A×S相容.e也用m×1矩阵代替.但仍然用q个元 素的有限域.
为简化说明起见,设A是n×n方阵,S和e是n×1矩阵.
令是Fq上的概率分布,任意选择一个n×n矩阵A,矩阵A的元素属于 Fq,以某种错误分布κn任意选择e的元素,其中e是n×1矩阵.例如,每个元 素分别按照错误分布κ任意选择.输出(A,A×S+e),其中+指的是Fq上的加 法.一个解决关于q和错误分布κ的LWE问题的算法,如果对任意的和 任意独立样本,以很高的概率输出为S.
若S的元素较小,且S的元素独立地按照错误分布κn选择,称为LWE问题 (SLWE).如果A为对称矩阵,称为小对称LWE(SSLWE).如果秘密矩阵S的元素 是从-z,…,0,1,…,z(z是小正整数)中任意独立地选择的,称为均匀小LWE问 题(USLWE).
在实际应用中,S和e的元素可以用不同的分布选择.
由[ACPS]的结果可知,如果密钥S和e的元素根据同一个LWE错误分布κσ独 立选择,那么解决对应的LWE问题的困难性与解决任意选择密钥S的LWE问题 的困难性相同.这意味着解决SLWE问题的困难性与解决与之相对应LWE问题的 困难性相同.RLWE问题的情形与之 相似,如果能够解决密钥元素比较小的环上的LWE问题,那么也能解决对应的 LWE问题.
我们进一步将此问题扩展到矩阵的形式.
令为Fq上的概率分布,此分布通过以下方式获得,任意选择一个 n×n矩阵A,阵A的元素属于Fq,任意选择n×n矩阵e,e的元素属于Fq且服从 分布例如,每个元素分别按照错误分布κ任意选择.输出(A,A×S+e), 其中+指的是上的加法.一个解决关于q和错误分布的LWE问题的算法, 如果对任意的n×n矩阵和为任意独立样本,以很高的概率输出为S.
我们记矩阵形式的LWE问题为(MLWE).如果S的元素较小,S的元素独立地 按照错误分布选择,我们称之为小矩阵MLWE问题,记为(SMLWE).如果A为 对称矩阵,称为小对称MLWE问题,记为SSLWE.如果秘密矩阵S的元素是从 -z,…,0,1,…,z(z是小正整数)中任意独立地选择的,称为均匀小MLWE问题,记 为USMLWE.所谓MLWE问题可以看成n个LWE问题的叠加,然后以矩阵形式共享 密钥.因此它与对应的LWE问题的困难性相当.
对于S和e元素的选择,我们可以选择不同的分布.
我们的设计的一个数学原理是矩阵乘法的结合律,即对矩阵A,B,C,有
A×B×C=(A×B)×C=A×(B×C).
从数学的角度,这可看成双线性对——矩阵A得行向量与矩阵C的列向量的双线 性对的计算.
对于以某种错误分布选择的元素较小的矩阵A和B,我们不是直接相乘, 而是按以下步骤计算,首先计算
AB+Ea,
然后计算
(AB+EA)C或者(AB+EA)C+EAC,
或者计算
BC+EC,
最后计算
A(BC+EC)或者(AB+EA)C+EBC,
其中EA,EB,EAC,EBC是元素较小的矩阵,选择矩阵的错误分布可以相同也可以 不同.于是,我们有两种不同的方式计算矩阵乘法ABC,计算时有些错误.我们 称此为有错配对计算.我们的所有设计都基于有错配对和这样的事实——即如 果A和C的元素较小,那么任意两个不同的对相近.
我们可以证明MLWE问题的困难性与对应的LWE问题的困难性相同。这是 我们的设计可证明安全性的基础.
1.2基于有错配对的新的密钥交换系统的设计
在开放的通信信道中,Alice(A)和Bob(B)决定交换密钥.这意味着 通信信道对任何人开放,包括恶意的攻击者.为简便起见,我们假设本节中的 所有矩阵都是n×n方阵.实际应用时,所选的矩阵不必是方阵,但必须保证 所选矩阵可以相乘.
密钥交换的详细步骤.
(1)Alice和Bob首先公开选取Fq,n和在Fq上的任意矩阵M,其中q是关 于n的多项式,例如
q≈n3,错误分布是关于Fq上的n×n矩阵的错误分布,例如每一个部 分错误分布与LWE情形时的离散错误分布κσ相似,即Fq上的中心为零方 差为的离散正态分布.再选择并公开小素数t(t<<n).
(2)双方按照错误分布选择n×n密钥矩阵Si(i=A,B)和ei.
Alice计算
MA=MSA+teA
其中t是小整数(t<<n).
Bob计算
MB=MtSB+teB.
(3)双方在开放信道中交换矩阵Mi.这意味着Mi(i=A,B)是公开的,但Si和ei(i=A,B)是保密的.
(4)Alice计算:
Bob计算:
(5)双方运用舍入技术获得共享密钥:
(a)Bob将KB在[-(q-1)/4,(q-1)/4]中的元素的位置列出,记为T1, 将KB不在
[-(q-1)/4,(q-1)/4]中的元素的位置列出,记为T2.然后将表T1发送给Alice.
(b)对表T1的数,双方都计算它们除以t的余数;对表T2的数,加上 (q-1)/2后计算它们除以q的余数,然后再模t这样双方可以 得到共享密钥.
Alice和Bob可以通过KA,KB和舍入技术交换密钥的原因在于:ei和Si的 元素较小,从而导致KA,KB相近.我们称这样的密钥交换系统为SMLWE密钥交 换协议.我们还可以证明这个有效的系统的安全性[Dili].
从通信和计算效率的角度,本系统表现相当出色.双方只需要交换Fq上的 n2个元素,利用Strassen快速矩阵乘法进行大约2n2.8次计算,得到n2位bit 输出(如果t=2).
对于S和e元素的选择,我们可以选择不同的分布.
我们可以证明,如果选择相同的系统参数n和q和选择恰当的错误分布,矩 阵SLWE密钥交换协议是可证明安全的[DiLi].证明基于有错配对问题的困难 性.
假设给定
(1)n×n矩阵M,素数q,小正整数t,错误分布κn.
(2)
M′A=MS′A+teA,M′B=MS′B+teB,
其中ei是n×1向量,其元素服从错误分布κn,Si是n×1向量,其 元素服从相同的分布;
(3)已知
是否属于[-(q-1)/4,(q-1)/4];
我们的问题在于寻找一个算法得到:
K′A=(S′A)t×MB=(S′A)tMtS′B+t<S′A,eB>
其中,如果K′B的元素属于[-(q-1)/4,(q-1)/4]时,模t.否则K′A+(q- 1)/2首先模q,然后再模t.我们称这样的问题为有错配对问题(PEP).
安全性证明基于以下事实:SMLWE问题的困难性与SLWE问题相同.事实上 矩阵版本的SLWE问题实例可看为一组SLWE问题的叠加.
我们指出,如果选择的矩阵对乘法运算相容,那么可以选择长方矩阵设计 系统,但是必须选择恰当的参数确保系统安全.
同理,根据文献[LNV]对RLWE问题的描述,我们可以建立基于环错误问题 的密钥交换系统(RLWE)[LPR].
对RLWE问题,我们考虑环其中f(x)是上的n次多项式,为整环,q是素数.若q是奇素数,则的 元素表示为-(q-1)/2,...,-1,0,1,..,(q-1)/2,即可看成的元素.的元素 可以表示为n-1次单变量多项式,或该多项式系数向量.对的元素
a(x)=a0+a1x+…+an-1xn-1,
定义向量(a0,a1…,an-1)的范数l∞为:
‖a‖=max|ai|.
向量(a0,a1…,an-1)可以看成的元素,ai可看成的元素.经过微小的修改, q为偶数的情形与奇数的情形相似.
RLWEf,q,χ问题的参数为:次数为n的多项式f(x),素数q,上的错误分 布χ.
RLWEf,q,χ问题定义如下.
RLWEf,q,χ问题就是给定任意多项式实例
(ai,bi=ai×s+ei),
求的元素s的值.其中ei的选择服从错误分布χ.
RLWEf,q,χ问题的困难性基于bi在计算上的不可区分性.可以证明解决 RLWEf,q,χ问题可归结为用量子计算机解决相关参数的短向量问题.我们相信即 使是量子计算机,解决某些格问题的复杂度是指数的.
根据文献[ACPS]和[LPR],RLWEf,q,χ问题等价于一个变种,在这个变种中, s的选择服从错误分布χ,而不是从中任意选择,错误元素ei乘以某个小整数 t.
为了可证明安全性,我们需要考虑RLWE问题的特殊参数选择.
(1)我们选择f(x)为割圆多项式xn+1,其中n=2u;
(2)错误分布χ是离散的高斯分布其中
(3)q=1(mod 2n),q是关于n的多项式,q≈n3;
(4)t是小素数且t<<n<<q.
对于某些特别的应用,我们也可以选取其他特殊的参数.
在密钥交换系统RLWEf,q,χ中,有两个必不可少的要素,
(1)向量在标准差为σ的离散高斯分布的长度的上界为σn,即对分布χ的 任意样本,有
Pr(‖X‖)>σn)≤2-n+1.
(2)环上的乘法被界定在合理的范围内,即对有
‖X×Y(mod f(x))‖≤n‖X‖‖Y‖,
其中范数l∞定义如上.
RLWEf,q,χ系统环境如上,Alice(A)和Bob(B)在开放信道交换信 息步骤如下:
(1)Alice和Bob首先公开RLWEf,q,χ的所有参数:q(≈n3或者关于n 的多项式)、n、
f(x)、χ.并公开从中任意选择的元素M.
(2)双方按照错误分布选择自己的密钥si∈Rq,按照错误分布独立选择 ei∈Rq,但是加入一个小素数t(t<<n)Alice计算,
MA=SA M+teA
其中t是小素数(t<<n).
Bob计算
MB=SBM+teB.
(3)双方交换Mi.这意味着Mi是公开的,但si和ei必须保密.
(4)Alice计算:
KA=SA×MB=SA MSB+teBSB.
Bob计算:
KB=MA×SB=SA MSB+teASB.
(5)双方应用舍入(rounding)技术共享密钥,具体过程如下:
(a)Bob建立一张长为n的表,表格由(i,j)组成,其中i=0,…,n-1, 如果KB的xi的系数在集合[-(q-1)/4,(q-1)/4]中,那么 j=1,否则,j=0.
(b)Bob将建立的表格发送给Alice.双方计算表格(i,j)元素对应 KA和KB的元素除以t的余数如下:
1)如果j=1,则分别计算KA和KB第i个元素模t;
2)如果j=0,则KA和KB第i个元素首先加上(q-1)/2,然 后模q,使得第i个元素在集合[-(q-1)/4,(q-1)/4之中,最 后模t.
Si和ei可以使用不同的分布.
这样双方可以共享密钥.我们称此系统为RLWE密钥交换系统.此系统可 以将密钥交换失败的概率降到很低.环的交换律和结合律对本系统的设计 十分重要.
在安全性分析方面,于环上的PEP相似,本系统是可证明安全的.
假设给定
·M∈Rq,素数t,q和错误分布χ,分布参数与RLWEf,q,χ相同;
·
·已知KB=MA×SB=SA MSB+teASB的xi的系数是否在 [-(q-1)/4,(q-1)/4]之中;
环上的有错配对的问题(RPE),即找到某种算法以高概率计算KB(或KA)模 t或者KB+(q-1)/2(或KA+(q-1)/2)模q再模t.
基于RLWEf,q,χ问题的困难性的RLWE密钥交换系统是可证明安全的,证 明方法与SLWE密钥交换系统相似.
对相同的参数q和n本系统十分有效,因为可以用环上FFT型算 法快速进行乘法运算.
1.3基于有错配对的新的密钥分配系统的设计
在大型网络中,怎样给合法的用户分配密钥是一个关键的问题.通常,建 立一个真正有效且可扩展的密钥分配系统是十分困难的.例如,在文献[BSHKVY] 中提出的密钥分配系统,本质上,中心服务器的主密钥是一个n×n对称矩阵M, 用户的认证可以看成n个元素的行向量Hi.中心服务器给每个用户一个密钥 Hi×M.两个用户之间可获得共享密钥M的对称性质使得
但是,大量的用户可以合作,从而获得主密钥.如果敌手能够收集到足够多(n 个)的Hi×M.那么敌手也能得到主密钥M,从而将系统攻破.
我们可以建立一个基于有错配对的真正可扩展的密钥分配系统,此系统可 看成是以上方法与LWE思想的综合.
本系统建立在有限域Fq上,其中Fq的元素可以表示为-(q- 1)/2,...,0,...,(q-1)/2.令q≈n^3或者q是其他关于n的相似多项式函 数,令是n×n矩阵空间上的错误分布.例如,每个部分都服从κσ分 布的联合分布,其中κσ为前述LWE中的离散分布,即期望为0,标准差约为n 的离散正态分布.当然,分布的参数可以更改.
密钥分配系统建立步骤如下.
(1)中央服务器选择一个主密钥n×n矩阵S,矩阵的元素属于Fq,且
S=St.
(2)对每个用户i,中央服务器分配一个矩阵Ai(通常非对称)作为用户ID 矩阵,矩阵Ai服从错误分布ID矩阵是公开的,它也可以由用户可 以唯一识别的信息,如电子邮箱、姓名等生成.
(3)对每个用户,服务器分配一个安全的密钥:
Ei=AiS+tei,
其中ei是一个非对称矩阵且服从错误分布
两个用户i和j想获得共享密钥,用户i计算
用户j计算
此步骤是可行的,因为ID矩阵是公开的.可以通过以下步骤获得共享密钥.
·当用户j想和用户i建立共享密钥时,用户j选出Kj在集合 (-(q-1)/4,(q-1)/4)中的所有元素,包括它们在矩阵的位置,并且,在集 合中的元素标记为1,不在集合中的元素标记为0.然后用户j把这些元素的位 置(不发送元素值)以表格的形式发送给用户i,用户i按照接收到的表格,从自 己的矩阵Ei×Ai中选出表格对应位置的元素.于是用户i和j拥有了同一 张表格,即矩阵元素的位置,从而也可以知道自己的矩阵中对应的元素.对于 标记为1的元素,双方计算对应元素除以t的余数;对于标记为0的元素,双 方用该元素加上(q-1)/2后再模t.从而得到共享密钥.
由于S是对称矩阵,我们有
因而对用户j,可得
两个用户计算上的不同点在于:
两者的不同是很小的,这是因为t是很小的,且和也是很小的, 事实上ei,ej Ai和Aj全是很小的.再通过舍入技术,我们能够给用户i和j 共同的密钥,从而建立密钥分配系统.
因为矩阵teiAj和的错误项是很小的,AiSAj中标记为1的元素几 乎全部属于[-(q-1)/4,(q-1)/4].因而错误项不会导致AiSAj的元素值超出 (-(q-1)/2或(q-1)/2),即加上错误项后,我们仍然不需要模q元素. 标记为0的情况也一样.这就确保双方可以共享密钥.
从Ki,Kj的构造可知,Ki和Kj的元素服从均匀分布.用户j每次根据 矩阵Kj构造的表格长度达n2.因而如果适当选择n,本系统能提供足够的共 享密钥位.
当然,我们也可以构造非对称矩阵情形的密钥分配系统,此时,服务器需 要多计算一些矩阵,如AiS+e和因此,非对称矩阵情形的密钥 分配系统效率没有对称的情形高.
另一方面,因为RLWE问题可以看成基于矩阵的LWE的特殊版本,所以我们 可以用相同的方式通过RLWE建立密钥分配系统.
我们接下来研究本密钥分配系统为何可以扩展的.显然,每个用户都有Ai和Ei=AiS+tei对,许多用户通过合作可以得到许多对,恢复主密钥矩阵S就 是要解决对应的MLWE问题,但是,主密钥矩阵S为对称矩阵的情况除外.因 为给定一个LWE问题,通过对称矩阵,我们可以将它转化为MLWE问题,所以不 难证明MLWE问题于LWE问题的困难性相同.所以本系统是可扩展的.
在本系统的安全性证明方面,与文献[DiLi]的证明方法相似,我们也可以 证明本系统是安全的.
综上所述,因为RLWE可以看成特殊的MLWE,所以我们可以利用RLWE建 立十分简单的密钥分配系统.
我们首先选择环为了保障系统的可证明安全性, 我们必须恰当的选择参数n,q,例如,n=2k,q=1mod(2n)[LPR].对于本 系统的可证明安全性,我们按照文献[LPR]来设置参数和错误分布χ.
本设计基于前面的系统.假设我们定义了一个环Rq,且环服从错误分布χ, 则环Rq上的错误学习问题定义如下:
给定对(A,E),其中
E=A×S+te′,
e′的元素属于R且服从错误分布χ,t是小整数,S是固定元素,A是任意 选择的.环Rq上的错误学习问题就是求S的问题.
对中央服务器,我们建立简单的密钥分配系统如下.
(1)中央服务器按照均匀分布从Rq中任意选择M.
(2)对每个用户,中央服务器分配一个公开的ID Ai,其中Ai是Rq的小元 素,即服从错误分布χ.
(3)中央服务器给每个用户一个密钥:
Si=MAi+tei
其中ei服从错误分布χ.
(4)如果用户i和j试图建立共享密钥,那么用户i可以用自身的密钥和 用户j的ID矩阵Ai与用户j建立共享密钥,为此,用户i计算
Ki=Aj×Si=AjMAi+tAjei
用户j计算
Kj=Ai×Sj=AjMAi+tAiej
应用舍入技术,共享密钥可通过以下方式获得:
(a)用户i建立一个长为n的表,表由对(a,b)组成,其中a=0,...,n- 1,如果Ki中xa的系数在集合[-(q-1)/4,(q-1)/4里,那么 b=1,否则b=0.
(b)用户i将上一步建立的表发送给用户j.对表中的元素(a,b),双方计 算表中的元素对应的Ki中的元素模t的值如下:
1)如果b=1,双方分别计算Ki和Kj的第a个元素模t的值;
2)如果$=0,Ki和Kj的第a个元素首先加上(q-1)/2,然后模 q,使其在[-(q-1)/4,(q-1)/4中,最后将所得值模t;
因为Ai是ei环Rq中的小元素,所以Ai×ei仍然是小的.这就保证可 以得到共享密钥并建立密钥分配系统.
在密钥分配的整个过程中,我们经常用到这样的一个事实:RLWE问题的 乘法可交换.
我们构造的系统的特点是:简单,直接.它的安全性证明也是显然的.
1.4基于有错配对的基于身份加密系统的设计
我们首先建立基于MLWE的公钥加密系统.为了建立加密系统,我们选择 的参数如前述,q≈n3或n4或其它关于n的多项式,错误分布为例如, 每个部分都服从κσ分布的联合分布,其中κσ为前述LWE中的离散分布,即期望 为0,标准差约为的离散正态分布,为了方便证明安全性,我们也可以选择 高维高斯正态分布.当然,分布的参数可以更改.
选择这些参数后,与MLWE情形相似,我们可以建立加密系统,步骤如 下:
(1)选择n×n矩阵S,使得S的元素服从错误分布例如,S的每个元 素依据分布κσ独立地任意地选择.
(2)在MLWE环境下,我们可以得到一对输出(A,E),其中
E=A×S+e,或E=A×S+te,
且t是小整数,t<<n,这对输出(A,E)就是系统的公钥,其中e服从某 种错误分布,例如前述分布.
(3)S是系统的私钥.
(4)消息m用n×n矩阵表示,矩阵的元素为0,1或者模t的剩余类环 0,1,...,t-1.
(5)发送者选择一个n×n矩阵B,矩阵B的选法与S相同,即服从错误分 布例如,B的每个元素依据分布κσ独立地任意地选择.发送者加密 信息如下:
(D1,D2)=(B×A+e1,B×E+e2+m(q/2)),
(D1,D2)=(B×A+te1,B×E+te2+m),
其中e1和e2是错误矩阵,它们的选择方式与e相同,即按照某错误分布 独立地任意地选择.
(6)合法的解密者解密信息如下:计算
其中每一个运算都在Fq中进行,矩阵的元素如果接近0,则输出0;如 果接近(q-1)/2,则输出1;或者按照实数域上的除法,将矩阵元素除 以(q-1)/2,然后四舍五入输出0或1.最后的输出就是明文$m$;在第 二种情况下,合法解密者计算
D2-D1×S=(BE+te2+m-(BA+e1)S)=teE+te2-te1S+m,
然后模t.这样可得到明文m.
A,B,ei可以选择不同的分布.
对大数n,解密成功的概率很高,原因如下:
Be+e2-e1S可以看成错误项,它由任意变量的分布决定.与KE或KD系统的 情况相似,如果选择恰当的参数,那么解密成功,我们将得到长为n的明文. 第二种情形与此相似.
本加密系统的一大亮点在于位加密速度极快,因为在加密解密过程中,我 们可以用快速矩阵乘法[CW].
必须指出,矩阵乘法不可交换,所以两个元素相乘时,相乘顺序是十分重 要的,这一点与RLWE相关系统不同.
我们也可以类似地建立环上的LWE的加密系统(RLWE)[LPR],所有元素都 在环Rq中.于是有
E=A×S+te,
其中,t是小正整数,S服从错误分布因为
D2-D1×S
=BE+te2+m-(BA+t1e1)S
=B(AS+te)+te2+m-(BA+te1)S
=tBe+te2-te1S+m,
所以加密如下:
(D1,D2)=(B×A+te1,B×E+te2+m).
解密如下:
(BE+te2+m-B(AS+te1))(mod t).
因为错误项模t后是很小的所以我们可以得到明文.
对于MLWE问题,我们根据需要选择分布,使得系统是可证明安全的.
目前,有一些基于格相关问题(包括LWE问题)的基于身份的加密系统 [ABB],[ABVVW],[BKPW].但是这些系统都是十分复杂的.我们可以利用MLWE建 立基于身份的加密系统.
我们建立一个简单的基于身份的加密系统如下.
(1)中央服务器首先选择一个n×n矩阵S作为主密钥,其中S的元素是小的 并服从错误分布这与密钥交换系统和密钥分配系统相似.
(2)中央服务器任意选择一个可逆矩阵M,其中M服从均匀分布或相似的分 布.如果q足够大,那么M可逆的概率就很大,从而我们可以很容易找 的这样的可逆矩阵.然后中央服务器计算
M1=MS+te,
其中e的元素很小,并服从错误分布
(3)中央服务器公开M和M1作为公钥.
(4)对每一个用户,中央服务器分配一个ID矩阵Ai,其中Ai的元素是小的 并服从错误分布它可以由能够识别用户的信息生成.
(5)分配给每个用户一个密钥:
Si=SAi+tM-1ei,
其中ei的元素是小的并服从错误分布κ.诚然,这相当于给定
MSi=MSAi+tei,
因为M是公开的.
(7)由于任何人都可以利用ID矩阵Ai,故中央服务器可以为拥有ID矩阵Ai的 用户建立新公钥(Ai,Bi),其中
Ai=M,
Bi=M1Ai=MSAi+teAi,
利用此公钥和MLWE加密系统就可以加密任何信息.
此即为矩阵上的基于身份的加密系统.
S,Ai,ei,e可以服从不同的分布.
因为Ai和e的元素是小的,所以Ai×e的元素也是小的.此外我们还有
MSi-Bi
=M(SAi+tM-1ei)-MSAi-teAi
=MSAi+tMM-1ei-MSAi-teAi
=tei-teAi,
因为S,Ai,ei的元素是小的,所以ei-eAi和tei-teAi的元素也是小的.因此, 对于MLWE问题的输入对(Ai,Bi),Si是MLWE问题的解.所以Si是密钥,从而可以 用来加密.最后,我们必须选择恰当的参数确保系统安全.
本系统的特点是简单,直观.其安全性证明也是显然的.
我们可以将此设计扩展到RLWE问题.我们选择环Fq[x]/(xn+1).为了确 保安全性,我们必须选择恰当的参数,如n=2k,q=1mod(2n)[LPR].当然 我们也可以选择其他参数.
这个设计直接依赖于RLWE加密系统[LPR],即我们有一个环R,在环上恰 当定义错误学习问题如下:
对给定的对(A,E),其中E=AS+te′,A,S,e′的元素属于Rq且服从错误分布χ, t是小正整数,S是固定的,A服从均匀分布,关于环R的错误学习问题就是求等 式E=AS+te′,的解的问题.如前所述,我们可以利用RLWE问题[LPR]建立公 钥加密系统,其中A和E是公钥,S是私钥,S的元素是小的.我们可以利 用环LWE问题上的乘法是可交换的这一事实.
我们建立简单的基于身份的加密系统如下.
(1)中央服务器首先从R中选择S作为主密钥,其中S的元素是小的且服 从错误分布χ.
(2)中央服务器任意选择一个可逆矩阵M,其中M服从均匀分布或相似的分 布.如果q足够大,那么M可逆的概率就很大,从而我们可以很容易找 的这样的可逆矩阵.然后中央服务器计算
M1=MS+te,
其中e的元素很小,并服从错误分布χ.
(3)中央服务器公开M和M1作为公钥.
(4)对每一个用户,中央服务器分配一个ID矩阵Ai,其中Ai的元素是Rq中的小元素并服从错误分布χ.
(5)分配给每个用户一个密钥:
Si=SAi+tM-1ei,
其中ei的元素是R中的小元素并服从错误分布χ.诚然,这相当于给定
MSi=MSAi+tei,
因为M是公开的.
(6)由于任何人都可以利用ID矩阵Ai,故中央服务器可以为拥有ID矩阵 Ai的用户建立新公钥建立新公钥(Ai,Bi),其中
Ai=M,
Bi=M1Ai=MSAi+teAi,
利用此公钥和MLWE加密系统就可以加密任何信息.
此即为环上的基于身份的加密系统.
S,Ai,e,ei可以选择不同的分布.
因为Ai和e的元素是R中的小元素,所以Ai的元素也是R中的小元素. 又由于环是交换环,我们有
SiAi-B=SiM-Bi
=M(SAi+tM-1ei)-MSAi-Aite
=MSAi+tMM-1ei-MSAi-Aite
=te-tAiei,
所以ei-eAi和tei-teAi的元素也是小的.因此,对于MLWE问题的输入对 (Ai,Bi),Si是MLWE问题的解.所以Si是密钥,从而可以用来加密.最后,我们 必须选择恰当的参数确保系统安全.
我们可以用相同的方法建立一个分层的IBE系统,每个用户可以作为一个 中央服务器.
本系统的特点是简单,直接,高效.安全性证明也是显然的.
在上述建立在环的的有错配对的系统,可以用如下形式的多项式:
f(x)=∏fi(x)+g(x),
其中fi,g(x)是极其稀疏的,只包括少数非零项,如2或3个非零项.
利用此类多项式可以提高加密和解密的计算速度.
引用
[ABB]
S.Agrawal,D.Boneh,X.Boyen:Efficient Lattice(H)IBE in the Standard Model.In proceedings of Eurocrypt 2010,Lecture Notes in Computer Science, Volume 6110,pp.553-572,2010.
[ABVVW]S.Agrawal,X.Boyen,V.Vaikuntanathan,P.Voulgaris,H.Wee: Fuzzy Identity Based Encryption from Lattices.IACR Cryptology ePrint Archive 2011:414(2011)
[ACPS]B.Applebaum,D.Cash,C.Peikert,A.Sahai;Fast Cryptographic Primitives and Circular-Secure Encryption Based on Hard Learning Problems. Advances in Cryptology-CRYPTO 2009,Lecture Notes in Computer Science, Volume 5677pp 595-618,2009
[BKPW]M.Bellare,E.Kiltz,C.Peikert,B.Waters:Identity-Based (Lossy)Trapdoor Functions and Applications.In Proceedings of EUROCRYPT 2012,Lecture Notes in Computer Science,Volume 7237,pp 228-2452012.
[BSHKVY]C.Blundo,A.De Santis,A.Herzberg,S.Kutten,U.Vaccaro,M. Yung:Perfectly-Secure Key Distribution for Dynamic Conferences.in Advances in Cryptology--Crypto 92,Lecture Notes in Computer Science, Volume 740,pp 471-486,1993
[BKW]A.Blum,A.Kalai,and H.Wasserman.Noise-tolerant learning,the parity problem,
and the statistical query model.Journal of the ACM,50(4),pp506-19, 2003.
[COPP]D.Coppersmith,Shmuel Winograd,Matrix multiplication via arithmetic progressions,Journal of Symbolic Computation-Special issue on computational algebraic complexity archive 9(3),pp 251-280,1990
[DiHe]W.Diffie,M.Hellman,New directions in cryptography,IEEE Transactions on Information Theory 22(6),pp 644-54,1976.
[DiLi]J.Ding,X.Lin,A Simple Provably Secure Key Exchange Scheme Based on the Learning with Errors Problem,Cryptology ePrint Archive,Report 688,2012[LNV]K.Lauter,M.Naehrig,V.Vaikuntanathan,Can Homomorphic Encryption be Practical?,Cryptology ePrint Archive,Report 2011/405,2011,http://eprint.iacr.org,
[LPR]V.Lyubashevsky,C.Peikert,O.Regev,On ideal lattices and learning with errors over rings In Eurocrypt 2010
[REGEV]O.Regev,On lattices,learning with errors,random linear codes,and cryptography,in Proceedings of the 37th Annual ACM Symposium on Theory of Computing–STOC 05,ACM,pp 84-93,2005
[SHA]A.Shamir,Identity-based cryptosystems and signature schemes,in Advances in Cryptology--Crypto'84,Lecture Notes in Computer Science, Vol.196,Springer-Verlag,pp.47-53,1984
[SHO]P.Shor,Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer,SIAM Journal of Computing 26, pp.1484-1509,1997.
[STR]V.Strassen,Gaussian Elimination is not Optimal,Numer.Math.13, p.354-356,1969
机译: 使用错误配对的新密码系统
机译: 使用错误配对的新密码系统
机译: 使用错误配对的新密码系统