基于有错配对的新密码系统的制作方法

文档序号:7792435阅读:306来源:国知局
基于有错配对的新密码系统的制作方法
【专利摘要】本发明建立了新的密钥交换系统,密钥分配系统,基于身份的加密系统.这些系统基于相同的数学原理,即有错配对原理.有错配对原理可以看成LWE问题的拓展.这些新系统效率高,安全性好,可以证明安全,能够抵御量子计算机攻击。
【专利说明】基于有错配对的新密码系统

【背景技术】
[0001] 本申请拥有在2012年4月12日提交的美国临时专利申请(题目:安全通信和安 全信息系统的新方法,序列号:61623272)中的发明优先权,其中包括完整的参考资料,适 用于所有目的.
[0002] 本发明是有关密码系统设计,尤其是,密钥交换系统(KE),密钥分配系统(KD) 和基于身份的加密系统(IBE),本质上都是基于相同的数学原理,即有错配对原理.
[0003] 在现代通信系统中,如互联网、手机等,出于对保护通信信息的秘密性考虑,我 们需要对信息进行加密.目前有两种不同的加密方法.第一,用对称密码系统加密信息, 此时,发送方用于加密的密钥与接收方用于解密的密钥相同.对称密码系统要求发送方 和接收方有一个安全的渠道来交换共享密钥.因为在开放的通信渠道中,没有可信的第 三方来交换密钥,所以需要用某种方法在对开放的渠道中交换密钥.此外,在一个有中央 服务器的系统中,如电话公司的手机服务系统,需要一个有效的和可以扩展的密钥分配 系统,使得任意两个用户都可以利用通过中央服务器所建的密钥分配系统获得一个共享 密钥.因此,建立安全有效的密钥交换系统和密钥分配系统是十分重要和必要的.第一个 密钥交换系统由Diffie和Hellman[DiHe]提出,该系统的安全性基于离散对数问题的困难 性.Shor[SH0]的工作表明,该系统可以被将来的量子计算机攻破.目前有许多密钥分配 系统,包括利用二次型对的密钥分配系统[BSHKVY]和基于椭圆曲线上的双线性型对的密 钥分配系统(美国专利7,590, 236).但是,现有的系统存在计算效率或可扩展性方面的问 题,如基于椭圆曲线上的双线性型对的密钥分配系统的计算效率很低.
[0004] 第二,利用非对称密码系统,即公钥密码系统加密.此时,接收方有一组公钥和 一组私钥,但发送方只有公钥.发送方利用公钥加密信息,接收方利用私钥解密信息,只 有私钥拥有方才能解密信息.在通常的公钥系统中,我们需要认证公钥,因此每一个公钥 需要有一个认证证书,即一个由可信的权威中心提供的数字签名.证书用来确认公钥是否 属于合法的使用方,即信息接收方.为了让公钥加密系统完全可用,我们需要一个称为公 钥基础设施的系统.
[0005] 1984年,Shamir提出了另外一种公钥加密系统[SHA].在此密码系统中,一个人 或实体的公钥,由一个能够唯一识别个人或实体的信息的公开算法生成.例如,对一个 人来说,这些信息可能包括姓名、住址、生日、指纹信息、电子邮箱、社会安全号等.由于公 钥是由可以识别个人的信息决定的,所以这类公钥密码系统被称为基于身份的加密系统 (IBE).
[0006] 基于身份的公钥加密系统并不多,目前正在使用的是Boneh和Franklin发明 的基于椭圆曲线上的双线性型对的基于身份的加密系统(美国专利:7, 113, 594).在基于 身份的加密系统中,发送方用基于接收方身份的公钥加密信息.接收方用其私钥解密信 息.接收方从一个中央服务器获得私钥,其中中央服务器有一个生成和分配私钥给合法用 户的系统.基于身份的加密系统不需要发送方搜索接收方的公钥,发送方利用鉴别接收者 身份的信息,如电子邮箱、身份证号或其他信息等,从基于身份的加密系统中可获得任意 接收者对应的公钥.现有的基于身份加密系统复杂,且计算效率不高.并且这些基于椭圆 曲线上的双线性型对的加密系统可被量子计算机攻破.此外,还有一些基于格理论的构造 [ABB] [ABVVW] [BKPW],但在实际应用中,这些都是相当复杂的系统.因而设计安全有效的 基于身份的加密系统是十分重要和必要的.
[0007] 显然,在实际应用中,我们仍然需要更有效和更安全的KE,KD和IBE系统.


【发明内容】

[0008] 本发明首次提出了一种用于开放渠道中新的安全的密钥交换方法.这种方法基 于用不同的方法计算相同的双线性型,其中每种不同的计算方法会产生一些错误.在密钥 交换过程中,交换双方A,B各自保密选择一个私钥矩阵S A,Sb其中矩阵的元素是小的且服 从某种的错误分布,然后任意选择一个公开矩阵M.密钥交换双方用各自的私钥矩阵与公 开矩阵M相乘,但有些错误,交换相乘后的矩阵,用基于M的同一个双线性型、两种不同 的方法、并加入一些错误计算一对S A,Sb的配对这种数学计算被称为有错配对.共享密钥 来自于有错配对.此方法可以看做错误学习思想的拓展,该思想在2005年被Regev发现 [Reg].本系统的安全性依赖于某个可用数学证明的格问题的困难性[DiLi].本系统只涉 及矩阵乘法,因而计算效率极高.本系统还可以抵御将来的量子计算机攻击.
[0009] 本发明第二项内容包括建立密钥分配系统的新方法.在本系统中,中央服务器或 权威机构以矩阵A i的形式分配给每个用户一个公开的ID,或者以矩阵Ai的形式为每个用 户建立一个ID,其中A i的元素是小的并服从某种错误分布,这些错误信息可以唯一识别 被所有者.此外,中央服务器或权威机构给每个用户分配一个私钥,这个私钥是矩阵M与 ID矩阵Ai的乘积.然后任意两个用户可以用相同的二次型不同的方式和某些错误计算用 户两个ID矩阵对,从而获得共享密钥.此方法可以视为错误学习思想的拓展,该思想在 2005年被Regev发现[Reg].本系统的安全性依赖于有错配对相关问题的困难性.本系统 只涉及矩阵乘法,因而计算效率极高.本系统还可以抵御将来的量子计算机攻击.
[0010] 本发明的第三项内容包括建立基于身份的加密系统的新方法.在本系统中,中央 服务器或权威机构以矩阵Ai的形式分配给每个用户一个公开的ID,或者以矩阵Ai的形式 为每个用户建立一个ID,其中Ai的元素是小的并服从某种错误分布,这些错误信息可以 被所有者唯一识别.系统给每个用户一个私钥S i,私钥是由ID矩阵与系统密钥矩阵S (有 错)相乘而得,而这里的错误矩阵与系统公钥矩阵M相关.中央服务器或权威机构通过M 和S相乘建立另一个密钥M1,其中矩阵相乘时加入一些错误.任意一个用户希望发送给另 一个用户i 一个信息,可以计算用户i的公钥,用户i的公钥由M和矩阵对M和Ai有错 组成.然后用基于MLWE问题的加密系统加密信息,用户i用密钥S i解密信息.此方法可 以看为错误学习思想的拓展,该思想在2005年被Regev发现[Reg].本系统的安全性依赖 于某个可用数学证明的格问题的困难性[DiLi].本系统只涉及矩阵乘法,因而计算效率极 高.本系统还可以抵御将来的量子计算机攻击.
[0011] 在我们的构造中,可以用格理想的元素代替矩阵,我们还可以利用其他舍入技 术.本系统可以以分布式的方式使多个服务器同时服务,即建立分布式的KD和IBE系统.
[0012] 总之,我们用相同的数学原理建立安全有效的KE,KD和IBE系统,该原理可以看 成LWE问题的扩展.
[0013] 虽然本发明是用具体的实例描述的,但是显然对那些熟悉密码学技术的人来说, 可以很容易根据我们的具体实例变型、替换和修改.因此本文档里的实例仅仅是示范性 的,本发明并非局限于此,各种在本发明精神和范围的变化都在本发明的优先权请求之 内.本发明基本基于在2012年4月12日提交的美国临时专利申请(题目:安全通信和安 全信息系统的新方法,序列号=61623272),只增加了技术细节。

【具体实施方式】 1. 1有错配对理论基础
[0014] 2005年,Regev在[Reg]中介绍了错误学习理论问题,和以后作为该理论的拓展 的在环上的错误学习理论(RLWE)问题[LPR],它们被广泛的应用于密码学设计,并有可证 明安全的性质,原因在于它们可以归结为某个最坏情形的格上的问题,因而可用于密码设 计·
[0015] LWE问题描述如下,首先,我们需要有一个参数n, q个元素的有限环或有限域Fq 上的错误概率分布κ.为简单起见,不妨设q是奇素数,但通过微小的变更,我们的发明 可用于其他整数.
[0016] Fq中的元素可用集合{-(q-l)/2,..,0,...,(q-l)/2}描述.错误分布指的是以很 高的概率选择F q中较小数的概率分布.有较多这样的分布选择并且分布选择直接影响系 统的安全性.我们必须选择一个好的错误概率分布使得系统更有效更安全.
[0017] 令TIsk为Fq上的一个概率分布,此分布通过以下方式获得,从$中任意选择A, 然后再从F q中按照分布κ选择元素 e,最后得到(A,〈A,S>+e),其中+指的是Fq上的加 法.对任意的S e Fa和Π Sk任意独立样本,解决关于q和分布κ的LWE问题的算法以很 高的概率输出S.
[0018] 为了完成基于LWE问题的密码设计的安全性证明,设q是关于η的特殊的多项式 函数,记为q (η).设κ是一个离散的正态分布,期望为〇,标准差为σ = aq 2 VH,将此分 布另记为κ。. g的元素表示为[-(q-D/2,(q-1)/2)]中的整数.
[0019] 在最初的基于LWE问题的加密系统中,一次只能加密一位,因此该系统是相当低 效率的,并且密钥很大.为了进一步改进基于LWE问题的密码系统的效率,文献[LPR]提 出了基于多项式环F q[X]的商环的LWE问题,即(RLWE)环问题.在基于RLWE问题的密码 系统中,它们的安全性归结为格的子类的困难性问题,用格理想的类代替通常的格.
[0020] 随后,文献[ACPS]提出了 LWE的变种.我们用mXn矩阵A代替向量A,S是nX 1 矩阵,使得矩阵乘法AX S相容.e也用mXl矩阵代替.但仍然用q个元素的有限域.
[0021] 为简化说明起见,设A是nXn方阵,S和e是nXl矩阵.
[0022] 令!^^是Fq上的概率分布,任意选择一个nXn矩阵A,矩阵A的元素属于F,, 以某种错误分布K1Ji意选择e的元素,其中e是nXl矩阵.例如,每个元素分别按照 错误分布κ任意选择.输出(A,AX S+e),其中+指的是Fq上的加法.一个解决关于q和 错误分布κ的LWE问题的算法,如果对任意的Se F〗和ns,Kn任意独立样本,以很高的概 率输出为S.
[0023] 若S的元素较小,且S的元素独立地按照错误分布κ n选择,称为LWE问题(SLWE). 如果A为对称矩阵,称为小对称LWE (SSLWE).如果秘密矩阵S的元素是从-Z,…,0, 1,… ,z (z是小正整数)中任意独立地选择的,称为均匀小LWE问题(USLWE).
[0024] 在实际应用中,S和e的元素可以用不同的分布选择.
[0025] 由[ACPS]的结果可知,如果密钥S和e的元素根据同一个LWE错误分布κ。独 立选择,那么解决对应的LWE问题的困难性与解决任意选择密钥S的LWE问题的困难性相 同.这意味着解决SLWE问题的困难性与解决与之相对应LWE问题的困难性相同.RLWE问 题的情形与之相似,如果能够解决密钥元素比较小的环上的LWE问题,那么也能解决对应 的LWE问题.
[0026] 我们进一步将此问题扩展到矩阵的形式.
[0027] 令〇s,Z为Fq上的概率分布,此分布通过以下方式获得,任意选择一个nXn矩 阵Α,阵A的元素属于F,,任意选择ηΧη矩阵e,e的元素属于F q且服从分布κη2·例如,每 个元素分别按照错误分布κ任意选择.输出(A,AX S+e),其中+指的是Ff上的加法.一 个解决关于q和错误分布Kn2的LWE问题的算法,如果对任意的nXn矩阵S G FftJ和ns,KV 为任意独立样本,以很高的概率输出为S.
[0028] 我们记矩阵形式的LWE问题为(MLWE).如果S的元素较小,S的元素独立地按照 错误分布~ 2选择,我们称之为小矩阵MLWE问题,记为(SMLWE).如果A为对称矩阵,称 为小对称MLWE问题,记为SSLWE.如果秘密矩阵S的元素是从-z,…,0, 1,…,z (z是小正 整数)中任意独立地选择的,称为均匀小MLWE问题,记为USMLWE.所谓MLWE问题可以看 成η个LWE问题的叠加,然后以矩阵形式共享密钥.因此它与对应的LWE问题的困难性相 当·
[0029] 对于S和e元素的选择,我们可以选择不同的分布.
[0030] 我们的设计的一个数学原理是矩阵乘法的结合律,即对矩阵A,B,C,有 AXBXC = (AXB) XC = AX (BXC). 从数学的角度,这可看成双线性对--矩阵A得行向量与矩阵C的列向量的双线性对 的计算.
[0031] 对于以某种错误分布选择的元素较小的矩阵A和B,我们不是直接相乘,而是按 以下步骤计算,首先计算 AB+Ea, 然后计算 (AB+Ea)C 或者(AB+Ea)C+Eac, 或者计算 BC+Ec, 最后计算 A(BC+E。)或者(AB+Ea)C+Ebc, 其中Ea,Eb,Eac,Eb。是元素较小的矩阵,选择矩阵的错误分布可以相同也可以不同.于 是,我们有两种不同的方式计算矩阵乘法ABC,计算时有些错误.我们称此为有错配对计 算.我们的所有设计都基于有错配对和这样的事实--即如果A和C的元素较小,那么任 意两个不同的对相近.
[0032] 我们可以证明MLWE问题的困难性与对应的LWE问题的困难性相同。这是我们的 设计可证明安全性的基础. 1. 2基于有错配对的新的密钥交换系统的设计
[0033] 在开放的通信信道中,Alice (A)和Bob (B)决定交换密钥.这意味着通信信道对 任何人开放,包括恶意的攻击者.为简便起见,我们假设本节中的所有矩阵都是nXn方 阵.实际应用时,所选的矩阵不必是方阵,但必须保证所选矩阵可以相乘.
[0034] 密钥交换的详细步骤· (1) Alice和Bob首先公开选取Fq,η和在Fq上的任意矩阵Μ,其中q是关于η的多项 式,例如 q?η3,错误分布是关于Fq上的nXn矩阵的错误分布,例如每一个部分错误分布 与LWE情形时的离散错误分布κ。相似,即Fq上的中心为零方差为Vi啲离散正态分布.再 选择并公开小素数t (t < < η). (2) 双方按照错误分布Kn2选择nXn密钥矩阵Si (i = Α,Β)和ei. Alice计算 Ma = MSa+teA 其中t是小整数(t << η). Bob计算 Mb = Μ^β+?θβ. (3) 双方在开放信道中交换矩阵Mi.这意味着Mi (i = Α,Β)是公开的,但Si和ei (i = A,B)是保密的. (4) Al ice 计算: = X Mb = S^MtSg + tS^eB. Bob计算: Kb = M又 X Sb = SXMtSB + teXSB. (5) 双方运用舍入技术获得共享密钥: (a) Bob将Kb在[-(q-1)/4,(q-1)/4]中的元素的位置列出,记为T1,将K b不在 [-(q-l)/4,(q_l)/4]中的元素的位置列出,记为T2.然后将表T 1发送给Alice. (b) 对表T1的数,双方都计算它们除以t的余数;对表T2的数,加上(q_l)/2后计算 它们除以q的余数,然后再模t这样双方可以得到共享密钥.
[0035] Alice和Bob可以通过KA,Kb和舍入技术交换密钥的原因在于:61和S i的元素较 小,从而导致KA, Kb相近.我们称这样的密钥交换系统为SMLWE密钥交换协议.我们还可 以证明这个有效的系统的安全性[Dili].
[0036] 从通信和计算效率的角度,本系统表现相当出色.双方只需要交换Fq上的η 2个 元素,利用Strassen快速矩阵乘法进行大约2η2 8次计算,得到η2位bit输出(如果t = 2).
[0037] 对于S和e元素的选择,我们可以选择不同的分布.
[0038] 我们可以证明,如果选择相同的系统参数η和q和选择恰当的错误分布,矩阵 SLWE密钥交换协议是可证明安全的[DiLi].证明基于有错配对问题的困难性.
[0039] 假设给定 (1) ηΧη矩阵M,素数q,小正整数t,错误分布κη. (2) M' A = MS' A+teA,M' B = MS' B+teB, 其中^是!!※I向量,其元素服从错误分布K n,Si是11父I向量,其元素服从相同的 分布; (3)已知 Kb = X = (S^)tMtSi3 + \:(eA,S'B) 是否属于[_(q_l)/4,(q_l)/4]; 我们的问题在于寻找一个算法得到: r A=(S,A)tXMB=(S,Ams,B+t〈S, A,eB> 其中,如果K' B的元素属于[_(q-i)/4,(q-i)/4]时,模t.否则Γ A+(q-i)/2首先 模q,然后再模t.我们称这样的问题为有错配对问题(PEP).
[0040] 安全性证明基于以下事实:SMLWE问题的困难性与SLWE问题相同.事实上矩阵版 本的SLWE问题实例可看为一组SLWE问题的叠加.
[0041] 我们指出,如果选择的矩阵对乘法运算相容,那么可以选择长方矩阵设计系统, 但是必须选择恰当的参数确保系统安全.
[0042] 同理,根据文献[LNV]对RLWE问题的描述,我们可以建立基于环错误问题的密 钥交换系统(RLWE) [LPR].
[0043] 对RLWE问题,我们考虑环灭=ZWA(x),无 q =灾/q兄其中f (X)是名[X]上 的η次多项式,之为整环,q是素数.若q是奇素数,则Zq = Fq= _2T/q的元素表示 为-(q-l)/2, . . .,-1,0, 1,. .,(q_l)/2,即可看成名的元素 .Wq的元素可以表示为n-1次 单变量多项式,或该多项式系数向量.对Wq的元素 a(x) = ag+ajX+···+a^jX11 \ 定义向量的范数Ioc^ : 11 B I - ITlclX I I . 向量(?,?…,a」可以看成沪的元素,叫可看成之的元素·经过微小的修改,q为偶 数的情形与奇数的情形相似.
[0044] RLWEf;(1;x问题的参数为:次数为η的多项式f(x),素数q, Wq上的错误分布X. RLWEf^ x问题定义如下.
[0045] RLWEf^x问题就是给定任意多项式实例 (ai; bj = aj X s+ej), 求的兀素 s的值.其中ai e力q,ei的选择服从错误分布x .
[0046] RLWEu x问题的困难性基于h在计算上的不可区分性.可以证明解决RLWEu x 问题可归结为用量子计算机解决相关参数的短向量问题.我们相信即使是量子计算机,解 决某些格问题的复杂度是指数的.
[0047] 根据文献[ACPS]和[LPR],RLWEf^ x问题等价于一个变种,在这个变种中,s的选 择服从错误分布X,而不是从Wq中任意选择,错误元素〇 1乘以某个小整数t.
[0048] 为了可证明安全性,我们需要考虑RLWE问题的特殊参数选择. (1)我们选择f (X)为割圆多项式xn+l,其中n = 2U ; ⑵错误分布X是离散的高斯分布Dzn;(J,其中η》σ > Oj(^logn) > I; (3) q = I (mod 2n),q是关于η的多项式,q?η3 ; (4) t是小素数且t〈〈n〈〈q. 对于某些特别的应用,我们也可以选取其他特殊的参数.
[0049] 在密钥交换系统RLWEt 4 x中,有两个必不可少的要素, (1) 向量在标准差为σ的离散高斯分布的长度的上界为on,即对分布X的任意样 本,有 Pr(IlXlD)O n) ^ 2^n+1. (2) 环凡i上的乘法被界定在合理的范围内,即对XYe Wq,有 ||XXY(mod f(x)) Il ^nIlXlI || Y || , 其中范数I00定义如上.
[0050] RLWEu x系统环境如上,Alice(A)和Bob(B)在开放信道交换信息步骤如下: (1) Alice和Bob首先公开RLWEf^ x的所有参数:q (?η3或者关于η的多项式)、η、 f(x)、x.并公开从Wq中任意选择的元素 Μ. (2) 双方按照错误分布选择自己的密钥Si e Rq,按照错误分布独立选择ei e Rq,但是 加入一个小素数t (t〈〈n) Alice计算, Ma = Sa M+teA 其中t是小素数(t << η). Bob计算 Mb = SBM+teB. (3) 双方交换Mi.这意味着Mi是公开的,但Si和ei必须保密. (4) Al ice 计算: Ka = SaXMb = Sa MSB+teBSB. Bob计算: Kb = MaXSb = Sa MSB+teASB· (5) 双方应用舍入(rounding)技术共享密钥,具体过程如下: (a) Bob建立一张长为η的表,表格由(i,j)组成,其中i = 0,…,n-1,如果Kb的Xi 的系数在集合[_(q_l)/4,(q_l)/4]中,那么j = 1,否则,j = 0. (b) Bob将建立的表格发送给Alice.双方计算表格(i,j)元素对应心和&的元素除 以t的余数如下: 1) 如果j = 1,则分别计算Ka和Kb第i个元素模t ; 2) 如果j = 0,则Ka和Kb第i个元素首先加上(q-1)/2,然后模q,使得第i个元素 在集合[_(q_l)/4,(q_l)/4之中,最后模t.
[0051] 31和61可以使用不同的分布·
[0052] 这样双方可以共享密钥.我们称此系统为RLWE密钥交换系统.此系统可以将密 钥交换失败的概率降到很低.环Wq的交换律和结合律对本系统的设计十分重要.
[0053] 在安全性分析方面,于巧环上的PEP相似,本系统是可证明安全的.
[0054] 假设给定 ? M e Rq,素数t,q和错误分布X,分布参数与RLWEu x相同; ? Ma = Msa +、冉和^^ = MSb + 其中ei和Si服从错误分布乂; ?已知 Kb = MaXSb = Sa MSB+teASB 的 Xi 的系数是否在[_(q-l)/4, (q_l)/4]之中; 环上的有错配对的问题(RPE),即找到某种算法以高概率计算Kb(或KA)模t或者 Kb+ (q_l) /2 (或 Ka+ (q_l) /2)模 q 再模 t.
[0055] 基于RLWEf^ x问题的困难性的RLWE密钥交换系统是可证明安全的,证明方法与 SLWE密钥交换系统相似.
[0056] 对相同的参数q和η本系统十分有效,因为可以用环Wq上FFT型算法快速进行 乘法运算. 1. 3基于有错配对的新的密钥分配系统的设计 [0057] 在大型网络中,怎样给合法的用户分配密钥是一个关键的问题.通常,建立一个 真正有效且可扩展的密钥分配系统是十分困难的.例如,在文献[BSHKVY]中提出的密钥 分配系统,本质上,中心服务器的主密钥是一个ηΧη对称矩阵Μ,用户的认证可以看成η 个元素的行向量氏.中心服务器给每个用户一个密钥HiXM.两个用户之间可获得共享密钥 Hi X M X Hf. M的对称性质使得 .Hi X M X H[ = Hf X M X Hi. 但是,大量的用户可以合作,从而获得主密钥.如果敌手能够收集到足够多(η个) 的HiXM.那么敌手也能得到主密钥Μ,从而将系统攻破.
[0058] 我们可以建立一个基于有错配对的真正可扩展的密钥分配系统,此系统可看成 是以上方法与LWE思想的综合.
[0059] 本系统建立在有限域Fq上,其中Fq的元素可以表示 为-(q-1)/2, . . .,0, . . .,(q_l)/2.令q?η~3或者q是其他关于η的相似多项式函数,令 ?Μ是ηΧη矩阵空间上的错误分布.例如,每个部分都服从κ。分布的联合分布,其中 κ。为前述LWE中的离散分布,即期望为0,标准差约为η的离散正态分布.当然,分布 的参数可以更改.
[0060] 密钥分配系统建立步骤如下. (1) 中央服务器选择一个主密钥ηΧη矩阵S,矩阵的元素属于F,,且 S = St. (2) 对每个用户i,中央服务器分配一个矩阵Ai (通常非对称)作为用户ID矩阵,矩 阵化服从错误分布κη2· ID矩阵是公开的,它也可以由用户可以唯一识别的信息,如电子 邮箱、姓名等生成. (3)对每个用户,服务器分配一个安全的密钥: Ei = AjS+tej, 其中ei是一个非对称矩阵且服从错误分布κη2·
[0061] 两个用户i和j想获得共享密钥,用户i计算 Kj = Ej X Aj = AjSAj ( 用户j计算 Kj = Ai X (Ej)1 = AiStAj + tAje^ = AiSAj + tAje^. 此步骤是可行的,因为ID矩阵是公开的.可以通过以下步骤获得共享密钥. ?当用户j想和用户i建立共享密钥时,用户j选出Kj在集合(_ (q_l)/4,(q_l)/4)中 的所有元素,包括它们在矩阵的位置,并且,在集合中的元素标记为1,不在集合中的元素 标记为〇.然后用户j把这些元素的位置(不发送元素值)以表格的形式发送给用户i,用 户i按照接收到的表格,从自己的矩阵E i X Ai中选出表格对应位置的元素.于是用户i和 j拥有了同一张表格,即矩阵元素的位置,从而也可以知道自己的矩阵中对应的元素.对 于标记为1的元素,双方计算对应元素除以t的余数;对于标记为0的元素,双方用该元 素加上(q_l)/2后再模t.从而得到共享密钥.
[0062] 由于S是对称矩阵,我们有 AiSAj = AiStA], 因而对用户j,可得 AiSAj + tAje·. 两个用户计算上的不同点在于: Ej X Aj _ Aj X Ε| =AjSA^ + t6j Aj - (AjSAj + tAj6j) =tejAj - tAje·. 两者的不同是很小的,这是因为t是很小的,且eiAj和Aief也是很小的,事实上ei, ej Ai和Aj全是很小的.再通过舍入技术,我们能够给用户i和j共同的密钥,从而建立密 钥分配系统.
[0063] 因为矩阵teA和tefAi的错误项是很小的,AiS~中标记为!的元素几乎全部属于
[-(q-l)/4,(q_l)/4].因而错误项不会导致AiSAj的元素值超出(_(q-l)/2或(q_l)/2),即 加上错误项后,我们仍然不需要模q元素.标记为0的情况也一样.这就确保双方可以共 享密钥.
[0064] 从Ki, &的构造可知,Ki和&的元素服从均匀分布.用户j每次根据矩阵&构造 的表格长度达η 2.因而如果适当选择n,本系统能提供足够的共享密钥位.
[0065] 当然,我们也可以构造非对称矩阵情形的密钥分配系统,此时,服务器需要多计 算一些矩阵,如AiS+e和A# + K因此,非对称矩阵情形的密钥分配系统效率没有对称的 情形商·
[0066] 另一方面,因为RLWE问题可以看成基于矩阵的LWE的特殊版本,所以我们可以 用相同的方式通过RLWE建立密钥分配系统.
[0067] 我们接下来研究本密钥分配系统为何可以扩展的.显然,每个用户都有Ai和Ei = AiS+teji,许多用户通过合作可以得到许多对,恢复主密钥矩阵S就是要解决对应的 MLWE问题,但是,主密钥矩阵S为对称矩阵的情况除外.因为给定一个LWE问题,通过对 称矩阵,我们可以将它转化为MLWE问题,所以不难证明MLWE问题于LWE问题的困难性相 同.所以本系统是可扩展的.
[0068] 在本系统的安全性证明方面,与文献[DiLi]的证明方法相似,我们也可以证明 本系统是安全的.
[0069] 综上所述,因为RLWE可以看成特殊的MLWE,所以我们可以利用RLWE建立十分简 单的密钥分配系统.
[0070] 我们首先选择环^= FqW/xn + 1.为了保障系统的可证明安全性,我们必须 恰当的选择参数n, q,例如,n = 2k, q = lmod(2n) [LPR].对于本系统的可证明安全性,我 们按照文献[LPR]来设置参数和错误分布X .
[0071] 本设计基于前面的系统.假设我们定义了一个环R,,且环服从错误分布X,则环 Rq上的错误学习问题定义如下: 给定对(A,E),其中 E = AX S+te', V的元素属于R且服从错误分布X,t是小整数,S是固定元素,A是任意选择的.环 Rq上的错误学习问题就是求S的问题.
[0072] 对中央服务器,我们建立简单的密钥分配系统如下. (1) 中央服务器按照均匀分布从Rq中任意选择M. (2) 对每个用户,中央服务器分配一个公开的ID Ai,其中Ai是Rq的小元素,即服从 错误分布X. (3) 中央服务器给每个用户一个密钥: Si = Mjtei 其中ei服从错误分布X. (4) 如果用户i和j试图建立共享密钥,那么用户i可以用自身的密钥和用户j的ID 矩阵Ai与用户j建立共享密钥,为此,用户i计算 Ki = AjXSi = AjMA^tAjei 用户j计算 Kj = AiXSj = AjMftAiej 应用舍入技术,共享密钥可通过以下方式获得: (a) 用户i建立一个长为η的表,表由对(a,b)组成,其中a = 0, . . .,n-l,如果Ki 中Xa的系数在集合[-(q_l) /4,(q-1) /4里,那么b = 1,否则b = 0. (b) 用户i将上一步建立的表发送给用户j.对表中的元素(a,b),双方计算表中的元 素对应的Ki中的元素模t的值如下: 1) 如果b = 1,双方分别计算Ki和I的第a个元素模t的值; 2) 如果$ = 0, Ki和Kj的第a个元素首先加上(q_l) /2,然后模q,使其在 [-(q-l)/4,(q_l)/4中,最后将所得值模t ;
[0073] 因为Ai是ei环Rq中的小元素,所以A iXei仍然是小的.这就保证可以得到共享 密钥并建立密钥分配系统.
[0074] 在密钥分配的整个过程中,我们经常用到这样的一个事实:RLWE问题的乘法可交 换· 我们构造的系统的特点是:简单,直接.它的安全性证明也是显然的. 1. 4基于有错配对的基于身份加密系统的设计
[0075] 我们首先建立基于MLWE的公钥加密系统.为了建立加密系统,我们选择的参数 如前述,q?η 3或η4或其它关于η的多项式,错误分布为例如,每个部分都服从κ。 分布的联合分布,其中κ。为前述LWE中的离散分布,即期望为0,标准差约为VHl的离散 正态分布,为了方便证明安全性,我们也可以选择高维高斯正态分布.当然,分布的参数 可以更改.
[0076] 选择这些参数后,与MLWE情形相似,我们可以建立加密系统,步骤如下: (1) 选择ηΧη矩阵S,使得S的元素服从错误分布%例如,S的每个元素依据分布 κ。独立地任意地选择. (2) 在MLWE环境下,我们可以得到一对输出(Α,Ε),其中 E = A X S+e,或 E = A X S+te, 且t是小整数,t〈〈n,这对输出(A,E)就是系统的公钥,其中e服从某种错误分布, 例如前述分布. (3) S是系统的私钥. (4) 消息m用nXn矩阵表示,矩阵的元素为0, 1或者模t的剩余类环0, 1,. . .,t-1. (5) 发送者选择一个nXn矩阵B,矩阵B的选法与S相同,即服从错误分布κη2,例 如,B的每个元素依据分布κ。独立地任意地选择.发送者加密信息如下: (D11D2) = (BXA+e1; BXE+e2+m(q/2)), (D11D2) = (BXA+te1; BXE+te2+m), 其中ei和e2是错误矩阵,它们的选择方式与e相同,即按照某错误分布独立地任意 地选择. (6) 合法的解密者解密信息如下:计算 〇2 _ Di X S = (BE + + m (j) _ (BA + 6j_)S) = eE + _ + m (兰), 其中每一个运算都在Fq中进行,矩阵的元素如果接近0,则输出0 ;如果接近(q-1)/2, 则输出1 ;或者按照实数域上的除法,将矩阵元素除以(q_l)/2,然后四舍五入输出0或 1.最后的输出就是明文$m$;在第二种情况下,合法解密者计算 D2-D1XS = (BE+te2+m-(BA+e^ S) = teE+te2-te1S+m, 然后模t.这样可得到明文m.
[0077] A, B, ei可以选择不同的分布.
[0078] 对大数n,解密成功的概率很高,原因如下:

【权利要求】
1. 一方A与另一方B在开放的信道中交换密钥的方法包括: (1) 密钥交换双方A和B公开选择参数n,q,小正整数t(t << n),Fq上的nXn矩阵 错误分布κη2, F1上的任意ηΧη矩阵Μ,其中q是奇素数且是关于η的多项式,如n3, Fq的 元素可以表示为集启
中的整数; (2) 密钥交换双方分别按照错误分布选择私钥ηχη矩阵Si (i =Α,Β)和错误矩阵 e^i = A, B); A方计算 Ma = MSA+teA, B方计算 Mb = Μ^Β+?θβ, (3) 双方在开放信道中交换Mi. (4) A方计算:
(5) 双方利用舍入计算获得共享密钥,步骤如下: (a) B方将矩阵Kb中属于集毛
中的元素的行下标和列下标标记出来,并做 成表格T1,将矩阵Kb中不属于集启
中的元素的行下标和列下标标记出来,并 做成表格T2,然后将表格T1发送给A方. (b) 对行下标和列下标出现在表格T1中的KA,Kb的元素,双方分别将它模t ;对于行下 标和列下标不出现在表格T1中的KA,Kb的元素,双方分别将它加上后首先模q,然后再 模t。
2. 对中央服务器来说,建立密钥分配系统包括: (1) 中央服务器选择参数n,q,小正整数t(t<<n),Fq上的nXn矩阵错误分布 Fq上的任意ηXη主密钥对称矩阵S,Fq上的依据错误分布选择的η Xη矩阵Μ,其中q是 奇素数且是关于η的多项式,如n3, Fq的元素可以表示为集合I
:]中的整数; (2) 中央服务器给每个用户i分配一个ID矩阵Ai,其中ID矩阵的元素是小的且服从 错误分布ID矩阵是公开的.中央服务器可以利用用户的信息生成ID矩阵. (3) 中央服务器分配给每个用户一个安全密钥: Ei = Aptei, 其中ei是一个矩阵,它的元素服从错误分布'κη2· 用户i和用户j获得共享密钥的步骤包括: 用户i计算:
用户j计算:
然后双方可通过舍入技术获得共享密钥,过程骤包括: 假设用户j想和用户i建立共享密钥,用户j将矩阵中属于集合
j1中的 元素的行下标、列下标以及元素值标记出来,易见,这些元素是〇附近的元素而不是f附 近的元素.用户j将在表格发送给用户i,这张表格是一个矩阵,如果&的(I,J)元素属 于集名
中,那么这个矩阵的(I,J)元素等于1,否则等于〇.用户i根据表格中 等于1的位置,从矩阵Ei X A;中选出对应的元素.这样双方就共享了这些元素的位置.然 后双方将标记为1的位置的元素模t,将标记为0的位置的元素加上上后首先模q,然 后再模t.这样双方共享计算后的新表格作为共享密钥。
3. 对中央服务器,建立基于身份的加密系统包括: (1) 中央服务器选择参数n,q,小正整数t(t<<n),Fq上的nXn矩阵错误分布心2, Fq上的依据错误分布选择的ηΧη矩主密钥矩阵S,其中q是奇素数且是关于η的多 项式,如η3,主密钥矩阵S的元素是小的且服从错误分布F q的元素可以表示为集合
中的整数,; (2) 中央服务器任意选择一个可逆的矩阵Μ.如果服务器刚开始选择的矩阵不可逆,那 么服务器重新选择矩阵,直到所选矩阵可逆.然后服务器计算 M1 = MS+te, 其中e的元素是小的且服从错误分布κη2 ; (3) 中央服务器公开M和M1作为公钥. (4) 中央服务器给每个用户i分配一个ID矩阵Ai,其中ID矩阵的元素是小的且服从 错误分布心2, ID矩阵是公开的.中央服务器可以利用用户的信息生成ID矩阵. (5) 中央服务器分配给每个用户i 一个密钥 Si = 其中ei的元素是小的且服从分布κ . (6) 服务器利用ID Ai和服务器公钥为ID为Ai的用户建立公钥(AilBi),其中 Ai = M, Bi = M1Ai = MSAj+teAj ; 任何人都可以利用此公钥及设计节描述的MLWE加密系统加密信息。
4. 根据权利要求1所述的方法,q是一个2次或2次以上的多项式,错误分布Kn2的每 部分相互独立,每部分服从某种分布如离散错误分布κ。,即Fq上期望为0、标准差为VHi 的正态分布,或者其它分布。
5. 根据权利要求2所述的方法,q是一个2次或2次以上的多项式,错误分布Kn2的每 部分相互独立,每部分服从某种分布如离散错误分布K。,即Fq上期望为0、标准差为VHl 的正态分布,或者其它分布。
6. 根据权利要求3所述的方法,q是一个2次或2次以上的多项式,错误分布的每 部分相互独立,每部分服从某种分布如离散错误分布κ。,即Fq上期望为0、标准差为VHi 的正态分布,或者其它分布。
7. 根据权利要求1所述的方法,矩阵和参数可以用三角矩阵和适当参数代替,只需保 证矩阵可以相乘。
8. 根据权利要求2所述的方法,矩阵和参数可以用三角矩阵和适当参数代替,只需保 证矩阵可以相乘。
9. 根据权利要求1所述的方法,矩阵和参数可以用环Rq = Fq[x]/f(x)的元素和适当 参数代替,其中f(x) = χη+1。
10. 根据权利要求2所述的方法,矩阵和参数可以用环Rq = Fq[x]/f(x)的元素和适当 参数代替,其中f(x) = χη+1。
11. 根据权利要求3所述的方法,矩阵和参数可以用环Rq = Fq[x]/f(x)的元素和适当 参数代替,其中f(x) = χη+1。
12. 根据权利要求2所述的方法,两个用户i和j获得共享密钥的过程中,i和j的角 色可以互换。
13. 根据权利要求2所述的方法,建立多个服务器的密钥分配系统。
14. 根据权利要求3所述的方法,建立多个服务器的基于身份的加密系统。
15. 根据权利要求3所述的方法,建立多层的基于身份的加密系统,此时每个用户可以 看成是下一层的服务器。
16. 根据权利要求1所述的方法,舍入技术可以用相似的方法代替。
17. 根据权利要求1所述的方法,矩阵和参数可以用环Rq = Fq[x]/f(x)的元素和适 当参数代替,其中f (X) =χη+1.使用的多项式元素选择形式f (X) =TIfi (X)+g(X),其中 fi,g(x)是只有少数非零项的稀疏多项式。
18. 根据权利要求2所述的方法,矩阵和参数可以用环Rq = Fq[x]/f(x)的元素和适 当参数代替,其中f (X) =χη+1.使用的多项式元素选择形式f (X) =TIfi (X)+g(X),其中 fi,g(x)是只有少数非零项的稀疏多项式。
19. 根据权利要求3所述的方法,矩阵和参数可以用环Rq = Fq[x]/f(x)的元素和适 当参数代替,其中f (X) =χη+1.使用的多项式元素选择形式f (X) =TIfi (X)+g(X),其中 fi,g(x)是只有少数非零项的稀疏多项式。
【文档编号】H04L9/08GK104396184SQ201380019518
【公开日】2015年3月4日 申请日期:2013年4月11日 优先权日:2012年4月12日
【发明者】丁津泰 申请人:丁津泰
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1