CN106685663B - 一种环域上误差学习问题的加密方法及电路 - Google Patents

一种环域上误差学习问题的加密方法及电路 Download PDF

Info

Publication number
CN106685663B
CN106685663B CN201710081133.XA CN201710081133A CN106685663B CN 106685663 B CN106685663 B CN 106685663B CN 201710081133 A CN201710081133 A CN 201710081133A CN 106685663 B CN106685663 B CN 106685663B
Authority
CN
China
Prior art keywords
ntt
multinomial
ciphertext
module
annulus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710081133.XA
Other languages
English (en)
Other versions
CN106685663A (zh
Inventor
刘冬生
张聪
邹雪城
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201710081133.XA priority Critical patent/CN106685663B/zh
Publication of CN106685663A publication Critical patent/CN106685663A/zh
Application granted granted Critical
Publication of CN106685663B publication Critical patent/CN106685663B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种环域上误差学习问题的加密方法,该方法通过采样多项式和噪声多项式并进行数论变换,对数论变换后的结果进行运算,获得公钥和密文,完成对待加密信息的加密。本发明还公开了一种实现该方法的电路,包括:加密控制器、待加密信息存储器、高斯采样模块、只读存储器、高斯数据存储模块、数论变换处理器、迭代模乘法模块以及密文存储模块;所述所述高斯采样模块采样生成多项式和噪声多项式;所述数论变换处理器用于对多项式、噪声多项式以及常量多项式进行数论变换,对待加密信息、噪声多项式以及公钥进行运算后形成密文。本发明的方法和电路极大地提高电路的运行效率,减小电路损耗,降低环域上误差学习问题加密电路的实现成本。

Description

一种环域上误差学习问题的加密方法及电路
技术领域
本发明属于信息安全算法及电路实现领域,特别涉及一种环域上误差学习问题的加密方法及实现该方法的电路。
背景技术
基于格理论的密码算法是目前公钥加密技术中一个新的研究热点。随着量子计算机的出现,传统的公钥加密体制如基于大整数分解的RSA(Rivest Shamir Adleman)和基于离散对数问题的椭圆曲线密码算法(Elliptic Curve Cryptography,ECC)变得不再安全可靠。相较而言,基于格理论的密码算法具有加密效率高,硬件实现简单,抗量子攻击等方面的优点,是后量子时代极具潜力的能解决信息安全问题的密码方案。
目前基于格困难性构造的加密方案中,效率最高的是基于误差学习问题(learning with error,LWE)而构造的加密方案。环域上的误差学习问题(Ring-LWE)加密方案是在LWE加密方案上的改进,不同的是它整个的加密解密都是在环域(Ring)中进行的,加密和解密过程中的乘法运算是多项式乘法。与LWE方案相比,Ring-LWE方案的性能整体上优于LWE方案:Ring-LWE方案的错误率更低,密文扩展更小,最重要的一点是,Ring-LWE方案的公钥长度很小,能够控制在2kbits~5kbits,和RSA方案的公钥长度差不多。并且,Ring-LWE方案运算速度也更快,准确率也更高。考虑到Ring-LWE加密方案具有的抗量子攻击的特性以及易实现性,为了该加密方案能在未来日常应用中的实现,设计出资源占用少、功耗小、成本低的Ring-LWE硬件加密电路是一个值得深入研究的问题。
文献“Towards Practical Lattice-Based Public-Key Encryption onReconfigurable Hardware”(T,Güneysu T.Selected A:reas inCryptography--SAC 2013.Springer Berlin Heidelberg,2013:68-85.)公开了一种Ring-LWE加密处理器。但该文献公开的Ring-LWE加密处理器存在如下缺陷或不足:
(1)从最终现场可编程门阵列(Field-Programmable Gate Array,FPGA)平台上的资源消耗和运算性能进行折中分析,可以看到,该文献中所提出的Ring-LWE加密处理器需要大量的LUT单元以及复杂的数字信号处理(Digital Signal Process,DSP)模块和存储器模块,消耗电路资源过于庞大。且该Ring-LWE加密处理器过于追求速度和吞吐量,并不具备实用性和通用性。
(2)在轻量级应用或资源限定的应用场合,如:金融IC卡或射频标签中,需要低成本、易实现的安全加密电路。显然,文献中的Ring-LWE加密处理器由于其设计上的复杂度而很难在这些场合得以实现和应用。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种环域上误差学习问题的加密方法及电路,其目的在于通过高斯采样模块用于采样系数满足高斯分布的多项式和噪声多项式,所述多项式形成公匙和私匙,所述噪声多项式形成密文,采用数论变换处理器在采样后对所述多项式和噪声多项式进行数论变换,并在所述密文解密完成后对其进行数论逆变换,通过加密控制器用于控制所述电路对所述密文和私匙在所述环域上进行加解密运算,实现加解密工作,极大地缩减加解密过程的计算复杂度,从而减少运算时间,提高电路的运行效率,减小电路损耗,降低Ring-LWE加解密电路的实现成本。
为了实现上述目的,作为本发明的一个方面,提供一种环域上误差学习问题的加密方法,包括如下步骤:
S1:将待加密信息m中的常量多项式a进行数论变换,得到NTT(a);
S2:采样生成私钥r2,并对r2进行数论变换,得到NTT(r2);
S3:作点乘运算NTT(r2)*NTT(a),计算结果为NTT(r2*a);
S4:采样得到多项式r1,并对r1进行NTT变换,得到NTT(r1),并将NTT(r1)与NTT(r2*a)做运算NTT(r1)–NTT(a)·NTT(r2),计算结果NTT(p)作为环域上的困难学习问题加密方案的公钥;
S5:采样得到噪声多项式e1,并对e1进行NTT变换,得到NTT(e1);
S6:依次作点乘运算NTT(e1)*NTT(a)和NTT(e1)*NTT(p),将计算结果NTT(e1*a)和NTT(e1*p)按照地址顺序依次保存;
S7:采样得到噪声多项式e2,并对e2进行NTT变换,得到NTT(e2),并将NTT(e2)与NTT(e1*a)做运算NTT(e2)+NTT(a)·NTT(e1),将计算结果NTT(c1)按照地址顺序依次保存,得到密文的第一部分;
S8:采样得到噪声多项式e3,对待加密信息内容进行编码运算得到f(m)∈Rq,进行模加运算得到e3’=e3+f(m),结果按照地址顺序依次保存,其中,Rq为模值q下的整数环,q为模值;
S9:对e3’进行NTT变换,得到NTT(e3’),并将NTT(e3’)与NTT(e1*p)做运算NTT(e3’)+NTT(p)·NTT(e1),计算结果NTT(c2)按照地址顺序依次保存,得到密文的第二部分,从而实现对待加密信息m的加密。
进一步地,所述多项式r1、私钥r2、噪声多项式e1、e2及e3的系数满足高斯分布。
进一步地,所述常量多项式a满足均匀分布。
作为本发明的另一个方面,提供一种实现所述的环域上误差学习问题的加密方法的电路,该电路包括:加密控制器、待加密信息存储器、高斯采样模块、只读存储器、高斯数据存储模块、数论变换处理器、迭代模乘法模块以及密文存储模块;
其中,所述加密控制器的第一输出端与所述待加密信息存储器的输入端连接,用于对所述待加密信息在环域上进行编码并存储到所述待加密信息存储器中;
所述加密控制器的第二输出端与所述高斯采样模块的输入端连接,用于发出控制信号给所述高斯采样模块,控制所述高斯采样模块采样生成所述多项式和噪声多项式,并存储到所述高斯数据存储模块中;
所述只读存储器的输出端与所述高斯数据存储模块的输入端连接,用于读取储存所述常量多项式;
所述数论变换处理器的输入端与所述高斯数据存储模块的输出端连接,所述数论变换处理器的输出端与所述密文存储模块的输入端连接,用于对所述多项式、噪声多项式以及常量多项式进行数论变换;
所述迭代模乘法模块的输入端与所述高斯数据存储模块的输出端连接,所述迭代模乘法模块的输出端与所述密文存储模块的输入端连接,用于对所述数论变换后的多项式和常量多项式进行运算得到公钥;并对所述待加密信息、噪声多项式以及所述公钥进行加密运算后形成密文,并存储到密文存储模块中,实现对所述待加密信息的加密。
进一步地,所述高斯采样模块包括伪随机数发生器,用于产生随机数,所述随机数的范围为[1,N-1],N为所述多项式的长度。
进一步地,所述高斯采样模块还包括查找表和比较器,所述比较器的输入端与所述伪随机数发生器和查找表连接,所述查找表用于与所述随机数进行比较,由比较器输出对应的高斯分布采样值。
进一步地,所述高斯采样模块还包括选择器,所述选择器的输入端与所述比较器连接,所述选择器用于根据所述高斯分布采样值决定最终输出系数满足高斯分布的多项式和噪声多项式。
进一步地,所述迭代模乘法模块包括第一寄存器、第二寄存器、状态控制器、选择器以及左移位器,其中,所述状态控制器用于控制所述第一寄存器存储值输入到选择器中作为选择信号,并控制所述第二寄存器存储值输入给左移位器,左移位器用于对其进行移位后输出到所述选择器的一个输入端,所述选择器的另一个输入端的输入值恒为0,在选择信号的作用下,所述选择器对所述移位后的存储值进行选择并输出。
进一步地,所述迭代模乘法模块还包括模加法器和第三寄存器,所述模加法器用于对所述选择器输出的值进行累加,并存到所述第三寄存器中。
进一步地,所述密文存储模块包括区域1和区域2,分别用于储存所述密文第一部分和密文第二部分。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)本发明的方法,在加解密运算过程里,密钥产生和加密阶段中不需要inv_NTT运算,因此能够极大地缩减加解密过程的计算复杂度,占用电路资源极少,且内部LUT数据可修改,能与不同参数下的Ring-LWE加密方案匹配,满足了Ring-LWE加密方案在未来不同应用中低成本、可重构的要求,而且该Ring-LWE加密方案低成本、低功耗。
(2)本发明的电路,通过高斯采样模块用于采样系数满足高斯分布的多项式和噪声多项式,采用数论变换处理器在采样后对所述多项式和噪声多项式进行数论变换,所述多项式经过运算得到公钥和私钥,所述待加密信息、噪声多项式以及所述公钥进行加密运算后形成密文,并存储到密文存储模块中,实现对所述待加密信息的加密,极大地缩减加密过程的计算复杂度,从而减少运算时间,提高了电路的运行效率,减小了电路损耗,降低了Ring-LWE加密电路的实现成本。
(3)作为优化,本发明设计了一种基于查找表(LUT)的高斯采样模块,用于生成系数满足高斯分布的多项式和噪声多项式。在模块内部的LFSR(线性反馈移位寄存器)产生的伪随机数源经由LUT后,即可输出对应的高斯采样值。由于无需涉及任何高斯采样中复杂的指数运算,该高斯采样模块占用电路资源极少,且内部LUT数据可修改,能与不同参数下的Ring-LWE加密方案匹配,满足了Ring-LWE加密方案在未来不同应用中低成本、可重构的要求。
(4)作为优化,本发明设计了一种精简的迭代模乘法模块。考虑到Ring-LWE加密方案中最核心的运算是模q下的乘法运算,迭代模乘法模块能通过循环迭代,仅由简单的模加和移位操作完成复杂的模乘运算,能让Ring-LWE加密方案以低成本、低功耗的电路结构得以实现。
附图说明
图1为本发明实施例的一种环域上误差学习问题的加密电路结构图;
图2为本发明实施例的一种环域上误差学习问题的加密电路涉及的高斯采样模块结构图;
图3为本发明实施例的一种环域上误差学习问题的加密电路涉及的模乘法模块结构图。
所有附图中,相同的附图标记表示同一个电路元件,其中:M1-伪随机数发生器、M2-查找表、M3-比较器、M4-选择器、M5-左移位器、M6-模加法器。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
图1为本发明实施例的一种环域上误差学习问题的加密电路结构图。如图1所示,该电路包括加密控制器、待加密信息存储器、高斯采样模块、高斯数据存储模块、数论变换处理器、迭代模乘法器、密文存模块、私钥读写存储器以及只读存储器;
其中,所述加密控制器的第一输出端与所述待加密信息存储器的输入端连接,所述待加密信息存储器的输出端与所述高斯数据存储模块的输入端连接;
所述加密控制器的第二输出端与所述高斯采样模块的输入端连接,所述高斯采样模块的输出端与所述高斯数据存储模块的输入端连接,所述只读存存器的输出端与所述高斯数据存储模块的输入端连接;
所述高斯数据存储模块的输出端分别与所述数论变换处理器、迭代模乘法模块以及私钥读写存存器的输入端连接,所述迭代模乘法模块的输出端与所述密文存储模块的输入端连接;所述数论变换处理器的输出端与所述密文存储模块的输入端连接,所述密文存储模块的输出端与所述迭代模乘法模块输入端连接;
如图1所示,所述加密控制器用于对输入的加密信息m进行编码,让m的值限定在环域Rq中,即f(m)∈Rq,并存储到所述待加密信息存储器中。
所述高斯采样器用于采样系数满足高斯分布χσ的多项式r1∈Rq和r2∈Rq,得到公钥:
p=r1-a·r2∈Rq;
其中,多项式p为环域上的困难学习问题加密方案的公钥,多项式r2作为私钥,a为系数满足均匀分布U(0,q)的常量多项式,q为模值,Rq为模值q下的整数环;
高斯采样器用于采样得到三个系数满足高斯分布χσ的噪声多项式e1,e2,e3∈Rq,得到第一段密文c1
c1=a·e1+e2∈Rq;
以及第二段密文c2
c2=p·e1+e3+f(m)∈Rq。
如图1所示,所述数论变换处理器用于对所述多项式和噪声多项式进行数论变换;
所述公钥p的数论变换为:
NTT(p)=NTT(r1)–NTT(a)*NTT(r2)∈Rq;
其中,NTT为数论变换。
所述密文c1和c2的数论变换为:
NTT(c1)=NTT(a)*NTT(e1)+NTT(e2)∈Rq;
NTT(c2)=NTT(p)*NTT(e1)+NTT(e3+f(m))∈Rq。
所述迭代模乘法模块用于对所述多项式和常量多项式进行运算得到公钥;并对所述待加密信息、噪声多项式以及所述公钥进行加密运算后形成密文;
所述加密控制器的第三输出端与所述密文存储模块的输入端连接,用于控制所述密文存储模块存储所述密文,实现对所述待加密信息的加密。
本发明的电路,通过高斯采样模块用于采样系数满足高斯分布的多项式和噪声多项式,采用数论变换处理器在采样后对所述多项式和噪声多项式进行数论变换,所述多项式经过运算得到公钥和私钥,所述待加密信息、噪声多项式以及所述公钥进行加密运算后形成密文,并存储到密文存储模块中,实现对所述待加密信息的加密,极大地缩减加密过程的计算复杂度,从而减少运算时间,提高了电路的运行效率,减小了电路损耗,降低了Ring-LWE加密电路的实现成本。
图2为本发明实施例的一种环域上误差学习问题的加密电路涉及的高斯采样模块结构图。为满足环域上误差学习问题加解密算法电路低成本的要求,本发明设计了一种基于查找表(LUT)的高斯采样模块。如附图2所示,所述高斯采样模块包括伪随机数发生器M1、查找表M2、比较器M3、选择器M4。
工作时,一个由log2N bit-LFSR构建的伪随机数发生器M1产生一个范围在[1,N-1]的随机数r,r被输入到查找表M2,接着r与存储在查找表M2中的高斯分布频数进行比较,由比较器M3输出对应的高斯分布采样值x。同时,为了提高高斯采样模块输出范围,被输出的采样值x会再通过一个2to 1选择器M4和选择信号r[0]来决定最终输出高斯采样值为x或是q-x。选择器M4的两个输入端口的输入值分别为x和q-x。
在本发明的一个优选实施例中,假设由8bit-LFSR构建伪随机数发生器(PRNG)M1产生了一个随机数r0=160,通过比较器M3内部的判断函数freq(x-1)<r0≤freq(x),freq(x)为高斯采样值x的频数分布函数,可以找到查找表M2中对应的freq(1)=150、freq(2)=172和x=2。由于r0[0]=1’b0,通过选择器M4的选择,得到最终高斯采样模块输出的高斯采样值为2。
本发明设计了一种基于查找表(LUT)的高斯采样模块,用于生成系数满足高斯分布的多项式和噪声多项式。在模块内部的LFSR(线性反馈移位寄存器)产生的伪随机数源经由LUT后,即可输出对应的高斯采样值。由于无需涉及任何高斯采样中复杂的指数运算,该高斯采样模块占用电路资源极少,且内部LUT数据可修改,能与不同参数下的Ring-LWE加密方案匹配,满足了Ring-LWE加密方案在未来不同应用中低成本、可重构的要求。
图3为本发明实施例的一种环域上误差学习问题的加密电路涉及的迭代模乘法模块结构图。为满足环域上误差学习问题加解密算法电路低成本、低功耗的要求,本发明设计的迭代模乘法模块仅需数据在三个寄存器(第一寄存器Ra,第二寄存器Rb,第三寄存器S)中进行简单的模加和移位运算:第一寄存器Ra和第二寄存器Rb存储乘法器的两个输入数据,第三寄存器S中存放累加运算和并在控制信号的调度下输出最终的乘积结果。
在本发明的一个优选实施例中,如图3所示,迭代模乘法模块在内部状态控制器的调度下,在第i次迭代循环中,第一寄存器Ra存储的值的第i位输入到选择器M6中,作为选择信号;第二寄存器Rb存储的值输入给左移位器M5后,由左移位器M5输出左移i位并取模q的结果Rb’。左移位器M5输出到选择器M4的一个输入端,M4的另一个输入端口的输入值恒定为0。在选择信号的作用下,选择器M4将输出值Ra[i]*(Rb<<1)mod q通过模加法器M6累加到第三寄存器S中。直到i=MSB(Ra),迭代计算完毕,将寄存器S的结果输出。
本发明设计了一种精简的迭代模乘法模块。考虑到Ring-LWE加密方案中最核心的运算是模q下的乘法运算,迭代模乘法模块能通过循环迭代,仅由简单的模加和移位操作完成复杂的模乘运算,能让Ring-LWE加密方案以低成本、低功耗的电路结构得以实现。
在本发明的一个优选实施例中,如图1所示,基于格理论的环域上误差学习问题加解密算法过程如下:
步骤一:向所述加密电路中输入待加密的信息m,将m保存至待加密信息存储器中;
步骤二:从存有常量多项式a的待加密信息存储器中将a读入到高斯数据存储模块中,接着数论变换处理器对高斯数据存储模块中的a进行数论变换(NTT),得到NTT(a);
步骤三:将NTT(a)先后存储到读写存储器块密文存储模块的区域1和区域2中,区域1和区域2为读写存储器块内部地址大小为N的区域。
步骤四:高斯采样模块采样以生成私钥r2,存储在高斯数据存储模块中。数论变换处理器对高斯数据存储模块中的r2进行NTT变换,得到NTT(r2),并将NTT(r2)保存到私钥读写存储器等待解密时进行使用;
步骤五:调用迭代模乘法模块作点乘运算NTT(r2)*NTT(a),计算结果NTT(r2*a)按照地址顺序依次保存在密文存储模块的区域2中。
步骤六:高斯采样模块采样得到多项式r1,存储在高斯数据存储模块中。数论变换处理器对高斯数据存储模块中的r1进行NTT变换,得到NTT(r1),并将NTT(r1)与区域2中的NTT(r2*a)做运算NTT(r1)–NTT(a)·NTT(r2),计算结果NTT(p)按照地址顺序依次保存在密文存储模块的区域2中;
至此密钥产生的工作完成,进入加密运算的部分;
步骤七:高斯采样模块采样得到噪声多项式e1,存储在高斯数据存储模块中。数论变换处理器对高斯数据存储模块中的e1进行NTT变换,得到NTT(e1);
步骤八:调用迭代模乘法模块依次作点乘运算NTT(e1)*NTT(a)和NTT(e1)*NTT(p),计算结果NTT(e1*a)和NTT(e1*p)按照地址顺序依次保存在密文存储模块的区域1和区域2中;
步骤九:高斯采样模块采样得到噪声多项式e2,存储在高斯数据存储模块中。数论变换处理器对高斯数据存储模块中的e2进行NTT变换,得到NTT(e2),并将NTT(e2)与区域1中的NTT(e1*a)做运算NTT(e2)+NTT(a)·NTT(e1),计算结果NTT(c1)按照地址顺序依次保存在密文存储模块的区域1中,得到密文的第一部分;
步骤十:高斯采样模块采样得到噪声多项式e3,存储在高斯数据存储模块中。对Rm中的信息内容进行编码运算,0编码为0,1编码为2/q,得到f(m)∈Rq。进行模加运算得到e3’=e3+f(m),结果按照地址顺序依次保存在高斯数据存储模块中,其中,Rq为模值q下的整数环,q为模值。
步骤十一:数论变换处理器对高斯数据存储模块中的e3’进行NTT变换,得到NTT(e3’),并将NTT(e3’)与区域2中的NTT(e1*p)做运算NTT(e3’)+NTT(p)·NTT(e1),计算结果NTT(c2)按照地址顺序依次保存在密文存储模块的区域2中。得到密文的第二部分。
至此,加密运算已经完成,电路内部的读写存储器块密文存储模块存有密文NTT(c1)和NTT(c2)、读写存储器块存有私钥NTT(r2)供解密使用。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种环域上误差学习问题的加密方法,其特征在于,包括如下步骤:
S1:将待加密信息m中的常量多项式a进行数论变换,得到NTT(a);
S2:采样生成私钥r2,并对r2进行数论变换,得到NTT(r2);
S3:作点乘运算NTT(r2)*NTT(a),计算结果为NTT(r2*a);
S4:采样得到多项式r1,并对r1进行NTT变换,得到NTT(r1),并将NTT(r1)与NTT(r2*a)做运算NTT(r1)–NTT(a)·NTT(r2),计算结果NTT(p)作为环域上的困难学习问题加密方案的公钥;
S5:采样得到噪声多项式e1,并对e1进行NTT变换,得到NTT(e1);
S6:依次作点乘运算NTT(e1)*NTT(a)和NTT(e1)*NTT(p),将计算结果NTT(e1*a)和NTT(e1*p)按照地址顺序依次保存;
S7:采样得到噪声多项式e2,并对e2进行NTT变换,得到NTT(e2),并将NTT(e2)与NTT(e1*a)做运算NTT(e2)+NTT(a)·NTT(e1),将计算结果NTT(c1)按照地址顺序依次保存,得到密文的第一部分;
S8:采样得到噪声多项式e3,对待加密信息内容进行编码运算得到f(m)∈Rq,进行模加运算得到e3’=e3+f(m),结果按照地址顺序依次保存,其中,Rq为模值q下的整数环,q为模值;
S9:对e3’进行NTT变换,得到NTT(e3’),并将NTT(e3’)与NTT(e1*p)做运算NTT(e3’)+NTT(p)·NTT(e1),计算结果NTT(c2)按照地址顺序依次保存,得到密文的第二部分,从而实现对待加密信息m的加密。
2.根据权利要求1所述的一种环域上误差学习问题的加密方法,其特征在于,所述多项式r1、私钥r2、噪声多项式e1、e2及e3的系数满足高斯分布。
3.根据权利要求1所述的一种环域上误差学习问题的加密方法,其特征在于,所述常量多项式a满足均匀分布。
4.一种实现如权利要求1-3中任一项所述的环域上误差学习问题的加密方法的电路,其特征在于,该电路包括:加密控制器、待加密信息存储器、高斯采样模块、只读存储器、高斯数据存储模块、数论变换处理器、迭代模乘法模块以及密文存储模块;
其中,所述加密控制器的第一输出端与所述待加密信息存储器的输入端连接,用于对所述待加密信息在环域上进行编码并存储到所述待加密信息存储器中;
所述加密控制器的第二输出端与所述高斯采样模块的输入端连接,用于发出控制信号给所述高斯采样模块,控制所述高斯采样模块采样生成所述多项式r1和噪声多项式,并存储到所述高斯数据存储模块中;
所述只读存储器的输出端与所述高斯数据存储模块的输入端连接,用于读取储存所述常量多项式;
所述数论变换处理器的输入端与所述高斯数据存储模块的输出端连接,所述数论变换处理器的输出端与所述密文存储模块的输入端连接,用于对所述多项式r1、噪声多项式以及常量多项式进行数论变换;
所述迭代模乘法模块的输入端与所述高斯数据存储模块的输出端连接,所述迭代模乘法模块的输出端与所述密文存储模块的输入端连接,用于对所述数论变换后的多项式和常量多项式进行运算得到公钥;并对所述待加密信息、噪声多项式以及所述公钥进行加密运算后形成密文,并存储到密文存储模块中,实现对所述待加密信息的加密。
5.根据权利要求4所述的一种实现环域上误差学习问题的加密方法的电路,其特征在于,所述高斯采样模块包括伪随机数发生器,用于产生随机数,所述随机数的范围为[1,N-1],N为所述多项式r1的长度。
6.根据权利要求5所述的一种实现环域上误差学习问题的加密方法的电路,其特征在于,所述高斯采样模块还包括查找表和比较器,所述比较器的输入端与所述伪随机数发生器和查找表连接,所述查找表用于与所述随机数进行比较,由比较器输出对应的高斯分布采样值。
7.根据权利要求6所述的一种实现环域上误差学习问题的加密方法的电路,其特征在于,所述高斯采样模块还包括选择器,所述选择器的输入端与所述比较器连接,所述选择器用于根据所述高斯分布采样值决定最终输出系数满足高斯分布的多项式和噪声多项式。
8.根据权利要求4所述的一种实现环域上误差学习问题的加密方法的电路,其特征在于,所述迭代模乘法模块包括第一寄存器、第二寄存器、状态控制器、选择器以及左移位器,其中,所述状态控制器用于控制所述第一寄存器存储值输入到选择器中作为选择信号,并控制所述第二寄存器存储值输入给左移位器,左移位器用于对其进行移位后输出到所述选择器的一个输入端,所述选择器的另一个输入端的输入值恒为0,在选择信号的作用下,所述选择器对所述移位后的存储值进行选择并输出。
9.根据权利要求8所述的一种环域上误差学习问题的加密电路,其特征在于,所述迭代模乘法模块还包括模加法器和第三寄存器,所述模加法器用于对所述选择器输出的值进行累加,并存到所述第三寄存器中。
10.根据权利要求4所述的一种基于格理论的环域上误差学习问题加密电路,其特征在于,所述密文存储模块包括区域1和区域2,分别用于储存所述密文第一部分和密文第二部分。
CN201710081133.XA 2017-02-15 2017-02-15 一种环域上误差学习问题的加密方法及电路 Active CN106685663B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710081133.XA CN106685663B (zh) 2017-02-15 2017-02-15 一种环域上误差学习问题的加密方法及电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710081133.XA CN106685663B (zh) 2017-02-15 2017-02-15 一种环域上误差学习问题的加密方法及电路

Publications (2)

Publication Number Publication Date
CN106685663A CN106685663A (zh) 2017-05-17
CN106685663B true CN106685663B (zh) 2019-07-19

Family

ID=58862629

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710081133.XA Active CN106685663B (zh) 2017-02-15 2017-02-15 一种环域上误差学习问题的加密方法及电路

Country Status (1)

Country Link
CN (1) CN106685663B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10630655B2 (en) * 2017-05-18 2020-04-21 Robert Bosch Gmbh Post-quantum secure private stream aggregation
WO2019157503A1 (en) 2018-02-12 2019-08-15 Massachusetts Institute Of Technology Systems and methods for providing secure communications using a protocol engine
CN108923907B (zh) * 2018-06-20 2021-01-29 中国科学院重庆绿色智能技术研究院 一种基于模容错学习问题的同态内积方法
KR20210130196A (ko) * 2019-02-19 2021-10-29 메사추세츠 인스티튜트 오브 테크놀로지 양자-보안 사물 인터넷을 위한 설정가능한 래티스 암호 프로세서 및 관련된 기법들
CN109889321B (zh) * 2019-02-26 2020-09-18 清华大学 一种用于格公钥密码的错误采样方法
CN111079934B (zh) * 2019-11-18 2022-09-27 华中科技大学 应用于环域上误差学习加密算法的数论变换单元和方法
JP7273753B2 (ja) * 2020-03-06 2023-05-15 株式会社東芝 数論変換処理装置、数論変換処理方法及びプログラム
CN114793155A (zh) * 2022-04-12 2022-07-26 支付宝(杭州)信息技术有限公司 多方安全计算的方法及装置
CN115348017B (zh) * 2022-10-18 2023-02-07 阿里巴巴(中国)有限公司 密文处理方法以及装置
CN116366248B (zh) * 2023-05-31 2023-09-29 山东大学 基于紧凑指令集扩展的Kyber实现方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104396184A (zh) * 2012-04-12 2015-03-04 丁津泰 基于有错配对的新密码系统
WO2015184991A1 (en) * 2014-06-04 2015-12-10 Jintai Ding Improvements on cryptographic systems using pairing with errors

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9281941B2 (en) * 2012-02-17 2016-03-08 International Business Machines Corporation Homomorphic evaluation including key switching, modulus switching, and dynamic noise management
US9819650B2 (en) * 2014-07-22 2017-11-14 Nanthealth, Inc. Homomorphic encryption in a healthcare network environment, system and methods

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104396184A (zh) * 2012-04-12 2015-03-04 丁津泰 基于有错配对的新密码系统
WO2015184991A1 (en) * 2014-06-04 2015-12-10 Jintai Ding Improvements on cryptographic systems using pairing with errors

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Implementation of a Resource-Constrained ECC Processor with Power Analysis Countermeasure;Zilong Liu等;《2016 IEEE Asia Pacific Conference on Circuits and Systems (APCCAS)》;20170105;206-209页

Also Published As

Publication number Publication date
CN106685663A (zh) 2017-05-17

Similar Documents

Publication Publication Date Title
CN106685663B (zh) 一种环域上误差学习问题的加密方法及电路
Zhou et al. Quantum image encryption based on generalized Arnold transform and double random-phase encoding
Fritzmann et al. Efficient and flexible low-power NTT for lattice-based cryptography
WO2020172234A1 (en) Configurable lattice cryptography processor for the quantum-secure internet of things and related techniques
Coron et al. Higher-order side channel security and mask refreshing
Rudra et al. Efficient Rijndael encryption implementation with composite field arithmetic
Wang et al. Quantum image encryption algorithm based on quantum key image
Liu et al. An image encryption algorithm based on Baker map with varying parameter
Su et al. FPGA-based hardware accelerator for leveled ring-lwe fully homomorphic encryption
CN110166223A (zh) 一种国密sm4的快速软件实现方法
US11190340B2 (en) Efficient unified hardware implementation of multiple ciphers
Cai et al. A novel multi-wing chaotic system with FPGA implementation and application in image encryption
Kang et al. Fast image encryption algorithm based on (n, m, k)-PCMLCA
Agrawal et al. Fast arithmetic hardware library for rlwe-based homomorphic encryption
Khan et al. A fast quantum image encryption algorithm based on affine transform and fractional-order Lorenz-like chaotic dynamical system
Gupta et al. Accelerating fully homomorphic encryption with processing in memory
Yan et al. A conservative chaotic system with coexisting chaotic-like attractors and its application in image encryption
Behera et al. Design of novel hardware architecture for fully homomorphic encryption algorithms in fpga for real-time data in cloud computing
Folkerts et al. REDsec: Running Encrypted DNNs in Seconds.
CN110266481B (zh) 基于矩阵的后量子加、解密方法与解密装置
Rentería-Mejía et al. Lattice-based cryptoprocessor for CCA-secure identity-based encryption
Wang et al. An efficient multimode multiplier supporting AES and fundamental operations of public-key cryptosystems
Martins et al. A methodical FHE-based cloud computing model
Kabulov et al. Gost R 34.12-2015 (Kuznechik) analysis of a cryptographic algorithm
CN114826560A (zh) 一种轻量级分组密码cref实现方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant