本發(fā)明涉及計算機(jī)領(lǐng)域中隱私計算,并特別涉及一種基于協(xié)加速器的多項式模乘的高效計算方法、裝置、電子設(shè)備、計算機(jī)可讀存儲介質(zhì)和計算機(jī)程序產(chǎn)品。
背景技術(shù):
1、在隱私計算中,數(shù)論變換ntt運(yùn)算常用于同態(tài)加密、安全多方計算和隱私保護(hù)的機(jī)器學(xué)習(xí)算法。這些應(yīng)用場景要求在不泄露各自數(shù)據(jù)的前提下,進(jìn)行數(shù)據(jù)的聯(lián)合分析和計算。
2、現(xiàn)有技術(shù)的時域多項式乘法原理是直接計算多項式系數(shù)之間的乘積并累加,多項式p(x)和q(x)在隱私計算中代表加密后的數(shù)據(jù)或特征,這些多項式通過ntt變換到數(shù)論域,使得在加密狀態(tài)下也能進(jìn)行有效的數(shù)學(xué)運(yùn)算。對于兩個多項式a(x)和b(x),其乘積c(x)的系數(shù)ck可以表示為:計算復(fù)雜度為o(n2)。其實(shí)現(xiàn)簡單,適合小規(guī)模運(yùn)算。對于大規(guī)模多項式運(yùn)算,計算效率低。為此數(shù)論變換(ntt)將多項式轉(zhuǎn)換到數(shù)論域進(jìn)行點(diǎn)乘,再通過逆ntt轉(zhuǎn)換回時域。計算復(fù)雜度為o(nlogn)。
3、c(x)=intt(ntt(a(x)).ntt(b(x)))
4、數(shù)論變換(ntt)雖然高效,特別是在模數(shù)運(yùn)算環(huán)境下。但實(shí)現(xiàn)復(fù)雜,需要特定的模數(shù)和原根選擇。
5、硬件加速與并行計算利用現(xiàn)代硬件的并行處理能力,如單指令多數(shù)據(jù)simd架構(gòu),來加速計算。simd可以同時對多個數(shù)據(jù)執(zhí)行相同的操作,從而顯著提升計算速度,能顯著提高大規(guī)模和高復(fù)雜度運(yùn)算的性能,需要針對特定硬件進(jìn)行優(yōu)化設(shè)計,增加了實(shí)現(xiàn)復(fù)雜性。
6、綜上所述,上述技術(shù)存在如下技術(shù)缺陷:
7、時域多項式乘法計算效率低,計算復(fù)雜度高,難以在大規(guī)模運(yùn)算中表現(xiàn)出色,且缺乏并行處理,無法有效利用現(xiàn)代硬件的并行處理能力。數(shù)論變換(ntt)實(shí)現(xiàn)復(fù)雜,ntt需要特定的模數(shù)和原根,選擇和優(yōu)化較為復(fù)雜,且硬件加速利用有限,傳統(tǒng)的ntt實(shí)現(xiàn)尚未充分利用硬件加速器的并行處理能力,特別是simd架構(gòu)。硬件加速與并行計算優(yōu)化和實(shí)現(xiàn)復(fù)雜,利用硬件加速器進(jìn)行運(yùn)算需要專門的優(yōu)化和實(shí)現(xiàn),且通用性有限,需要針對特定硬件進(jìn)行優(yōu)化,難以在不同的計算環(huán)境中通用。
8、本發(fā)明針對上述技術(shù)缺陷,在ntt的計算過程中,充分利用現(xiàn)代硬件架構(gòu)(特別是simd)的并行處理能力來加速多項式模乘運(yùn)算。
技術(shù)實(shí)現(xiàn)思路
1、有技術(shù)在處理大規(guī)模和高復(fù)雜度多項式運(yùn)算時存在顯著的性能瓶頸,具體表現(xiàn)為:1.計算效率低:傳統(tǒng)的時域多項式乘法在計算復(fù)雜度上無法滿足大規(guī)模運(yùn)算的需求。2.未充分利用硬件加速能力:現(xiàn)有的ntt實(shí)現(xiàn)沒有充分利用現(xiàn)代硬件架構(gòu)(如hwacha?simd)的并行處理能力。3.數(shù)據(jù)傳輸效率低:ntt運(yùn)算和硬件加速模塊之間的數(shù)據(jù)交換沒有得到有效優(yōu)化,影響了整體性能。
2、本發(fā)明旨在解決上述現(xiàn)有技術(shù)問題,通過提出一種結(jié)合hwacha?simd架構(gòu)與ntt的多項式模乘高效計算方法及系統(tǒng),顯著提高多項式模乘運(yùn)算的效率和性能,特別是在隱私計算和密碼學(xué)的應(yīng)用場景中。本發(fā)明通過simd和ntt的結(jié)合,可以顯著減少多項式乘法的計算時間,從而加快隱私計算中數(shù)據(jù)處理的速度。提高安全性:高效的計算方法可以確保在處理大規(guī)模加密數(shù)據(jù)時,運(yùn)算的安全性和穩(wěn)定性。適應(yīng)性強(qiáng):該方法不僅適用于隱私計算,還可以廣泛應(yīng)用于其他需要高效多項式運(yùn)算的領(lǐng)域,如密碼學(xué)、數(shù)字簽名等。
3、針對現(xiàn)有技術(shù)的不足,如圖3所示,本發(fā)明提出一種基于協(xié)加速器的多項式模乘的高效計算方法,其中包括:
4、預(yù)處理步驟,處理器從內(nèi)存獲取待多項式模乘的原始多項式對,在預(yù)定的模數(shù)范圍將各原始多項式的系數(shù)調(diào)整為用于數(shù)論變換變換的格式,得到預(yù)處理多項式,并將其寫回內(nèi)存;
5、正變換步驟,數(shù)論變換單元讀取該預(yù)處理多項式對,通過執(zhí)行正向數(shù)論變換ntt變換,將該預(yù)處理多項式的時域系數(shù)轉(zhuǎn)換為頻域表示,得到多項式頻域表示并寫回內(nèi)存;
6、點(diǎn)乘步驟,該處理器啟動和控制協(xié)加速器從內(nèi)存加載該多項式頻域表示,并由協(xié)加速器中多個處理單元并行對該多項式頻域表示進(jìn)行逐元素點(diǎn)乘,點(diǎn)乘結(jié)果存儲回內(nèi)存;
7、逆變換步驟,該處理器調(diào)度和控制該數(shù)論變換單元讀取該點(diǎn)乘結(jié)果,并對其執(zhí)行逆數(shù)論變換ntt變換,以將頻域數(shù)據(jù)轉(zhuǎn)換為時域表示,得到多項式時域表示;
8、結(jié)果處理步驟,該處理器對該多項式時域表示進(jìn)行調(diào)整后,得到該原始多項式對的多項式模乘結(jié)果。
9、所述的基于協(xié)加速器的多項式模乘的高效計算方法,其中該點(diǎn)乘步驟包括:
10、將多項式的系數(shù)運(yùn)算分配到該協(xié)加速器中的多個處理單元,該處理單元包括向量寄存器和算術(shù)邏輯單元alu,通過單指令多數(shù)據(jù)流simd指令同時對多個處理單元執(zhí)行相同的操作,實(shí)現(xiàn)該點(diǎn)乘運(yùn)算的并行處理。
11、所述的基于協(xié)加速器的多項式模乘的高效計算方法,其中該數(shù)論變換單元和該協(xié)加速器數(shù)據(jù)交互時,利用該協(xié)加速器的多通道內(nèi)存訪問,加速數(shù)據(jù)的加載和存儲;通過循環(huán)展開、向量化,減少數(shù)據(jù)傳輸?shù)拈_銷;通過緩存機(jī)制,減少從內(nèi)存到該協(xié)加速器的數(shù)據(jù)傳輸次數(shù)。
12、所述的基于協(xié)加速器的多項式模乘的高效計算方法,其中該結(jié)果處理步驟包括:
13、格式調(diào)整:將該多項式時域表示轉(zhuǎn)換為預(yù)設(shè)格式,并將多項式乘法涉及到的多個階段或多個數(shù)據(jù)塊的結(jié)果合并,得到該多項式模乘結(jié)果。
14、如圖4所示,本發(fā)明還提出了一種基于協(xié)加速器的多項式模乘的高效計算裝置,其中包括:
15、預(yù)處理模塊,處理器從內(nèi)存獲取待多項式模乘的原始多項式對,在預(yù)定的模數(shù)范圍將各原始多項式的系數(shù)調(diào)整為用于數(shù)論變換變換的格式,得到預(yù)處理多項式,并將其寫回內(nèi)存;
16、正變換模塊,數(shù)論變換單元讀取該預(yù)處理多項式對,通過執(zhí)行正向數(shù)論變換ntt變換,將該預(yù)處理多項式的時域系數(shù)轉(zhuǎn)換為頻域表示,得到多項式頻域表示并寫回內(nèi)存;
17、點(diǎn)乘模塊,該處理器啟動和控制協(xié)加速器從內(nèi)存加載該多項式頻域表示,并由協(xié)加速器中多個處理單元并行對該多項式頻域表示進(jìn)行逐元素點(diǎn)乘,點(diǎn)乘結(jié)果存儲回內(nèi)存;
18、逆變換模塊,該處理器調(diào)度和控制該數(shù)論變換單元讀取該點(diǎn)乘結(jié)果,并對其執(zhí)行逆數(shù)論變換ntt變換,以將頻域數(shù)據(jù)轉(zhuǎn)換為時域表示,得到多項式時域表示;
19、結(jié)果處理模塊,該處理器對該多項式時域表示進(jìn)行調(diào)整后,得到該原始多項式對的多項式模乘結(jié)果。
20、所述的基于協(xié)加速器的多項式模乘的高效計算裝置,其中該點(diǎn)乘模塊包括:
21、將多項式的系數(shù)運(yùn)算分配到該協(xié)加速器中的多個處理單元,該處理單元包括向量寄存器和算術(shù)邏輯單元alu,通過單指令多數(shù)據(jù)流simd指令同時對多個處理單元執(zhí)行相同的操作,實(shí)現(xiàn)該點(diǎn)乘運(yùn)算的并行處理。
22、所述的基于協(xié)加速器的多項式模乘的高效計算裝置,其中該數(shù)論變換單元和該協(xié)加速器數(shù)據(jù)交互時,利用該協(xié)加速器的多通道內(nèi)存訪問,加速數(shù)據(jù)的加載和存儲;通過循環(huán)展開、向量化,減少數(shù)據(jù)傳輸?shù)拈_銷;通過緩存機(jī)制,減少從內(nèi)存到該協(xié)加速器的數(shù)據(jù)傳輸次數(shù);
23、該結(jié)果處理模塊包括:
24、格式調(diào)整:將該多項式時域表示轉(zhuǎn)換為預(yù)設(shè)格式,并將多項式乘法涉及到的多個階段或多個數(shù)據(jù)塊的結(jié)果合并,得到該多項式模乘結(jié)果。
25、本發(fā)明還提出了一種電子設(shè)備,其中包括所述的一種基于協(xié)加速器的多項式模乘的高效計算裝置,該電子設(shè)備或連接有信息顯示設(shè)備,該信息顯示設(shè)備用于以用戶設(shè)置的顯示參數(shù)、屬性或通過人工智能模型,顯示該多項式模乘結(jié)果。
26、本發(fā)明還提出了一種計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)程序,該計算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)所述基于協(xié)加速器的多項式模乘的高效計算方法的步驟。
27、本發(fā)明還提出了一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序,其中該計算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)所述基于協(xié)加速器的多項式模乘的高效計算方法的步驟。
28、由以上方案可知,本發(fā)明的優(yōu)點(diǎn)在于:
29、1.顯著提升運(yùn)算效率:
30、通過利用hwacha?simd架構(gòu)的并行處理能力,大幅度加速了ntt中的點(diǎn)乘運(yùn)算,使得整體多項式模乘運(yùn)算的效率得到顯著提升。
31、2.提高系統(tǒng)性能和處理能力:
32、本發(fā)明的方法充分利用了現(xiàn)代硬件的性能潛力,特別是hwacha?simd架構(gòu)的并行處理能力,使系統(tǒng)在處理高復(fù)雜度的計算任務(wù)時,性能和處理能力得到了大幅提高。
33、3.優(yōu)化資源利用:
34、通過高效的數(shù)據(jù)傳輸和計算流程設(shè)計,減少了數(shù)據(jù)在不同模塊之間的傳輸時間和資源消耗,從而優(yōu)化了系統(tǒng)的資源利用率。相比傳統(tǒng)方法,本發(fā)明在資源消耗方面更為經(jīng)濟(jì),能夠在同等硬件條件下處理更大規(guī)模的運(yùn)算任務(wù)。
35、4.適應(yīng)性強(qiáng),應(yīng)用廣泛:
36、該方法不僅適用于隱私計算和密碼學(xué)的多項式模乘運(yùn)算,還可以廣泛應(yīng)用于其他需要高效多項式運(yùn)算的領(lǐng)域,如信號處理、編碼理論等。其優(yōu)化的并行計算能力使得它能夠在多種應(yīng)用場景中表現(xiàn)出色。