亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

非線性擠壓保護密碼s盒的方法

文檔序號:7823204閱讀:938來源:國知局
非線性擠壓保護密碼s盒的方法
【專利摘要】本發(fā)明公開一種非線性擠壓保護密碼S盒的方法,首先通過引入隨機變元,將隨機變元做線性變換,同時將含有敏感變元的變量做非線性變換;然后將所得到的值相異或后作為S盒的輸入,同時隨機變元各自經(jīng)由隨機函數(shù)進行變元更新;最后將更新后的隨機變元與S盒的輸出相異或后做與上述非線性變換互為逆運算的非線性變換,作為S盒最終的輸出結(jié)果送入密碼運算本次迭代的后續(xù)步驟中。同時更新后的隨機變元也要經(jīng)過與上述的線性變換互為逆運算的線性變換作為密碼運算下次迭代的隨機變元。本發(fā)明采用了非線性變換對敏感變元進行偽裝,具有能夠抵御代數(shù)側(cè)信道與高階相關(guān)功耗攻擊的能力。
【專利說明】非線性擠壓保護密碼S盒的方法

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及到信息安全領(lǐng)域,具體涉及一種非線性擠壓保護密碼S盒的方法。

【背景技術(shù)】
[0002] 密碼S盒是對稱密碼算法的關(guān)鍵部件,其代數(shù)性質(zhì)很大程度上決定著整個密碼算 法的安全強度。近年來提出的針對密碼算法的側(cè)信道攻擊是利用算法在軟件或硬件實現(xiàn)過 程中所泄露的信息(比如功耗、電磁泄漏、運行時間、運行差錯等)進行密碼算法攻擊的一 種方法。1997年Biham等人首次針對分組密碼提出了差分故障攻擊(DFA),1999年Kocher 等人相繼提出了簡單功耗攻擊(SPA)及差分功耗攻擊(DPA),2000年,Messerges提出了高 階差分功耗攻擊(H0-DPA)。2004年Brier等人提出了相關(guān)功耗攻擊(CPA)。這些攻擊方法 利用加密或解密過程中的物理信息的泄露來攻擊加密系統(tǒng)中的機密信息(比如密鑰)的。 利用這些技術(shù),攻擊者可以在獲得密碼運算載體的情況下,不破壞芯片的正常運算下,快速 獲得密鑰,從而破譯整個密碼系統(tǒng)。


【發(fā)明內(nèi)容】

[0003] 本發(fā)明所要解決的技術(shù)問題是提供一種非線性擠壓保護密碼S盒的方法,其通過 非線性擠壓來偽裝S盒以抵御側(cè)信道攻擊。
[0004] 為解決上述問題,本發(fā)明是通過以下技術(shù)方案實現(xiàn)的:
[0005] -種非線性擠壓保護密碼S盒的方法,包括如下步驟:
[0006] 步驟一,在密碼運算首次迭代時隨機產(chǎn)生至少1個隨機變元,并對所有的隨機變 元分別做線性變換;
[0007] 步驟二,對密碼運算本次迭代的S盒前序步驟所產(chǎn)生的含有敏感變元的變量做非 線性變換;
[0008] 步驟三,將步驟一得到的所有線性變換后的值與步驟二得到的非線性變換后的值 進行按位異或,并將按位異或后的值輸入到S盒中;
[0009] 步驟四,采用變元更新隨機函數(shù)對步驟一得到的線性變換后的值分別進行變元更 新;
[0010] 步驟五,s盒對步驟三輸入的值進行非線性變換;
[0011] 步驟六,將步驟四得到的變元更新后的值與步驟五得到的S盒的輸出值進行按位 異或;
[0012] 步驟七,對步驟四得到的變元更新后的值分別做線性變換,并將該線性變換后的 值作為密碼運算下次迭代的隨機變元;
[0013] 步驟八,對步驟六得到的按位異或后的值做非線性變換,并將非線性變換后的值 作為S盒的最終輸出結(jié)果,送入密碼運算本次迭代的S盒后續(xù)步驟中。
[0014] 步驟一中密碼運算首次迭代所產(chǎn)生的隨機變元的數(shù)量為1或2個。
[0015] 步驟一中的線性變換與步驟七中的線性變換互為逆運算;步驟二中的非線性變換 與步驟八中的非線性變換互為逆運算。
[0016] 與現(xiàn)有技術(shù)相比,本發(fā)明通過非線性擠壓方法對密碼S盒進行偽裝,其通過對敏 感變元采用的是非線性變換以抵御先進的代數(shù)側(cè)信道攻擊與高階相關(guān)功耗攻擊,因而能夠 更好的抵御來自代數(shù)側(cè)信道攻擊。

【專利附圖】

【附圖說明】
[0017] 圖1為S盒1階非線性泄露擠壓圖。
[0018] 圖2為S盒2階非線性泄露擠壓圖。

【具體實施方式】
[0019] 本發(fā)明所設(shè)計的非線性擠壓保護密碼S盒的方法,包括如下步驟:
[0020] 步驟一,在密碼運算首次迭代時隨機產(chǎn)生至少1個隨機變元,并對所有的隨機變 元分別做線性變換;
[0021] 步驟二,對密碼運算本次迭代的S盒前序步驟所產(chǎn)生的含有敏感變元的變量做非 線性變換;
[0022] 步驟三,將步驟一得到的所有線性變換后的值與步驟二得到的非線性變換后的值 進行按位異或,并將按位異或后的值輸入到S盒中;
[0023] 步驟四,采用變元更新隨機函數(shù)對步驟一得到的線性變換后的值分別進行變元更 新;
[0024] 步驟五,S盒對步驟三輸入的值進行非線性變換;
[0025] 步驟六,將步驟四得到的變元更新后的值與步驟五得到的S盒的輸出值進行按位 異或;
[0026] 步驟七,對步驟四得到的變元更新后的值分別做線性變換,并將該線性變換后的 值作為密碼運算下次迭代的隨機變元;
[0027] 步驟八,對步驟六得到的按位異或后的值做非線性變換,并將非線性變換后的值 作為S盒的最終輸出結(jié)果,送入密碼運算本次迭代的S盒后續(xù)步驟中。
[0028] 本發(fā)明引入隨機變元,將隨機變元做線性變換,同時將含有敏感變元的變量做非 線性變換,然后將所得到的值相異或后作為S盒的輸入,同時隨機變元各自經(jīng)由隨機函數(shù) 進行變元更新。最后將更新后的隨機變元與S盒的輸出相異或后做與上述非線性變換互為 逆運算的非線性變換,作為最終的輸出結(jié)果。同時更新后的隨機變元也要經(jīng)過與上述的線 性變換互為逆運算的線性變換作為最終的輸出結(jié)果。本發(fā)明采用了非線性的變換對敏感變 元進行偽裝,使其具有能夠抵御代數(shù)側(cè)信道與高階相關(guān)功耗攻擊的能力。該非線性擠壓保 護密碼S盒的方法內(nèi)嵌于密碼算法的軟硬件實現(xiàn)過程中,屬于密碼算法的其中一個環(huán)節(jié), 并隨著密碼算法所設(shè)定的迭代次數(shù)進行迭代。
[0029] 敏感變元為密碼運算過程中產(chǎn)生的中間結(jié)果,由明文和密鑰共同決定的。額外引 入到密碼運算過程中的隨機變元,增加了密碼分析的難度,密碼運算首次迭代過程中引入 的隨機變元隨機產(chǎn)生,而密碼運算第二次及其之后迭代過程中所用的隨機變元則采用上次 迭代所得到的隨機變元。在理論上存在S盒的1階、2階、3階、以至于更高階的泄露擠壓模 型,即隨機產(chǎn)生的隨機變元為1個、2個、3個、以至于更多。但是考慮到高階泄露擠壓所需 要的計算成本很大(如加密算法執(zhí)行的時間),因此在實際應(yīng)用中本發(fā)明最多以2階非線 性泄露擠壓為宜,即隨機產(chǎn)生的隨機變元為1個或2個。其中1階非線性泄露擠壓和2階 非線性泄露擠壓均通過引入隨機變元,并采用一個非線性函數(shù)和若干個線性函數(shù)對敏感變 元進行偽裝。
[0030] 包含有敏感變元的變量輸入S盒前和從S盒輸入之后,需要做一組互為逆運算的 非線性變換,即步驟二中的非線性變換與步驟八中的非線性變換互為逆運算。對引入的隨 機變元要通過一個隨機函數(shù)使其更新,在通過隨機函數(shù)進行更新之前和更新之后要進行一 組互為逆運算的線性變換,即步驟一中的線性變換與步驟七中的線性變換互為逆運算。含 有敏感變元的變量要通過隨機變元進行掩蓋才能作為S盒的輸入,同樣,S盒的輸出要和經(jīng) 過更新之后的隨機變元進行掩蓋才能作為最終的非線性變換的輸入。
[0031] 線性變換所采用的線性變換函數(shù)可以參照現(xiàn)有密碼算法中使用的線性變換,如 在輸入和輸出均為8bit的情況下,可以設(shè)計如下線性變換,即設(shè)輸入為beif,輸出為Meif,則M=巧(6) = 6④(6 <<< 3) *(b<<< 5),其中< < <n表示向左循環(huán)移位n位。
[0032] 非線性變換所采用的非線性變換函數(shù)是通過布爾函數(shù)構(gòu)造方法所構(gòu)造的具有平 衡性、相關(guān)免疫性、非線性度高等具有良好密碼學特性的非線性變換函數(shù),亦可以采用現(xiàn)有 的密碼算法中的非線性變換函數(shù),如在輸入和輸出均為8bit的情況下,可以采用SMS4分組 密碼算法中的S盒作為非線性變換函數(shù)。步驟五在S盒內(nèi)部所進行的非線性變換和步驟二 在S盒之外對含有敏感變元的變量進行非線性變換,所采用的非線性變換函數(shù)可以相同, 也可以不相同。但是考慮安全性,2個非線性變換函數(shù)最好不相同。
[0033]下面通過2個具體的實施例,對本發(fā)明進行進一步地詳細說明:
[0034] 實施例1:
[0035] -種非線性擠壓保護密碼S盒的方法,即S盒的1階非線性泄露擠壓方法是通過 采用一個非線性函數(shù)匕和一個線性函數(shù)匕對S盒的敏感變元進行偽裝,如圖1所示,具體 包括如下步驟:
[0036] 1、設(shè)未經(jīng)偽裝的S盒輸入為a,并選擇一個隨機數(shù),記為b。

【權(quán)利要求】
1. 非線性擠壓保護密碼S盒的方法,其特征是包括如下步驟: 步驟一,在密碼運算首次迭代時隨機產(chǎn)生至少1個隨機變元,并對所有的隨機變元分 別做線性變換; 步驟二,對密碼運算本次迭代的S盒前序步驟所產(chǎn)生的含有敏感變元的變量做非線性 變換; 步驟三,將步驟一得到的所有線性變換后的值與步驟二得到的非線性變換后的值進行 按位異或,并將按位異或后的值輸入到S盒中; 步驟四,采用變元更新隨機函數(shù)對步驟一得到的線性變換后的值分別進行變元更新; 步驟五,S盒對步驟三輸入的值進行非線性變換; 步驟六,將步驟四得到的變元更新后的值與步驟五得到的S盒的輸出值進行按位異 或. 步驟七,對步驟四得到的變元更新后的值分別做線性變換,并將該線性變換后的值作 為密碼運算下次迭代的隨機變元; 步驟八,對步驟六得到的按位異或后的值做非線性變換,并將非線性變換后的值作為S 盒的最終輸出結(jié)果,送入密碼運算本次迭代的S盒后續(xù)步驟中。
2. 根據(jù)權(quán)利要求1所述的非線性擠壓保護密碼S盒的方法,其特征是:步驟一中,密碼 運算所首次迭代產(chǎn)生的隨機變元的數(shù)量為1或2個。
3. 根據(jù)權(quán)利要求1所述的非線性擠壓保護密碼S盒的方法,其特征是:步驟一中的線 性變換與步驟七中的線性變換互為逆運算;步驟二中的非線性變換與步驟八中的非線性變 換互為逆運算。
【文檔編號】H04L9/26GK104410490SQ201410784299
【公開日】2015年3月11日 申請日期:2014年12月16日 優(yōu)先權(quán)日:2014年12月16日
【發(fā)明者】韋永壯, 朱嘉良, 丁勇 申請人:桂林電子科技大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1