各種示例實施例涉及用于生成隨機排列的方法和設(shè)備,以及包括隨機排列生成邏輯電路的處理器。
背景技術(shù):
1、許多安全技術(shù)使用隨機排列。
2、在后量子密碼學(xué)(pqc)領(lǐng)域,例如,即使在量子計算機存在的情況下,也可能是或更可能是安全的密碼學(xué)領(lǐng)域,存在諸如基于格的密碼學(xué)和/或基于代碼的密碼學(xué)的方法。這樣的方法包括向量操作,其使得能夠或幫助使得能夠并行處理。并行向量操作實現(xiàn)隱藏對策,以防御或幫助防御側(cè)信道分析(sca)攻擊。為了有效地使用隱藏對策,需要或期望以確?;驇椭_保安全的方式生成隨機排列的技術(shù)。
3、在相關(guān)技術(shù)中,費雪耶茨(fisher-yates)混洗(shuffle)已經(jīng)被用作對序列中包括的多個元素(element)進行混洗的隨機排列生成方法。fisher-yates混洗具有因子復(fù)雜度,例如,具有按因子縮放的復(fù)雜度。然而,fisher-yates混洗需要相當(dāng)大的存儲空間,不適合并行處理。例如,根據(jù)fisher-yates混洗,下一輪(round)混洗基于上一輪混洗的結(jié)果執(zhí)行。
技術(shù)實現(xiàn)思路
1、各種示例實施例提供了一種用于使用能夠執(zhí)行并行處理的方式來生成隨機排列同時實現(xiàn)或幫助實現(xiàn)需要的復(fù)雜度的方法和設(shè)備。
2、可替換地或附加地,各種示例實施例提供了一種處理器,包括以能夠執(zhí)行并行處理的方式生成隨機排列同時實現(xiàn)需要的復(fù)雜度的邏輯電路。
3、根據(jù)一些示例實施例,提供了一種處理器,包括控制器,被配置為分別將不同索引號分配給多個操作;混洗邏輯,被配置為基于模加操作和旋轉(zhuǎn)移位操作對每一個索引號執(zhí)行逐比特(bitwise)操作并混洗索引號;以及操作邏輯,被配置為基于混洗的索引號執(zhí)行多個操作。
4、可替換地或附加地,根據(jù)各種示例實施例,集成電路包括處理邏輯,被配置為向混洗邏輯提供要對其執(zhí)行操作的處理數(shù)據(jù),以及混洗邏輯,被配置為基于模加操作和旋轉(zhuǎn)移位操作對處理數(shù)據(jù)的至少一部分執(zhí)行逐比特操作。
5、可替換地或附加地,根據(jù)各種示例實施例,集成電路包括處理邏輯,被配置為向多個混洗邏輯提供不同的處理數(shù)據(jù)片段(piece),以及多個混洗邏輯,被配置為基于模加操作和旋轉(zhuǎn)移位操作對處理數(shù)據(jù)的至少一部分執(zhí)行逐比特操作。多個混洗邏輯中的每一個混洗邏輯的輸出數(shù)據(jù)可以設(shè)置不同處理數(shù)據(jù)片段在其中被混洗的排列。
6、可替換地或附加地,根據(jù)一些示例實施例,一種由計算設(shè)備的處理器執(zhí)行的生成隨機排列的方法包括:接收多個密鑰集和由多個數(shù)字設(shè)置的基本排列數(shù)據(jù),以及通過基于模加操作和基于旋轉(zhuǎn)移位操作對基本排列數(shù)據(jù)的每一個數(shù)字執(zhí)行逐比特操作,混洗基本排列數(shù)據(jù)的數(shù)字。
1.一種處理器,包括:
2.根據(jù)權(quán)利要求1所述的處理器,其中,所述混洗邏輯包括至少一個輪單元,
3.一種集成電路,包括:
4.根據(jù)權(quán)利要求3所述的集成電路,其中,所述混洗邏輯包括第一邏輯單元,所述第一邏輯單元被配置為通過對處理數(shù)據(jù)和隨機初始密鑰執(zhí)行模加操作來輸出第一數(shù)據(jù),并且通過在左方向上對所述第一數(shù)據(jù)執(zhí)行
5.根據(jù)權(quán)利要求4所述的集成電路,其中:
6.根據(jù)權(quán)利要求5所述的集成電路,其中:
7.根據(jù)權(quán)利要求6所述的集成電路,包括:
8.根據(jù)權(quán)利要求3所述的集成電路,其中:
9.一種集成電路,包括:
10.根據(jù)權(quán)利要求9所述的集成電路,其中,所述多個混洗邏輯中的每一個被配置為彼此獨立地對處理數(shù)據(jù)執(zhí)行逐比特操作。
11.根據(jù)權(quán)利要求9所述的集成電路,其中,所述多個混洗邏輯中的每一個被配置為在相同時鐘周期內(nèi)執(zhí)行逐比特操作。
12.一種由計算設(shè)備的處理器執(zhí)行的生成隨機排列的方法,所述方法包括:
13.根據(jù)權(quán)利要求12所述的方法,其中:
14.根據(jù)權(quán)利要求12所述的方法,其中,所述混洗所述基本排列數(shù)據(jù)的所述數(shù)字包括:
15.根據(jù)權(quán)利要求14所述的方法,其中:
16.根據(jù)權(quán)利要求15所述的方法,其中,所述第一塊包括所述初始混洗操作的所述結(jié)果的兩個最高有效比特,并且所述第二塊包括所述初始混洗操作的所述結(jié)果的除了所述兩個最高有效比特之外的剩余比特。
17.根據(jù)權(quán)利要求15所述的方法,其中:
18.根據(jù)權(quán)利要求14所述的方法,其中,所述第一旋轉(zhuǎn)移位操作的移位方向不同于所述第三旋轉(zhuǎn)移位操作的移位方向。
19.根據(jù)權(quán)利要求15所述的方法,其中,所述最終混洗操作包括:
20.根據(jù)權(quán)利要求17所述的方法,其中,基于所述基本排列數(shù)據(jù)的所述數(shù)字的比特數(shù)位的所述數(shù)量和復(fù)雜度,混洗所述多個輪被執(zhí)行若干次。