NEWS
復(fù)賽選題|海泰方圓為全國(guó)密碼技術(shù)競(jìng)賽設(shè)計(jì)了一種大分組算法
發(fā)布時(shí)間: 2024-12-03 20:52近日,海泰方圓榮幸地收到了來(lái)自中國(guó)密碼學(xué)會(huì)的感謝信。信中表示公司精心設(shè)計(jì)的題目《一種組合式大分組分組密碼算法的軟件實(shí)現(xiàn)及應(yīng)用》已入選2024年第九屆全國(guó)密碼技術(shù)競(jìng)賽復(fù)賽題庫(kù)。同時(shí),該題目被武漢大學(xué)選用并獲得了二等獎(jiǎng)的佳績(jī)。這一喜訊不僅是對(duì)海泰方圓在密碼技術(shù)領(lǐng)域深厚底蘊(yùn)與卓越專業(yè)能力的有力證明,更是密碼競(jìng)賽組委會(huì)諸位專家對(duì)公司在密碼技術(shù)研究與創(chuàng)新探索道路上不懈努力的充分認(rèn)可與高度贊譽(yù)。
本文圍繞該入選題目展開(kāi)深入討論,分析量子計(jì)算對(duì)密碼安全的潛在威脅,探討對(duì)稱密鑰密碼方面可能的應(yīng)對(duì)策略與未來(lái)發(fā)展方向。我們誠(chéng)摯邀請(qǐng)各位專家學(xué)者、行業(yè)同仁以及對(duì)此領(lǐng)域感興趣的讀者積極參與討論,共同為推動(dòng)密碼技術(shù)的創(chuàng)新發(fā)展與國(guó)家信息安全保障貢獻(xiàn)力量。
電話:17600993730(微信同號(hào))
1. 引言
量子計(jì)算在攻擊對(duì)稱鑰密碼算法方面的能力是密鑰減半關(guān)系已被學(xué)術(shù)界認(rèn)可。這樣,2256的密鑰窮盡量,在量子計(jì)算面前有可能相當(dāng)于2128的計(jì)算量,被公認(rèn)為是暫時(shí)安全的。而密鑰長(zhǎng)度128比特,即密鑰窮盡量為2128,通常是傳統(tǒng)計(jì)算機(jī)無(wú)法有效窮盡的,可是在量子計(jì)算面前,這相當(dāng)于264的量子比特密鑰窮盡量,是相當(dāng)脆弱的,是可以攻克的。
作為國(guó)家商用密碼標(biāo)準(zhǔn)的分組密碼SM4算法能支持的密鑰長(zhǎng)度只有128比特。沒(méi)有預(yù)先考慮128比特密鑰長(zhǎng)度不夠用或不夠強(qiáng)的問(wèn)題。量子計(jì)算導(dǎo)致的安全威脅日漸臨近,必須防患于未然。所以,有必要改造和設(shè)計(jì)一種能夠支持較長(zhǎng)密鑰的分組算法,支持長(zhǎng)度為128、256、384和512比特的密鑰,可以用于類似密鑰封裝這樣的高度敏感數(shù)據(jù)的加密傳輸。
在國(guó)家推出256比特或更長(zhǎng)密鑰長(zhǎng)度的分組密碼標(biāo)準(zhǔn)算法之前,需要有一個(gè)過(guò)渡時(shí)期的替代品,應(yīng)對(duì)偶爾需要的高度敏感數(shù)據(jù)的高安全強(qiáng)度加密問(wèn)題,尤其是應(yīng)對(duì)即將來(lái)臨的量子計(jì)算攻擊。
另一方面,中國(guó)密碼學(xué)會(huì)向海泰方圓公司征集2024 第九屆全國(guó)密碼技術(shù)競(jìng)賽的復(fù)賽題目,為此,海泰方圓設(shè)計(jì)了一種512比特分組、可支持512比特密鑰的分組密碼方案。將該方案的密碼軟件優(yōu)化實(shí)現(xiàn)和場(chǎng)景應(yīng)用作為復(fù)賽題目,期望參賽隊(duì)伍依此展示和發(fā)揮密碼技術(shù)能力。也期望該方案激發(fā)密碼學(xué)術(shù)界的評(píng)論和探索。
2. 基于SM4和SM3的大分組分組密碼方案
為了提高國(guó)密分組密碼算法的安全強(qiáng)度,為了能抵御量子計(jì)算攻擊,海泰方圓公司設(shè)計(jì)了一種基于國(guó)密算法SM4和SM3的組合式大分組密碼算法,可以支持包括512比特的多種密鑰長(zhǎng)度??梢杂糜诟叨让舾袛?shù)據(jù)的安全保護(hù)。
該大分組分組密碼算法方案的分組長(zhǎng)度為512比特,密鑰長(zhǎng)度有128、256、384、512比特。基礎(chǔ)組件是SM4和SM3算法,采用類Feistel結(jié)構(gòu)的SP結(jié)構(gòu),迭代4輪,見(jiàn)圖1 。
圖中的“SM3”表示用SM3算法對(duì)輸入的384比特?cái)?shù)值(3個(gè)128比特串接),計(jì)算產(chǎn)生 256比特hash值。
圖1(a)中SM4Enc-Ki表示以Ki為密鑰,將128比特?cái)?shù)據(jù)加密,i=1,2,3,4。通常將K1、K2、K3和K4稱為輪密鑰。加密時(shí),將輸入的512比特?cái)?shù)據(jù)分為三部分,左256比特記作為Ai-1,右256比特的左128比特記作Bi-1,最右邊128比特記作Ci-1,即512比特輸入值被表示為Ai-1| Bi-1| Ci-1。輸出的512比特值記為Ai| Bi| Ci,i=1,2,3,4。例如當(dāng)i=1時(shí)有:
A1 =SM4EncK1(C0) | SM4EncK2(B0).
B1| C1 = SM3(B0 | K3 | C0 ) ⊕ A0.
不同輪的計(jì)算表達(dá)式相同,只是使用的輪密鑰不同。
圖1(b)是解密邏輯示意圖,圖中SM4Dec-Ki表示以Ki為密鑰,將128比特?cái)?shù)據(jù)解密,i=1,2,3,4。解密時(shí),將512比特密文組分割為A4|B4|C4,其中A4為256比特,B4為128比特,C4為128比特。以A4的左128比特為輸入,以K4為密鑰,用SM4算法解密,得到C3。以A4的右128比特為輸入,以K1為密鑰,用SM4算法解密,得到B3。將B4和C4聯(lián)接為256比特B4|C4。將B3、K2和C3聯(lián)接為384比特?cái)?shù)據(jù)串B3|K2|C3,用SM3算法對(duì)B3|K2|C3計(jì)算hash值,得到256比特亂數(shù),用該亂數(shù)與B4|C4異或,得到A3。這樣就有了逆推一輪的512比特A3|B3|C3。如此,可逐輪地逆推到A0、B0和C0。
當(dāng)使用128比特密鑰時(shí),全部密鑰為K1,K2=K3=K4=K1。
當(dāng)使用256比特密鑰時(shí),左128比特為K1,右128比特為K2,K3=K1,K4=K2。
當(dāng)使用384比特密鑰時(shí),左128比特為K1,中128比特為K2,右128比特為K3,K4=K1⊕K2⊕K3。
當(dāng)使用512比特密鑰時(shí),按4個(gè)128比特,密鑰被分割為K1、K2、K3和K4。
由于SM4和SM3算法具有公認(rèn)的密碼學(xué)安全性,算法以它們?yōu)檫壿嫼瘮?shù)組件,其安全性會(huì)遠(yuǎn)比SM4和SM3算法強(qiáng)。傳統(tǒng)的差分分析和線性分析難以產(chǎn)生明顯的分析效果。如果攻擊者有能力破譯SM4算法,則他有能力破譯該大分組算法的一輪。攻擊兩輪的難度會(huì)大幅度上升,攻擊4輪的難度是難上加難。該設(shè)計(jì)方案中有兩個(gè)問(wèn)題需要深入研討,一是當(dāng)使用256、384或512比特密鑰時(shí),算法能否相應(yīng)地提供不少于256、384或512比特密鑰窮盡量的安全強(qiáng)度。二是當(dāng)使用256或512比特密鑰時(shí),算法能否具有不少于128或256個(gè)量子比特的抗量子攻擊強(qiáng)度。
3. 結(jié)束語(yǔ)
由于量子計(jì)算研究方面不斷取得進(jìn)展,抗量子密碼的研究和應(yīng)用迫在眉睫,抗量子密碼新理論和成果應(yīng)用及量子遷移,將是一段相當(dāng)長(zhǎng)的逐漸演變過(guò)程。在成熟的對(duì)稱鑰密碼抗量子方案出臺(tái)之前,不妨用圖1中的算法方案救急一些重要數(shù)據(jù)的安全防護(hù)。盡管不能給出精準(zhǔn)的算法抗量子計(jì)算攻擊和抗傳統(tǒng)密碼分析的底數(shù),但是,由于算法中引用了成熟的SM4和SM3算法,有理由相信這類邏輯組件在非線性變換效果和抗相關(guān)分析方面保持原有的性能。