本發(fā)明屬于信息安全算法及電路實現(xiàn)領(lǐng)域,特別涉及一種環(huán)域上誤差學(xué)習(xí)問題的加密方法及實現(xiàn)該方法的電路。
背景技術(shù):
基于格理論的密碼算法是目前公鑰加密技術(shù)中一個新的研究熱點。隨著量子計算機(jī)的出現(xiàn),傳統(tǒng)的公鑰加密體制如基于大整數(shù)分解的RSA(Rivest Shamir Adleman)和基于離散對數(shù)問題的橢圓曲線密碼算法(Elliptic Curve Cryptography,ECC)變得不再安全可靠。相較而言,基于格理論的密碼算法具有加密效率高,硬件實現(xiàn)簡單,抗量子攻擊等方面的優(yōu)點,是后量子時代極具潛力的能解決信息安全問題的密碼方案。
目前基于格困難性構(gòu)造的加密方案中,效率最高的是基于誤差學(xué)習(xí)問題(learning with error,LWE)而構(gòu)造的加密方案。環(huán)域上的誤差學(xué)習(xí)問題(Ring-LWE)加密方案是在LWE加密方案上的改進(jìn),不同的是它整個的加密解密都是在環(huán)域(Ring)中進(jìn)行的,加密和解密過程中的乘法運算是多項式乘法。與LWE方案相比,Ring-LWE方案的性能整體上優(yōu)于LWE方案:Ring-LWE方案的錯誤率更低,密文擴(kuò)展更小,最重要的一點是,Ring-LWE方案的公鑰長度很小,能夠控制在2kbits~5kbits,和RSA方案的公鑰長度差不多。并且,Ring-LWE方案運算速度也更快,準(zhǔn)確率也更高??紤]到Ring-LWE加密方案具有的抗量子攻擊的特性以及易實現(xiàn)性,為了該加密方案能在未來日常應(yīng)用中的實現(xiàn),設(shè)計出資源占用少、功耗小、成本低的Ring-LWE硬件加密電路是一個值得深入研究的問題。
文獻(xiàn)“Towards Practical Lattice-Based Public-Key Encryption on Reconfigurable Hardware”(T,Güneysu T.Selected A:reas in Cryptography--SAC 2013.Springer Berlin Heidelberg,2013:68-85.)公開了一種Ring-LWE加密處理器。但該文獻(xiàn)公開的Ring-LWE加密處理器存在如下缺陷或不足:
(1)從最終現(xiàn)場可編程門陣列(Field-Programmable Gate Array,FPGA)平臺上的資源消耗和運算性能進(jìn)行折中分析,可以看到,該文獻(xiàn)中所提出的Ring-LWE加密處理器需要大量的LUT單元以及復(fù)雜的數(shù)字信號處理(Digital Signal Process,DSP)模塊和存儲器模塊,消耗電路資源過于龐大。且該Ring-LWE加密處理器過于追求速度和吞吐量,并不具備實用性和通用性。
(2)在輕量級應(yīng)用或資源限定的應(yīng)用場合,如:金融IC卡或射頻標(biāo)簽中,需要低成本、易實現(xiàn)的安全加密電路。顯然,文獻(xiàn)中的Ring-LWE加密處理器由于其設(shè)計上的復(fù)雜度而很難在這些場合得以實現(xiàn)和應(yīng)用。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)的以上缺陷或改進(jìn)需求,本發(fā)明提供了一種環(huán)域上誤差學(xué)習(xí)問題的加密方法及電路,其目的在于通過高斯采樣模塊用于采樣系數(shù)滿足高斯分布的多項式和噪聲多項式,所述多項式形成公匙和私匙,所述噪聲多項式形成密文,采用數(shù)論變換處理器在采樣后對所述多項式和噪聲多項式進(jìn)行數(shù)論變換,并在所述密文解密完成后對其進(jìn)行數(shù)論逆變換,通過加密控制器用于控制所述電路對所述密文和私匙在所述環(huán)域上進(jìn)行加解密運算,實現(xiàn)加解密工作,極大地縮減加解密過程的計算復(fù)雜度,從而減少運算時間,提高電路的運行效率,減小電路損耗,降低Ring-LWE加解密電路的實現(xiàn)成本。
為了實現(xiàn)上述目的,作為本發(fā)明的一個方面,提供一種環(huán)域上誤差學(xué)習(xí)問題的加密方法,包括如下步驟:
S1:將待加密信息m中的常量多項式a進(jìn)行數(shù)論變換,得到NTT(a);
S2:采樣生成私鑰r2,并對r2進(jìn)行數(shù)論變換,得到NTT(r2);
S3:作點乘運算NTT(r2)*NTT(a),計算結(jié)果為NTT(r2*a);
S4:采樣得到多項式r1,并對r1進(jìn)行NTT變換,得到NTT(r1),并將NTT(r1)與NTT(r2*a)做運算NTT(r1)–NTT(a)·NTT(r2),計算結(jié)果NTT(p)作為環(huán)域上的困難學(xué)習(xí)問題加密方案的公鑰;
S5:采樣得到噪聲多項式e1,并對e1進(jìn)行NTT變換,得到NTT(e1);
S6:依次作點乘運算NTT(e1)*NTT(a)和NTT(e1)*NTT(p),將計算結(jié)果NTT(e1*a)和NTT(e1*p)按照地址順序依次保存;
S7:采樣得到噪聲多項式e2,并對e2進(jìn)行NTT變換,得到NTT(e2),并將NTT(e2)與NTT(e1*a)做運算NTT(e2)+NTT(a)·NTT(e1),將計算結(jié)果NTT(c1)按照地址順序依次保存,得到密文的第一部分;
S8:采樣得到噪聲多項式e3,對待加密信息內(nèi)容進(jìn)行編碼運算得到f(m)∈Rq,進(jìn)行模加運算得到e3’=e3+f(m),結(jié)果按照地址順序依次保存,其中,Rq為模值q下的整數(shù)環(huán),q為模值;
S9:對e3’進(jìn)行NTT變換,得到NTT(e3’),并將NTT(e3’)與NTT(e1*p)做運算NTT(e3’)+NTT(p)·NTT(e1),計算結(jié)果NTT(c2)按照地址順序依次保存,得到密文的第二部分,從而實現(xiàn)對待加密信息m的加密。
進(jìn)一步地,所述多項式r1、私鑰r2、噪聲多項式e1、e2及e3的系數(shù)滿足高斯分布。
進(jìn)一步地,所述常量多項式a滿足均勻分布。
作為本發(fā)明的另一個方面,提供一種實現(xiàn)所述的環(huán)域上誤差學(xué)習(xí)問題的加密方法的電路,該電路包括:加密控制器、待加密信息存儲器、高斯采樣模塊、只讀存儲器、高斯數(shù)據(jù)存儲模塊、數(shù)論變換處理器、迭代模乘法模塊以及密文存儲模塊;
其中,所述加密控制器的第一輸出端與所述待加密信息存儲器的輸入端連接,用于對所述待加密信息在環(huán)域上進(jìn)行編碼并存儲到所述待加密信息存儲器中;
所述加密控制器的第二輸出端與所述高斯采樣模塊的輸入端連接,用于發(fā)出控制信號給所述高斯采樣模塊,控制所述高斯采樣模塊采樣生成所述多項式和噪聲多項式,并存儲到所述高斯數(shù)據(jù)存儲模塊中;
所述只讀存儲器的輸出端與所述高斯數(shù)據(jù)存儲模塊的輸入端連接,用于讀取儲存所述常量多項式;
所述數(shù)論變換處理器的輸入端與所述高斯數(shù)據(jù)存儲模塊的輸出端連接,所述數(shù)論變換處理器的輸出端與所述密文存儲模塊的輸入端連接,用于對所述多項式、噪聲多項式以及常量多項式進(jìn)行數(shù)論變換;
所述迭代模乘法模塊的輸入端與所述高斯數(shù)據(jù)存儲模塊的輸出端連接,所述迭代模乘法模塊的輸出端與所述密文存儲模塊的輸入端連接,用于對所述數(shù)論變換后的多項式和常量多項式進(jìn)行運算得到公鑰;并對所述待加密信息、噪聲多項式以及所述公鑰進(jìn)行加密運算后形成密文,并存儲到密文存儲模塊中,實現(xiàn)對所述待加密信息的加密。
進(jìn)一步地,所述高斯采樣模塊包括偽隨機(jī)數(shù)發(fā)生器,用于產(chǎn)生隨機(jī)數(shù),所述隨機(jī)數(shù)的范圍為[1,N-1],N為所述多項式的長度。
進(jìn)一步地,所述高斯采樣模塊還包括查找表和比較器,所述比較器的輸入端與所述偽隨機(jī)數(shù)發(fā)生器和查找表連接,所述查找表用于與所述隨機(jī)數(shù)進(jìn)行比較,由比較器輸出對應(yīng)的高斯分布采樣值。
進(jìn)一步地,所述高斯采樣模塊還包括選擇器,所述選擇器的輸入端與所述比較器連接,所述選擇器用于根據(jù)所述高斯分布采樣值決定最終輸出系數(shù)滿足高斯分布的多項式和噪聲多項式。
進(jìn)一步地,所述迭代模乘法模塊包括第一寄存器、第二寄存器、狀態(tài)控制器、選擇器以及左移位器,其中,所述狀態(tài)控制器用于控制所述第一寄存器存儲值輸入到選擇器中作為選擇信號,并控制所述第二寄存器存儲值輸入給左移位器,左移位器用于對其進(jìn)行移位后輸出到所述選擇器的一個輸入端,所述選擇器的另一個輸入端的輸入值恒為0,在選擇信號的作用下,所述選擇器對所述移位后的存儲值進(jìn)行選擇并輸出。
進(jìn)一步地,所述迭代模乘法模塊還包括模加法器和第三寄存器,所述模加法器用于對所述選擇器輸出的值進(jìn)行累加,并存到所述第三寄存器中。
進(jìn)一步地,所述密文存儲模塊包括區(qū)域1和區(qū)域2,分別用于儲存所述密文第一部分和密文第二部分。
總體而言,通過本發(fā)明所構(gòu)思的以上技術(shù)方案與現(xiàn)有技術(shù)相比,能夠取得下列有益效果:
(1)本發(fā)明的方法,在加解密運算過程里,密鑰產(chǎn)生和加密階段中不需要inv_NTT運算,因此能夠極大地縮減加解密過程的計算復(fù)雜度,占用電路資源極少,且內(nèi)部LUT數(shù)據(jù)可修改,能與不同參數(shù)下的Ring-LWE加密方案匹配,滿足了Ring-LWE加密方案在未來不同應(yīng)用中低成本、可重構(gòu)的要求,而且該Ring-LWE加密方案低成本、低功耗。
(2)本發(fā)明的電路,通過高斯采樣模塊用于采樣系數(shù)滿足高斯分布的多項式和噪聲多項式,采用數(shù)論變換處理器在采樣后對所述多項式和噪聲多項式進(jìn)行數(shù)論變換,所述多項式經(jīng)過運算得到公鑰和私鑰,所述待加密信息、噪聲多項式以及所述公鑰進(jìn)行加密運算后形成密文,并存儲到密文存儲模塊中,實現(xiàn)對所述待加密信息的加密,極大地縮減加密過程的計算復(fù)雜度,從而減少運算時間,提高了電路的運行效率,減小了電路損耗,降低了Ring-LWE加密電路的實現(xiàn)成本。
(3)作為優(yōu)化,本發(fā)明設(shè)計了一種基于查找表(LUT)的高斯采樣模塊,用于生成系數(shù)滿足高斯分布的多項式和噪聲多項式。在模塊內(nèi)部的LFSR(線性反饋移位寄存器)產(chǎn)生的偽隨機(jī)數(shù)源經(jīng)由LUT后,即可輸出對應(yīng)的高斯采樣值。由于無需涉及任何高斯采樣中復(fù)雜的指數(shù)運算,該高斯采樣模塊占用電路資源極少,且內(nèi)部LUT數(shù)據(jù)可修改,能與不同參數(shù)下的Ring-LWE加密方案匹配,滿足了Ring-LWE加密方案在未來不同應(yīng)用中低成本、可重構(gòu)的要求。
(4)作為優(yōu)化,本發(fā)明設(shè)計了一種精簡的迭代模乘法模塊??紤]到Ring-LWE加密方案中最核心的運算是模q下的乘法運算,迭代模乘法模塊能通過循環(huán)迭代,僅由簡單的模加和移位操作完成復(fù)雜的模乘運算,能讓Ring-LWE加密方案以低成本、低功耗的電路結(jié)構(gòu)得以實現(xiàn)。
附圖說明
圖1為本發(fā)明實施例的一種環(huán)域上誤差學(xué)習(xí)問題的加密電路結(jié)構(gòu)圖;
圖2為本發(fā)明實施例的一種環(huán)域上誤差學(xué)習(xí)問題的加密電路涉及的高斯采樣模塊結(jié)構(gòu)圖;
圖3為本發(fā)明實施例的一種環(huán)域上誤差學(xué)習(xí)問題的加密電路涉及的模乘法模塊結(jié)構(gòu)圖。
所有附圖中,相同的附圖標(biāo)記表示同一個電路元件,其中:M1-偽隨機(jī)數(shù)發(fā)生器、M2-查找表、M3-比較器、M4-選擇器、M5-左移位器、M6-模加法器。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個實施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。
圖1為本發(fā)明實施例的一種環(huán)域上誤差學(xué)習(xí)問題的加密電路結(jié)構(gòu)圖。如圖1所示,該電路包括加密控制器、待加密信息存儲器、高斯采樣模塊、高斯數(shù)據(jù)存儲模塊、數(shù)論變換處理器、迭代模乘法器、密文存模塊、私鑰讀寫存儲器以及只讀存儲器;
其中,所述加密控制器的第一輸出端與所述待加密信息存儲器的輸入端連接,所述待加密信息存儲器的輸出端與所述高斯數(shù)據(jù)存儲模塊的輸入端連接;
所述加密控制器的第二輸出端與所述高斯采樣模塊的輸入端連接,所述高斯采樣模塊的輸出端與所述高斯數(shù)據(jù)存儲模塊的輸入端連接,所述只讀存存器的輸出端與所述高斯數(shù)據(jù)存儲模塊的輸入端連接;
所述高斯數(shù)據(jù)存儲模塊的輸出端分別與所述數(shù)論變換處理器、迭代模乘法模塊以及私鑰讀寫存存器的輸入端連接,所述迭代模乘法模塊的輸出端與所述密文存儲模塊的輸入端連接;所述數(shù)論變換處理器的輸出端與所述密文存儲模塊的輸入端連接,所述密文存儲模塊的輸出端與所述迭代模乘法模塊輸入端連接;
如圖1所示,所述加密控制器用于對輸入的加密信息m進(jìn)行編碼,讓m的值限定在環(huán)域Rq中,即f(m)∈Rq,并存儲到所述待加密信息存儲器中。
所述高斯采樣器用于采樣系數(shù)滿足高斯分布χσ的多項式r1∈Rq和r2∈Rq,得到公鑰:
p=r1-a·r2∈Rq;
其中,多項式p為環(huán)域上的困難學(xué)習(xí)問題加密方案的公鑰,多項式r2作為私鑰,a為系數(shù)滿足均勻分布U(0,q)的常量多項式,q為模值,Rq為模值q下的整數(shù)環(huán);
高斯采樣器用于采樣得到三個系數(shù)滿足高斯分布χσ的噪聲多項式e1,e2,e3∈Rq,得到第一段密文c1:
c1=a·e1+e2∈Rq;
以及第二段密文c2:
c2=p·e1+e3+f(m)∈Rq。
如圖1所示,所述數(shù)論變換處理器用于對所述多項式和噪聲多項式進(jìn)行數(shù)論變換;
所述公鑰p的數(shù)論變換為:
NTT(p)=NTT(r1)–NTT(a)*NTT(r2)∈Rq;
其中,NTT為數(shù)論變換。
所述密文c1和c2的數(shù)論變換為:
NTT(c1)=NTT(a)*NTT(e1)+NTT(e2)∈Rq;
NTT(c2)=NTT(p)*NTT(e1)+NTT(e3+f(m))∈Rq。
所述迭代模乘法模塊用于對所述多項式和常量多項式進(jìn)行運算得到公鑰;并對所述待加密信息、噪聲多項式以及所述公鑰進(jìn)行加密運算后形成密文;
所述加密控制器的第三輸出端與所述密文存儲模塊的輸入端連接,用于控制所述密文存儲模塊存儲所述密文,實現(xiàn)對所述待加密信息的加密。
本發(fā)明的電路,通過高斯采樣模塊用于采樣系數(shù)滿足高斯分布的多項式和噪聲多項式,采用數(shù)論變換處理器在采樣后對所述多項式和噪聲多項式進(jìn)行數(shù)論變換,所述多項式經(jīng)過運算得到公鑰和私鑰,所述待加密信息、噪聲多項式以及所述公鑰進(jìn)行加密運算后形成密文,并存儲到密文存儲模塊中,實現(xiàn)對所述待加密信息的加密,極大地縮減加密過程的計算復(fù)雜度,從而減少運算時間,提高了電路的運行效率,減小了電路損耗,降低了Ring-LWE加密電路的實現(xiàn)成本。
圖2為本發(fā)明實施例的一種環(huán)域上誤差學(xué)習(xí)問題的加密電路涉及的高斯采樣模塊結(jié)構(gòu)圖。為滿足環(huán)域上誤差學(xué)習(xí)問題加解密算法電路低成本的要求,本發(fā)明設(shè)計了一種基于查找表(LUT)的高斯采樣模塊。如附圖2所示,所述高斯采樣模塊包括偽隨機(jī)數(shù)發(fā)生器M1、查找表M2、比較器M3、選擇器M4。
工作時,一個由log2N bit-LFSR構(gòu)建的偽隨機(jī)數(shù)發(fā)生器M1產(chǎn)生一個范圍在[1,N-1]的隨機(jī)數(shù)r,r被輸入到查找表M2,接著r與存儲在查找表M2中的高斯分布頻數(shù)進(jìn)行比較,由比較器M3輸出對應(yīng)的高斯分布采樣值x。同時,為了提高高斯采樣模塊輸出范圍,被輸出的采樣值x會再通過一個2to 1選擇器M4和選擇信號r[0]來決定最終輸出高斯采樣值為x或是q-x。選擇器M4的兩個輸入端口的輸入值分別為x和q-x。
在本發(fā)明的一個優(yōu)選實施例中,假設(shè)由8bit-LFSR構(gòu)建偽隨機(jī)數(shù)發(fā)生器(PRNG)M1產(chǎn)生了一個隨機(jī)數(shù)r0=160,通過比較器M3內(nèi)部的判斷函數(shù)freq(x-1)<r0≤freq(x),freq(x)為高斯采樣值x的頻數(shù)分布函數(shù),可以找到查找表M2中對應(yīng)的freq(1)=150、freq(2)=172和x=2。由于r0[0]=1’b0,通過選擇器M4的選擇,得到最終高斯采樣模塊輸出的高斯采樣值為2。
本發(fā)明設(shè)計了一種基于查找表(LUT)的高斯采樣模塊,用于生成系數(shù)滿足高斯分布的多項式和噪聲多項式。在模塊內(nèi)部的LFSR(線性反饋移位寄存器)產(chǎn)生的偽隨機(jī)數(shù)源經(jīng)由LUT后,即可輸出對應(yīng)的高斯采樣值。由于無需涉及任何高斯采樣中復(fù)雜的指數(shù)運算,該高斯采樣模塊占用電路資源極少,且內(nèi)部LUT數(shù)據(jù)可修改,能與不同參數(shù)下的Ring-LWE加密方案匹配,滿足了Ring-LWE加密方案在未來不同應(yīng)用中低成本、可重構(gòu)的要求。
圖3為本發(fā)明實施例的一種環(huán)域上誤差學(xué)習(xí)問題的加密電路涉及的迭代模乘法模塊結(jié)構(gòu)圖。為滿足環(huán)域上誤差學(xué)習(xí)問題加解密算法電路低成本、低功耗的要求,本發(fā)明設(shè)計的迭代模乘法模塊僅需數(shù)據(jù)在三個寄存器(第一寄存器Ra,第二寄存器Rb,第三寄存器S)中進(jìn)行簡單的模加和移位運算:第一寄存器Ra和第二寄存器Rb存儲乘法器的兩個輸入數(shù)據(jù),第三寄存器S中存放累加運算和并在控制信號的調(diào)度下輸出最終的乘積結(jié)果。
在本發(fā)明的一個優(yōu)選實施例中,如圖3所示,迭代模乘法模塊在內(nèi)部狀態(tài)控制器的調(diào)度下,在第i次迭代循環(huán)中,第一寄存器Ra存儲的值的第i位輸入到選擇器M6中,作為選擇信號;第二寄存器Rb存儲的值輸入給左移位器M5后,由左移位器M5輸出左移i位并取模q的結(jié)果Rb’。左移位器M5輸出到選擇器M4的一個輸入端,M4的另一個輸入端口的輸入值恒定為0。在選擇信號的作用下,選擇器M4將輸出值Ra[i]*(Rb<<1)mod q通過模加法器M6累加到第三寄存器S中。直到i=MSB(Ra),迭代計算完畢,將寄存器S的結(jié)果輸出。
本發(fā)明設(shè)計了一種精簡的迭代模乘法模塊??紤]到Ring-LWE加密方案中最核心的運算是模q下的乘法運算,迭代模乘法模塊能通過循環(huán)迭代,僅由簡單的模加和移位操作完成復(fù)雜的模乘運算,能讓Ring-LWE加密方案以低成本、低功耗的電路結(jié)構(gòu)得以實現(xiàn)。
在本發(fā)明的一個優(yōu)選實施例中,如圖1所示,基于格理論的環(huán)域上誤差學(xué)習(xí)問題加解密算法過程如下:
步驟一:向所述加密電路中輸入待加密的信息m,將m保存至待加密信息存儲器中;
步驟二:從存有常量多項式a的待加密信息存儲器中將a讀入到高斯數(shù)據(jù)存儲模塊中,接著數(shù)論變換處理器對高斯數(shù)據(jù)存儲模塊中的a進(jìn)行數(shù)論變換(NTT),得到NTT(a);
步驟三:將NTT(a)先后存儲到讀寫存儲器塊密文存儲模塊的區(qū)域1和區(qū)域2中,區(qū)域1和區(qū)域2為讀寫存儲器塊內(nèi)部地址大小為N的區(qū)域。
步驟四:高斯采樣模塊采樣以生成私鑰r2,存儲在高斯數(shù)據(jù)存儲模塊中。數(shù)論變換處理器對高斯數(shù)據(jù)存儲模塊中的r2進(jìn)行NTT變換,得到NTT(r2),并將NTT(r2)保存到私鑰讀寫存儲器等待解密時進(jìn)行使用;
步驟五:調(diào)用迭代模乘法模塊作點乘運算NTT(r2)*NTT(a),計算結(jié)果NTT(r2*a)按照地址順序依次保存在密文存儲模塊的區(qū)域2中。
步驟六:高斯采樣模塊采樣得到多項式r1,存儲在高斯數(shù)據(jù)存儲模塊中。數(shù)論變換處理器對高斯數(shù)據(jù)存儲模塊中的r1進(jìn)行NTT變換,得到NTT(r1),并將NTT(r1)與區(qū)域2中的NTT(r2*a)做運算NTT(r1)–NTT(a)·NTT(r2),計算結(jié)果NTT(p)按照地址順序依次保存在密文存儲模塊的區(qū)域2中;
至此密鑰產(chǎn)生的工作完成,進(jìn)入加密運算的部分;
步驟七:高斯采樣模塊采樣得到噪聲多項式e1,存儲在高斯數(shù)據(jù)存儲模塊中。數(shù)論變換處理器對高斯數(shù)據(jù)存儲模塊中的e1進(jìn)行NTT變換,得到NTT(e1);
步驟八:調(diào)用迭代模乘法模塊依次作點乘運算NTT(e1)*NTT(a)和NTT(e1)*NTT(p),計算結(jié)果NTT(e1*a)和NTT(e1*p)按照地址順序依次保存在密文存儲模塊的區(qū)域1和區(qū)域2中;
步驟九:高斯采樣模塊采樣得到噪聲多項式e2,存儲在高斯數(shù)據(jù)存儲模塊中。數(shù)論變換處理器對高斯數(shù)據(jù)存儲模塊中的e2進(jìn)行NTT變換,得到NTT(e2),并將NTT(e2)與區(qū)域1中的NTT(e1*a)做運算NTT(e2)+NTT(a)·NTT(e1),計算結(jié)果NTT(c1)按照地址順序依次保存在密文存儲模塊的區(qū)域1中,得到密文的第一部分;
步驟十:高斯采樣模塊采樣得到噪聲多項式e3,存儲在高斯數(shù)據(jù)存儲模塊中。對Rm中的信息內(nèi)容進(jìn)行編碼運算,0編碼為0,1編碼為2/q,得到f(m)∈Rq。進(jìn)行模加運算得到e3’=e3+f(m),結(jié)果按照地址順序依次保存在高斯數(shù)據(jù)存儲模塊中,其中,Rq為模值q下的整數(shù)環(huán),q為模值。
步驟十一:數(shù)論變換處理器對高斯數(shù)據(jù)存儲模塊中的e3’進(jìn)行NTT變換,得到NTT(e3’),并將NTT(e3’)與區(qū)域2中的NTT(e1*p)做運算NTT(e3’)+NTT(p)·NTT(e1),計算結(jié)果NTT(c2)按照地址順序依次保存在密文存儲模塊的區(qū)域2中。得到密文的第二部分。
至此,加密運算已經(jīng)完成,電路內(nèi)部的讀寫存儲器塊密文存儲模塊存有密文NTT(c1)和NTT(c2)、讀寫存儲器塊存有私鑰NTT(r2)供解密使用。
本領(lǐng)域的技術(shù)人員容易理解,以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。