System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術系關于一種運算裝置;特別關于一種用于執行變換運算的運算裝置。運算裝置對于變換運算的級運算結果進行排序,并且利用乒乓存儲器機制交錯地儲存級運算結果與排序結果。
技術介紹
1、隨著大數據分析技術與人工智能技術的發展,各種形式的信息廣泛地交流于世界各地與社會各層面,因而引起了信息泄密的疑慮;為了滿足信息安全的需求,信息的加密機制是必要手段。然而,信息的加密可能遭逢惡意第三方藉由量子技術破解(稱為「量子解密」);為了抵御量子解密,研究單位已經根據「后量子密碼學(post-quantumcryptography,pqc)」發展出后量子密碼系統。在后量子密碼系統的諸多實施方式之中,晶格密碼系統(lattice-based?crypto?systems)的總體性能評比較佳,因此被廣泛使用。晶格密碼系統例如包括「crystals-kyber」系統與「dilithium」系統,等等。
2、晶格密碼系統的運算機制使用了大量的多項式乘法運算;而多項式乘法運算通常藉由數論變換運算(ntt,number?theoretic?transform)與反數論變換運算(intt,inversenumber?theoretic?transform)來實現。然而,數論變換運算與反數論變換運算具有高復雜度而耗費大量的運算時間,大幅減損了后量子密碼的晶格密碼系統的整體運算效率。例如,數論變換運算與反數論變換運算必需具有復雜的控制邏輯以控制多次循環嵌套的運算,始能實現多項式乘法運算。多項式乘法運算之中的多項式系數之存取與調度較為復雜,其導致較大的傳輸
3、并且,在現有技術之中,數論變換運算與反數論變換運算的多項式乘法運算之基礎運算架構系為「蝶形(butterfly)運算」。然而,現有的蝶形運算架構包括了不同交叉型式的蝶形運算,因此必須具備多個不同的蝶形運算電路以實現整個蝶形運算架構。換言之,在現有技術之中,無法基于單一交叉型式的相同蝶形運算電路以實現整個蝶形運算架構,必須設置數量較多的不同蝶形運算電路。因此,大幅增加了晶格密碼系統的硬件成本。
4、針對于上述議題,需要改良式的晶格密碼之運算裝置,能夠基于精簡的蝶形運算架構以實現數論變換運算與反數論變換運算,以減少蝶形運算電路的數量。并且,能夠基于改良的存儲器訪問機制以存取蝶形運算的運算結果,以達到較高的存取效率與數據正確性。
技術實現思路
1、根據本揭示之一實施例,系提供一種運算裝置,系用于執行變換運算,變換運算包括第一數量的級運算,級運算包括多個奇數級運算與多個偶數級運算,奇數級運算包括第一級運算。運算裝置包括級運算電路、排序電路、第一存儲器與第二存儲器。級運算電路被重復使用以執行各級運算,各級運算包括第二數量的蝶形運算,并且各級運算具有第三數量的輸入數據。級運算電路包括第二數量的蝶形運算電路,用于根據多個權重系數與各級運算的輸入數據執行蝶形運算,以產生各級運算的級運算結果。排序電路被重復使用以排序各級運算的輸入數據或級運算結果以產生排序結果。第一存儲器用于儲存第一級運算的輸入數據與各偶數級運算的級運算結果或各偶數級運算的排序結果。第二存儲器用于儲存各奇數級運算的級運算結果或各奇數級運算的排序結果。
本文檔來自技高網...【技術保護點】
1.一種運算裝置,用于執行變換運算,所述變換運算包括第一數量的級運算,所述級運算包括多個奇數級運算與多個偶數級運算,所述奇數級運算包括第一級運算,所述運算裝置包括:
2.如權利要求1之運算裝置,其中所述級運算的所述第一數量相等于M,各所述級運算的所述輸入數據的所述第三數量相等于N,并且所述蝶形運算的所述第二數量相等于N/2,其中M與N皆為正整數,并且M與N具有第一關系:M=log2(N)。
3.如權利要求1之運算裝置,其中所述級運算電路還包括:
4.如權利要求3之運算裝置,其中所述內部存儲器進行初始化以設定所述權重系數。
5.如權利要求3之運算裝置,其中各所述蝶形運算還包括加法運算與減法運算,所述乘法運算、所述加法運算與所述減法運算系基于模數處理而執行。
6.如權利要求5之運算裝置,其中所述級運算電路還包括:
7.如權利要求1之運算裝置,其中所述變換運算是數論變換運算或反數論變換運算。
8.如權利要求7之運算裝置,其中當所述變換運算是所述數論變換運算時,所述排序電路對于各所述級運算的所述級運算結果
9.如權利要求8之運算裝置,其中所述級運算包括本級運算與后續的后級運算,所述排序電路產生所述本級運算的所述排序結果,所述排序結果提供至所述級運算電路作為所述后級運算的所述輸入數據。
10.如權利要求9之運算裝置,其中所述排序電路對于所述級運算結果進行排序,以將所述級運算結果的多個偶數點排序為所述排序結果的前半部分,并且將所述級運算結果的多個奇數點排序為所述排序結果的后半部分。
11.如權利要求7之運算裝置,其中當所述變換運算是所述反數論變換運算時,所述排序電路對于各所述級運算的所述輸入數據進行排序以產生所述排序結果。
12.如權利要求11之運算裝置,所述排序電路傳送所述排序結果至所述級運算電路,并且所述級運算電路根據所述排序結果執行所述級運算以產生所述級運算結果。
13.如權利要求12之運算裝置,其中所述排序電路對于所述輸入數據進行排序,以將所述輸入數據的前半部分排序為所述排序結果的多個偶數點,并且將所述輸入數據的后半部分排序為所述排序結果的多個奇數點。
14.如權利要求7之運算裝置,其中當所述變換運算是所述數論變換運算時,所述級運算電路從所述第一存儲器讀取所述第一級運算的所述輸入數據。
15.如權利要求7之運算裝置,其中當所述變換運算是所述數論變換運算時,所述排序電路將所述奇數級運算的所述排序結果儲存至所述第二存儲器。
16.如權利要求15之運算裝置,其中所述級運算電路從所述第二存儲器讀取所述奇數級運算的所述排序結果作為后續的所述偶數級運算的所述輸入數據,并且對應產生所述偶數級運算的所述級運算結果。
17.如權利要求16之運算裝置,其中所述排序電路對于該偶數級運算的所述級運算結果進行排序以產生所述偶數級運算的所述排序結果,并且將所述偶數級運算的所述排序結果儲存至所述第一存儲器。
18.如權利要求7之運算裝置,其中當所述變換運算是所述反數論變換運算時,所述排序電路從所述第一存儲器讀取所述第一級運算的所述輸入數據。
19.如權利要求7之運算裝置,其中當所述變換運算是所述反數論變換運算時,所述級運算電路將所述奇數級運算的所述級運算結果儲存至所述第二存儲器。
20.如權利要求19之運算裝置,其中所述排序電路從所述第二存儲器讀取所述奇數級運算的所述級運算結果進行排序,以產生后續的所述偶數級運算的所述排序結果。
21.如權利要求20之運算裝置,其中所述級運算電路將所述偶數級運算的所述排序結果作為所述輸入數據,以對應產生所述偶數級運算的所述級運算結果,并且將所述偶數級運算的所述級運算結果儲存至所述第一存儲器。
22.如權利要求7之運算裝置,其中所述數論變換運算或所述反數論變換運算系應用于晶格密碼系統以進行矩陣之向量變換。
...【技術特征摘要】
1.一種運算裝置,用于執行變換運算,所述變換運算包括第一數量的級運算,所述級運算包括多個奇數級運算與多個偶數級運算,所述奇數級運算包括第一級運算,所述運算裝置包括:
2.如權利要求1之運算裝置,其中所述級運算的所述第一數量相等于m,各所述級運算的所述輸入數據的所述第三數量相等于n,并且所述蝶形運算的所述第二數量相等于n/2,其中m與n皆為正整數,并且m與n具有第一關系:m=log2(n)。
3.如權利要求1之運算裝置,其中所述級運算電路還包括:
4.如權利要求3之運算裝置,其中所述內部存儲器進行初始化以設定所述權重系數。
5.如權利要求3之運算裝置,其中各所述蝶形運算還包括加法運算與減法運算,所述乘法運算、所述加法運算與所述減法運算系基于模數處理而執行。
6.如權利要求5之運算裝置,其中所述級運算電路還包括:
7.如權利要求1之運算裝置,其中所述變換運算是數論變換運算或反數論變換運算。
8.如權利要求7之運算裝置,其中當所述變換運算是所述數論變換運算時,所述排序電路對于各所述級運算的所述級運算結果進行排序以產生所述排序結果。
9.如權利要求8之運算裝置,其中所述級運算包括本級運算與后續的后級運算,所述排序電路產生所述本級運算的所述排序結果,所述排序結果提供至所述級運算電路作為所述后級運算的所述輸入數據。
10.如權利要求9之運算裝置,其中所述排序電路對于所述級運算結果進行排序,以將所述級運算結果的多個偶數點排序為所述排序結果的前半部分,并且將所述級運算結果的多個奇數點排序為所述排序結果的后半部分。
11.如權利要求7之運算裝置,其中當所述變換運算是所述反數論變換運算時,所述排序電路對于各所述級運算的所述輸入數據進行排序以產生所述排序結果。
12.如權利要求11之運算裝置,所述排序電路傳送所述排序結果至所述級運算電路,并且所述級運算電路根據所述排序結果執行所述級運...
【專利技術屬性】
技術研發人員:盧峙丞,李崇漢,施政銘,
申請(專利權)人:財團法人工業技術研究院,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。