本發明涉及信息安全,具體涉及一種有限域上的s盒動態生成方法及裝置。
背景技術:
1、s盒的應用主要包括以下幾個方面:
2、密碼學應用:s盒是許多分組密碼算法中的唯一非線性部件,其密碼強度決定了整個分組密碼算法的安全強度。優化s盒的性能可以提升密碼算法的整體安全性,防止被破解。
3、圖像加密:優化后的s盒可以應用于圖像加密算法中,通過混沌迭代產生偽隨機數,改變s盒的排序結構,從而增強圖像加密的復雜度和安全性。
4、并行計算:利用并行計算技術優化s盒,可以提高計算效率。例如,使用主從式并行遺傳算法框架來改進傳統串行遺傳算法,可以優化高階s盒,提高計算速度。
5、分布式計算:基于膜計算的分布式s盒優化算法能夠處理多種群搜索,適用于分布式計算環境,能夠有效抵抗線性密碼分析和差分密碼分析。
6、這些應用展示了s盒優化在提升密碼安全性和計算效率方面的重要作用。
7、關鍵數據的泄露會對個人帶來嚴重的威脅,數據保密性作為一個重點關注內容被列為重點研究內容,而高速發展的時代又對數據傳輸的效率有一定的要求,所以對一個安全高效的密碼算法提出了更高需求。密碼算法的置換、替換、模加等操作,可以歸納為混淆和擴散兩個基本設計原則。混淆的作用為打斷密文和密鑰之間的聯系,擴散的作用為打斷密文和明文之間的聯系,所以任意有效保障數據安全的密碼算法都有起到混淆和擴散兩個作用的基本組件。
8、s盒是常見的一種非線性部件,能起到混淆和擴散作用,并且作為許多密碼算法中的唯一非線性部件,對避免密文有效遭受線性逼近攻擊和代數攻擊起到關鍵性作用。
9、基于有限域生成s盒最典型的方案為aes,其s-box是定義在gf(28)的乘法和gf(2)的加法的背景下生成的。雖然aes?s-box的非線性度、差分均勻度以及線性逼近概率都較好,但aes?s-box的代數表達式只有九項,無法抵抗代數攻擊。已有現有技術利用gf(28)中的不同不可約多項式生成隨機s-box和逆s-box,但并沒有改變其代數表達式只有九項的結果。也有現有技術使用與aes中不同的不可約多項式和仿射矩陣,但并沒有解決aes?s-box代數項少的問題。發明人本人設計了一個基于人工水母優化算法的s盒三層優化算法,并生成了一個非線性度為113的s盒,但其生成s盒的時間較長。
技術實現思路
1、針對現有技術中的問題,本發明實施例提供一種有限域上的s盒動態生成方法及裝置,能夠至少部分地解決現有技術中存在的問題。
2、一方面,本發明提出一種有限域上的s盒動態生成方法,包括:
3、輸入第一仿射變換變量和第二仿射變換變量,將s盒的自變量作為s盒的初始化賦值,在256階的有限域對所述初始化賦值進行取平方計算,根據取平方計算結果、預先確定的目標仿射矩陣和所述第一仿射變換變量在2階的有限域進行第一仿射變換;
4、其中,所述自變量的初始數值為0,所述自變量、所述第一仿射變換變量和所述第二仿射變換變量的取值范圍為256階的有限域;
5、在256階的有限域求解第一仿射變換結果的乘法逆元,根據乘法逆元、所述目標仿射矩陣和所述第二仿射變換變量在2階的有限域進行第二仿射變換,得到s盒的一個數值元素;
6、對所述自變量加1以更新賦值,并使用更新后的賦值替代更新前的賦值執行所述在256階的有限域對所述初始化賦值進行取平方計算以及后續步驟,直到所述自變量達到255為止,將此時的所有數值元素作為動態生成的s盒;
7、其中,首個更新前的賦值為所述初始化賦值。
8、其中,所述根據取平方計算結果、預先確定的目標仿射矩陣和所述第一仿射變換變量在2階的有限域進行第一仿射變換,包括:
9、將所述目標仿射矩陣與所述取平方計算結果相乘,得到第一中間結果;
10、將所述第一中間結果與所述第一仿射變換變量進行異或計算,得到所述第一仿射變換結果。
11、其中,所述根據乘法逆元、所述目標仿射矩陣和所述第二仿射變換變量在2階的有限域進行第二仿射變換,包括:
12、將所述目標仿射矩陣與所述乘法逆元相乘,得到第二中間結果;
13、將所述第二中間結果與所述第二仿射變換變量進行異或計算,得到s盒的一個數值元素。
14、其中,所述有限域上的s盒動態生成方法還包括:
15、調用預先存儲的第一參照表在256階的有限域對所述初始化賦值進行取平方計算。
16、其中,所述有限域上的s盒動態生成方法還包括:
17、調用預先存儲的第二參照表實現將所述目標仿射矩陣與所述取平方計算結果相乘,得到所述第一中間結果。
18、其中,所述有限域上的s盒動態生成方法還包括:
19、調用預先存儲的第三參照表實現在256階的有限域求解第一仿射變換結果的乘法逆元。
20、其中,預先確定所述目標仿射矩陣,包括:
21、基于非線性度對不可約二進制多項式進行篩選,得到多個候選不可約二進制多項式;基于平衡性和雙射性選擇得到多個候選仿射矩陣;
22、獲取每個候選不可約二進制多項式分別在每個候選仿射矩陣下的s盒性能指標;
23、根據s盒性能指標對比結果,從多個候選不可約二進制多項式選擇目標不可約二進制多項式;
24、對比與所述目標不可約二進制多項式對應的目標s盒性能指標對比結果,從多個候選仿射矩陣選擇所述目標仿射矩陣。
25、一方面,本發明提出一種有限域上的s盒動態生成裝置,包括:
26、第一變換單元,用于輸入第一仿射變換變量和第二仿射變換變量,將s盒的自變量作為s盒的初始化賦值,在256階的有限域對所述初始化賦值進行取平方計算,根據取平方計算結果、預先確定的目標仿射矩陣和所述第一仿射變換變量在2階的有限域進行第一仿射變換;
27、其中,所述自變量的初始數值為0,所述自變量、所述第一仿射變換變量和所述第二仿射變換變量的取值范圍為256階的有限域;
28、第二變換單元,用于在256階的有限域求解第一仿射變換結果的乘法逆元,根據乘法逆元、所述目標仿射矩陣和所述第二仿射變換變量在2階的有限域進行第二仿射變換,得到s盒的一個數值元素;
29、生成單元,用于對所述自變量加1以更新賦值,并使用更新后的賦值替代更新前的賦值執行所述在256階的有限域對所述初始化賦值進行取平方計算以及后續步驟,直到所述自變量達到255為止,將此時的所有數值元素作為動態生成的s盒;
30、其中,首個更新前的賦值為所述初始化賦值。
31、再一方面,本發明實施例提供一種電子設備,包括:處理器、存儲器和總線,其中,
32、所述處理器和所述存儲器通過所述總線完成相互間的通信;
33、所述存儲器存儲有可被所述處理器執行的程序指令,所述處理器調用所述程序指令能夠執行如下方法:
34、輸入第一仿射變換變量和第二仿射變換變量,將s盒的自變量作為s盒的初始化賦值,在256階的有限域對所述初始化賦值進行取平方計算,根據取平方計算結果、預先確定的目標仿射矩陣和所述第一仿射變換變量在2階的有限域進行第一仿射變換;
35、其中,所述自變量的初始數值為0,所述自變量、所述第一仿射變換變量和所述第二仿射變換變量的取值范圍為256階的有限域;
36、在256階的有限域求解第一仿射變換結果的乘法逆元,根據乘法逆元、所述目標仿射矩陣和所述第二仿射變換變量在2階的有限域進行第二仿射變換,得到s盒的一個數值元素;
37、對所述自變量加1以更新賦值,并使用更新后的賦值替代更新前的賦值執行所述在256階的有限域對所述初始化賦值進行取平方計算以及后續步驟,直到所述自變量達到255為止,將此時的所有數值元素作為動態生成的s盒;
38、其中,首個更新前的賦值為所述初始化賦值。
39、本發明實施例提供一種非暫態計算機可讀存儲介質,包括:
40、所述非暫態計算機可讀存儲介質存儲計算機指令,所述計算機指令使所述計算機執行如下方法:
41、輸入第一仿射變換變量和第二仿射變換變量,將s盒的自變量作為s盒的初始化賦值,在256階的有限域對所述初始化賦值進行取平方計算,根據取平方計算結果、預先確定的目標仿射矩陣和所述第一仿射變換變量在2階的有限域進行第一仿射變換;
42、其中,所述自變量的初始數值為0,所述自變量、所述第一仿射變換變量和所述第二仿射變換變量的取值范圍為256階的有限域;
43、在256階的有限域求解第一仿射變換結果的乘法逆元,根據乘法逆元、所述目標仿射矩陣和所述第二仿射變換變量在2階的有限域進行第二仿射變換,得到s盒的一個數值元素;
44、對所述自變量加1以更新賦值,并使用更新后的賦值替代更新前的賦值執行所述在256階的有限域對所述初始化賦值進行取平方計算以及后續步驟,直到所述自變量達到255為止,將此時的所有數值元素作為動態生成的s盒;
45、其中,首個更新前的賦值為所述初始化賦值。
46、本發明實施例提供的有限域上的s盒動態生成方法及裝置,輸入第一仿射變換變量和第二仿射變換變量,將s盒的自變量作為s盒的初始化賦值,在256階的有限域對所述初始化賦值進行取平方計算,根據取平方計算結果、預先確定的目標仿射矩陣和所述第一仿射變換變量在2階的有限域進行第一仿射變換;其中,所述自變量的初始數值為0,所述自變量、所述第一仿射變換變量和所述第二仿射變換變量的取值范圍為256階的有限域;在256階的有限域求解第一仿射變換結果的乘法逆元,根據乘法逆元、所述目標仿射矩陣和所述第二仿射變換變量在2階的有限域進行第二仿射變換,得到s盒的一個數值元素;對所述自變量加1以更新賦值,并使用更新后的賦值替代更新前的賦值執行所述在256階的有限域對所述初始化賦值進行取平方計算以及后續步驟,直到所述自變量達到255為止,將此時的所有數值元素作為動態生成的s盒;其中,首個更新前的賦值為所述初始化賦值,能夠抵抗代數攻擊,并高效生成動態s盒。