本發(fā)明涉及信息安全,具體為有限域等效變換和組件重構(gòu)的sm4密碼實(shí)現(xiàn)方法及系統(tǒng)。
背景技術(shù):
1、隨著信息技術(shù)的迅猛發(fā)展,信息安全已成為社會(huì)各界關(guān)注的焦點(diǎn)。密碼學(xué)作為保障信息安全的重要手段,其研究與應(yīng)用日益受到重視。sm4密碼算法是我國自主研發(fā)的一種分組密碼算法,廣泛應(yīng)用于金融、政府、軍事等領(lǐng)域的信息加密。然而,傳統(tǒng)的sm4密碼實(shí)現(xiàn)方法在處理速度和資源消耗方面仍有優(yōu)化空間。因此,探索sm4密碼的快速實(shí)現(xiàn)技術(shù),對于提升我國密碼算法的應(yīng)用水平和保障信息安全具有重要意義。
技術(shù)實(shí)現(xiàn)思路
1、鑒于上述存在的問題,提出了本發(fā)明。
2、因此,本發(fā)明解決的技術(shù)問題是:傳統(tǒng)的sm4密碼實(shí)現(xiàn)方法主要依賴于復(fù)雜的數(shù)學(xué)運(yùn)算和邏輯處理,這在一定程度上限制了密碼處理的速度。同時(shí),隨著加密算法的不斷演進(jìn),傳統(tǒng)方法在處理大規(guī)模數(shù)據(jù)時(shí)面臨資源消耗大、效率低下等問題。此外,傳統(tǒng)方法在實(shí)現(xiàn)過程中難以有效應(yīng)對硬件平臺(tái)的差異,缺乏靈活性和可擴(kuò)展性。
3、為解決上述技術(shù)問題,本發(fā)明提供如下技術(shù)方案:有限域等效變換和組件重構(gòu)的sm4密碼實(shí)現(xiàn)方法,其包括如下步驟,
4、分析sm4算法,進(jìn)行等效變換優(yōu)化;對sm4算法組件進(jìn)行解構(gòu)和重構(gòu);對sm4算法優(yōu)化以及解構(gòu)和重構(gòu)后驗(yàn)證新算法性能。
5、作為本發(fā)明所述的有限域等效變換和組件重構(gòu)的sm4密碼實(shí)現(xiàn)方法的一種優(yōu)選方案,其中:所述等效變化優(yōu)化包括s-box替換操作、線性變換、輪密鑰加和輪移位操作。
6、所述s-box替換操作后使用矩陣懲罰操作,將s-box替換操作轉(zhuǎn)換為矩陣乘法,包括設(shè)計(jì)矩陣、矩陣運(yùn)算替換、逆矩陣計(jì)算。
7、作為本發(fā)明所述的有限域等效變換和組件重構(gòu)的sm4密碼實(shí)現(xiàn)方法的一種優(yōu)選方案,其中:所述設(shè)計(jì)矩陣為設(shè)計(jì)4×4矩陣,基于4×4矩陣對sm4算法中的非線性s-box替換操作進(jìn)行等效變換。
8、所述矩陣運(yùn)算替換為在加解密算法中,若需要對加解密數(shù)據(jù)進(jìn)行s-box替換操作,則數(shù)據(jù)按行向量進(jìn)行劃分,用4×4矩陣對每一行向量進(jìn)行矩陣運(yùn)算,得到新的行向量,最終組成新的4x4數(shù)據(jù)塊進(jìn)行后續(xù)操作。
9、所述逆矩陣計(jì)算包括在解密操作中使用逆矩陣對加密過程中得到的矩陣進(jìn)行逆s-box變換。
10、作為本發(fā)明所述的有限域等效變換和組件重構(gòu)的sm4密碼實(shí)現(xiàn)方法的一種優(yōu)選方案,其中:所述輪密鑰加包括輪鑰生成、輪密鑰加操作以及優(yōu)化處理。
11、所述輪鑰生成根據(jù)密鑰擴(kuò)展算法,通過對主密鑰進(jìn)行迭代運(yùn)算,生成多輪使用的子密鑰,每輪生成用于輪密鑰加的子密鑰。
12、所述輪密鑰加操作為在每輪的加密和解密過程中,將輪密鑰與當(dāng)前狀態(tài)進(jìn)行異或運(yùn)算,在加密程中,將輪密鑰與當(dāng)前處理的數(shù)據(jù)塊按位進(jìn)行異或運(yùn)算,在解密過程中,同樣使用相同的輪密鑰與密文進(jìn)行異或,恢復(fù)出原始的明文狀態(tài)。
13、作為本發(fā)明所述的有限域等效變換和組件重構(gòu)的sm4密碼實(shí)現(xiàn)方法的一種優(yōu)選方案,其中:所述對主密鑰進(jìn)行迭代運(yùn)算表示為,
14、ki=f(ki-1,i)
15、其中,k表示主密鑰,ki表示輪密鑰,i表示第i輪的密鑰,f表示密鑰擴(kuò)展函數(shù),根據(jù)輪數(shù)i調(diào)整密鑰;
16、所述異或運(yùn)算包括若當(dāng)前狀態(tài)為s=(s1,s2,…,sn),輪密鑰ki=(ki1,ki2,…,kin),則異或運(yùn)算表示為
17、作為本發(fā)明所述的有限域等效變換和組件重構(gòu)的sm4密碼實(shí)現(xiàn)方法的一種優(yōu)選方案,其中:所述輪移位操作包括狀態(tài)分隔、字節(jié)位、狀態(tài)重組以及優(yōu)化處理。
18、所述狀態(tài)包括在輪移位操作前,將當(dāng)前的4×4狀態(tài)矩陣分隔為16個(gè)字節(jié)。
19、所述字節(jié)位為對每個(gè)字節(jié)進(jìn)行位移操作,包括在加密過程中,每行字節(jié)左移的位數(shù)與行號有關(guān),第一行不移位,第二行左移1位,第三行左移2位,第四行左移3位。
20、在解密過程,每行字節(jié)右移的位數(shù)與行號有關(guān),其中,第一行不移位,第二行右移1位,第三行右移2位,第四行右移3位。
21、所述狀態(tài)重組為對每個(gè)字節(jié)進(jìn)行位移操作后重新組合為新的狀態(tài)矩陣,組合過程中保持字節(jié)的順序不變。
22、作為本發(fā)明所述的有限域等效變換和組件重構(gòu)的sm4密碼實(shí)現(xiàn)方法的一種優(yōu)選方案,其中:所述解構(gòu)和重構(gòu)包括等效變換優(yōu)化后對原始的加密算法進(jìn)行全面分析,識別出算法的組成部分,包括s-box替換、輪密鑰加、輪置換。
23、本發(fā)明的另外一個(gè)目的是提供有限域等效變換和組件重構(gòu)的sm4密碼實(shí)現(xiàn)系統(tǒng),其能通過高效的矩陣運(yùn)算替代傳統(tǒng)的查表方法和增強(qiáng)的輪密鑰加密機(jī)制,解決了現(xiàn)有sm4算法在硬件資源限制環(huán)境下效率低下以及對側(cè)信道攻擊易受影響的問題。
24、為解決上述技術(shù)問題,本發(fā)明提供如下技術(shù)方案:有限域等效變換和組件重構(gòu)的sm4密碼實(shí)現(xiàn)系統(tǒng),包括等效變換優(yōu)化模塊、解構(gòu)和重構(gòu)模塊、輪密鑰管理模塊以及輪移位操作模塊。
25、所述等效變換優(yōu)化模塊負(fù)責(zé)優(yōu)化sm4算法中的非線性和線性變換。
26、所述解構(gòu)和重構(gòu)模塊對sm4算法的各個(gè)組成部分進(jìn)行解析和重新組裝。
27、所述輪密鑰管理模塊負(fù)責(zé)生成和管理用于算法每一輪加密或解密的輪密鑰。
28、所述輪移位操作模塊在加密和解密過程中對數(shù)據(jù)進(jìn)行位移操作。
29、一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如上所述有限域等效變換和組件重構(gòu)的sm4密碼實(shí)現(xiàn)方法的步驟。
30、一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上所述有限域等效變換和組件重構(gòu)的sm4密碼實(shí)現(xiàn)方法的步驟。
31、本發(fā)明的有益效果:本發(fā)明通過對sm4密碼算法的核心運(yùn)算進(jìn)行等效變換,將復(fù)雜的數(shù)學(xué)運(yùn)算轉(zhuǎn)化為更簡單的形式,從而提高了密碼處理的速度。同時(shí),本發(fā)明還通過對算法組件的重構(gòu),實(shí)現(xiàn)了算法的硬件平臺(tái)無關(guān)性,增強(qiáng)了算法的靈活性和可擴(kuò)展性。
1.有限域等效變換和組件重構(gòu)的sm4密碼實(shí)現(xiàn)方法,其特征在于,包括:
2.如權(quán)利要求1所述的有限域等效變換和組件重構(gòu)的sm4密碼實(shí)現(xiàn)方法,其特征在于:所述等效變化優(yōu)化包括s-box替換操作、線性變換、輪密鑰加和輪移位操作;
3.如權(quán)利要求2所述的有限域等效變換和組件重構(gòu)的sm4密碼實(shí)現(xiàn)方法,其特征在于:所述設(shè)計(jì)矩陣為設(shè)計(jì)4×4矩陣,基于4×4矩陣對sm4算法中的非線性s-box替換操作進(jìn)行等效變換;
4.如權(quán)利要求3所述的有限域等效變換和組件重構(gòu)的sm4密碼實(shí)現(xiàn)方法,其特征在于:所述輪密鑰加包括輪鑰生成、輪密鑰加操作以及優(yōu)化處理;
5.如權(quán)利要求4所述的有限域等效變換和組件重構(gòu)的sm4密碼實(shí)現(xiàn)方法,其特征在于:所述對主密鑰進(jìn)行迭代運(yùn)算表示為,
6.如權(quán)利要求5所述的有限域等效變換和組件重構(gòu)的sm4密碼實(shí)現(xiàn)方法,其特征在于:所述輪移位操作包括狀態(tài)分隔、字節(jié)位、狀態(tài)重組以及優(yōu)化處理;
7.如權(quán)利要求6所述的有限域等效變換和組件重構(gòu)的sm4密碼實(shí)現(xiàn)方法,其特征在于:所述解構(gòu)和重構(gòu)包括等效變換優(yōu)化后對原始的加密算法進(jìn)行全面分析,識別出算法的組成部分,包括s-box替換、輪密鑰加、輪置換。
8.一種采用如權(quán)利要求1~7任一所述的有限域等效變換和組件重構(gòu)的sm4密碼實(shí)現(xiàn)方法的系統(tǒng),其特征在于:包括等效變換優(yōu)化模塊、解構(gòu)和重構(gòu)模塊、輪密鑰管理模塊以及輪移位操作模塊;
9.一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)權(quán)利要求1至7中任一項(xiàng)所述的有限域等效變換和組件重構(gòu)的sm4密碼實(shí)現(xiàn)方法的步驟。
10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1至7中任一項(xiàng)所述有限域等效變換和組件重構(gòu)的sm4密碼實(shí)現(xiàn)方法的步驟。