欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種抗功耗攻擊的字節(jié)替換電路的制作方法

文檔序號(hào):7671568閱讀:290來(lái)源:國(guó)知局
專利名稱:一種抗功耗攻擊的字節(jié)替換電路的制作方法
技術(shù)領(lǐng)域
本實(shí)用新型屬于數(shù)字集成電路領(lǐng)域,具體涉及一種抗功耗攻擊的字節(jié)替換電路,該字節(jié)替換電路專用于實(shí)現(xiàn)AES(高級(jí)數(shù)據(jù)加密標(biāo)準(zhǔn))算法,尤其 適用于有可能受到功耗攻擊的智能卡、電子密鑰芯片和無(wú)線傳感器等硬件口廣叩o背景技術(shù)2000年10月2日,美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究所(NIST)正式宣布選 擇Rijndael算法作為新的高級(jí)加密標(biāo)準(zhǔn)AES (Advanced Encryption Standard),以替代舊的數(shù)據(jù)加密標(biāo)準(zhǔn)DES (Data Encryption Standard)。 AES被設(shè)計(jì)成一種具有堅(jiān)固的安全性能的加密算法,而且能夠支持各種小型設(shè) 備。作為DES的繼承者,AES自從被接納為標(biāo)準(zhǔn)之日起就已經(jīng)被工業(yè)界、 銀行業(yè)和行政部門作為事實(shí)上的密碼標(biāo)準(zhǔn)。AES加密算法流程一般包括字節(jié)替換、行移位變換、列混合變換和輪 密鑰加操作,結(jié)尾輪稍有不同,沒有列混合變換,其加密流程如圖l所示, 其中輪邏輯如下數(shù)據(jù)經(jīng)過(guò)S盒完成字節(jié)替換,然后進(jìn)行4個(gè)32比特的行 移位變換,再經(jīng)過(guò)列混合變換,最后與由初始密鑰擴(kuò)展出來(lái)的輪密鑰進(jìn)行 輪密鑰加變換。實(shí)現(xiàn)密碼算法的方式主要有兩種, 一種是軟件方式,另一種是硬件方 式。通過(guò)硬件方式實(shí)現(xiàn)密碼算法時(shí),又分為嵌入式方式、現(xiàn)場(chǎng)可編程門陣 列(FPGA)方式和專用集成電路(ASIC)方式。能夠直接實(shí)現(xiàn)或支持密碼 算法實(shí)現(xiàn)的ASIC芯片稱為密碼芯片,或信息安全芯片。針對(duì)密碼芯片,傳 統(tǒng)攻擊方法采用數(shù)學(xué)手段進(jìn)行攻擊,密碼破譯者通常將密碼算法當(dāng)作一種 理想的數(shù)學(xué)對(duì)象進(jìn)行建模,從而對(duì)密碼系統(tǒng)的安全性進(jìn)行分析。1990年代 早期引入的差分和線性分析技術(shù)是傳統(tǒng)數(shù)學(xué)攻擊方法的典型代表。他們利 用加密算法的統(tǒng)計(jì)特性來(lái)揭示算法的潛在弱點(diǎn)。另一種方法通過(guò)大量的數(shù) 學(xué)計(jì)算來(lái)搜索密碼系統(tǒng)的密鑰。該類攻擊方法的一個(gè)直接的例子就是暴力 攻擊嘗試所有可能的密鑰,直至找到正確的密鑰。隨著計(jì)算機(jī)性能的增 強(qiáng),這種方法也越來(lái)越具有可行性,但是仍需要耗費(fèi)大量的時(shí)間和物力, 而且如果密鑰的長(zhǎng)度增加,攻擊難度則會(huì)急劇增加。目前,針對(duì)AES芯片的最有效的攻擊方法是功耗分析。功耗分析是旁路攻擊中的一種。它是指在加密設(shè)備運(yùn)行時(shí)通過(guò)分析其功率消耗來(lái)推導(dǎo)出 加密系統(tǒng)所進(jìn)行的操作和在操作中所涉及到的密鑰參量。通常根據(jù)對(duì)功率消耗的不同分析方法,又分為簡(jiǎn)單功率分析(Simple Power Analysis, SPA)、差 分功率分析(Differential Power Analysis, DPA)和相關(guān)性功率分析(Correlation Power Analysis, CPA)。針對(duì)FPGA和ASIC的AES實(shí)現(xiàn)可以采用DPA或者 CPA攻擊最終獲得AES的密鑰,已有文獻(xiàn)報(bào)道,采用CPA方法成功針對(duì) AES的ASIC進(jìn)行了攻擊。AES加密電路的總功耗包括字節(jié)替換單元、行移位變換單元、列混合 變換單元、輪密鑰加、密鑰擴(kuò)展單元以及內(nèi)部寄存器的功耗。通常結(jié)構(gòu)的 AES加密電路中包含了字節(jié)替換單元的16個(gè)S盒和密鑰擴(kuò)展單元的4個(gè)S 盒,精簡(jiǎn)結(jié)構(gòu)的AES加密電路中也包含了4個(gè)或8個(gè)S盒,消耗了電路中 大部分的能量;另一方面,字節(jié)替換單元直接與寄存器相連,它的輸入被 時(shí)鐘所同步,可以大幅度減少由于毛刺和噪聲所引起的無(wú)關(guān)的功率消耗。 因此,字節(jié)替換單元的實(shí)現(xiàn)決定著加密芯片的面積和功耗的大小,同時(shí)也 對(duì)芯片的安全性有重要影響。S盒可以采用不同的硬件結(jié)構(gòu)設(shè)計(jì)。最簡(jiǎn)單直接的就是査找表(LUT) 結(jié)構(gòu),事先計(jì)算好求逆過(guò)程中每個(gè)輸入對(duì)應(yīng)的輸出,將GF(2S)上的求逆運(yùn) 算加上仿射變換用査找一個(gè)8輸入8輸出的表來(lái)表示。Bertoni等人針對(duì)智能卡、移動(dòng)通信設(shè)備及電池供電設(shè)備中低功耗的需 求,提出了 DSE (Decoder-Switch-Encoder)結(jié)構(gòu)的S盒[參見Bertoni G" Macchetti M., Negri L., Fragneto P.. Power-efficient ASIC Synthesis of Cryptographic Sboxes, In Proceedings of the 14th ACM Great Lakes Symposium on VLSI (GLSVLSI 2004), pp. 277 -281. ACM Press, 2004 ],包括譯碼模塊、交換模塊和編碼模塊三個(gè)部分。其
中,交換模塊只執(zhí)行連線而不消耗能量;譯碼模塊將傳統(tǒng)的直接譯碼分解 成多級(jí)譯碼,并尋找合適的級(jí)數(shù);編碼模塊也可以采用多級(jí)編碼結(jié)構(gòu)。采用傳統(tǒng)的二叉決策圖(Binary Decision Diagram, BDD)算法也可以 實(shí)現(xiàn)S盒[參見Bryant R. E.. Graph-Based algorithms for Boolean function manipulation. IEEE Trans. Computers, vol. C-35, no. 8, pp. 677 - 691, 1986.]。 BDD是一種表示布爾 表達(dá)式的有向無(wú)環(huán)圖(DirectAcyclic Graph, DAG),其原理是將邏輯函數(shù)中 的所有變量作為BDD中的節(jié)點(diǎn),按照自頂向下的方法,對(duì)每一節(jié)點(diǎn)的取值 按香農(nóng)公式進(jìn)行分叉選擇。Wolkerstorfer等人提出了有限域分解的實(shí)現(xiàn)方法[Wolkerstorfer J., Oswald E., Lamberger M.. An ASIC Implementation of the AES SBoxes[C]. In Topics in Cryptology -CT-RSA 2002, vol. 2271 of Lecture Notes in Computer Science, pp.67-78. Springer-Verlag, 2002.],它充分利用了有限域上的數(shù)學(xué)運(yùn)算規(guī)則。由于在GF(2"上做乘法逆 則相對(duì)簡(jiǎn)單,因此,把GF(2"看作GF(2,上的二次擴(kuò)展,從而把GF(2"上 的每一個(gè)元素映射為GF(2"上的元素。最后,再通過(guò)一個(gè)逆映射把在GF(24) 上的計(jì)算結(jié)果轉(zhuǎn)化到GF(2"上。這種結(jié)構(gòu)占用最小的芯片面積。Marioka和Satoh提出的3級(jí)PPRM結(jié)構(gòu)S盒是對(duì)有限域分解結(jié)構(gòu)S盒 的改進(jìn)采用了異或門來(lái)減小動(dòng)態(tài)冒險(xiǎn)的傳播[S. Morioka and A. Satoh. An optimized S-Box circuit architecture for low power AES design. In Cryptographic Hardware and Embedded Systems — CHES 2002, vol. 2523 of Lecture Notes in Computer Science, pp. 172 - 186. Springer-Verlag,2002.];采用延時(shí)鏈來(lái)平衡路徑的延時(shí)使信號(hào)到達(dá)門的 時(shí)間盡可能一致,以此來(lái)減小動(dòng)態(tài)冒險(xiǎn)引起的器件無(wú)效翻轉(zhuǎn),以達(dá)到降低 功耗的目的。一般情況下,字節(jié)替換單元直接由16個(gè)相同結(jié)構(gòu)的8輸入8輸出的査 找表結(jié)構(gòu)S盒組成。圖2所示為采用單一的查找表結(jié)構(gòu)實(shí)現(xiàn)S盒的原理圖, 圖3為其具體電路結(jié)構(gòu)圖(參見[l] S. Morioka and A. Satoh. A 10-Gbps Full-AES Crypto Design With a Twisted BDD S-Box Architecture. IEEE Transactions on Very Large Scale Integration(VLSI) Systems, vol.12, No.7, July 2004; [2]—種AES加解密電路中Sbox模塊優(yōu)化方法及優(yōu)化電路,專利申 請(qǐng)?zhí)?00510085160)。
對(duì)于CMOS電路,占總能耗比例最大的動(dòng)態(tài)功耗取決于時(shí)鐘變化時(shí)在該邏輯門引起消耗功率事件的概率、每時(shí)鐘周期發(fā)生開關(guān)的平均電容值、 供電電壓以及時(shí)鐘頻率。功耗分析攻擊正是利用了動(dòng)態(tài)能耗對(duì)數(shù)據(jù)處理的 依賴關(guān)系。實(shí)際電路的拓?fù)浣Y(jié)構(gòu)很復(fù)雜,動(dòng)態(tài)能耗取決于整體翻轉(zhuǎn)率的統(tǒng) 計(jì)特性和電路工藝。但可以簡(jiǎn)化認(rèn)為電路的總能耗與整體翻轉(zhuǎn)率有一定比 例關(guān)系?;谶@種相關(guān)性建立起來(lái)的電路能耗模型能夠反映當(dāng)前處理數(shù)據(jù) 的變換導(dǎo)致瞬時(shí)電路能耗的改變,因此功耗攻擊可以利用多次測(cè)量的能耗 曲線統(tǒng)計(jì)分析出電路中相應(yīng)數(shù)據(jù)位的變化。在實(shí)際的功耗攻擊中,如果對(duì)整128比特進(jìn)行攻擊,則需要進(jìn)行2128 次測(cè)試,在實(shí)際攻擊中是不可接受的。因此,常用的方法是僅對(duì)部分密鑰 進(jìn)行攻擊,然后逐段累加。針對(duì)AES時(shí),由通常的AES加密電路結(jié)構(gòu)可知, 輸入128比特的數(shù)據(jù)對(duì)應(yīng)16個(gè)S盒,因此可以選擇8位進(jìn)行攻擊,這樣總 的測(cè)試次數(shù)為28X 16=212。圖3所示通常結(jié)構(gòu)的字節(jié)替換單元為同一結(jié)構(gòu) 的16個(gè)S盒,其功耗特性一致,字節(jié)替換單元整體功耗和每個(gè)S盒的功耗 是一個(gè)簡(jiǎn)單的線性關(guān)系。這樣,進(jìn)行局部攻擊時(shí)可以很容易攻擊出正確的 結(jié)果??构墓舻腁ES設(shè)計(jì)有兩種基本的方法 一種是采用特殊的電路邏 輯形式實(shí)現(xiàn)AES,如使用差分級(jí)聯(lián)開關(guān)邏輯(DCVSL, Differential Cascade Voltage Switch Logic),或者波動(dòng)動(dòng)態(tài)數(shù)字邏輯(WDDL, Wave Dynamic Digital Logic)并且在版圖設(shè)計(jì)中采用差分布線技巧,或者隨機(jī)開關(guān)邏輯 (RSL, Random Switching Logic)等;也可以采用異步電路設(shè)計(jì)方法,增強(qiáng) AES硬件電路的抗功耗攻擊特性。另一種方法是采用掩蔽(mask)技術(shù), 將AES中加密解密的中間結(jié)果隨機(jī)化。以上方法的不足是實(shí)現(xiàn)較為復(fù)雜且 代價(jià)較高。如采用特殊的電路邏輯實(shí)現(xiàn)形式,基本的邏輯門電路需要增加 一些附加的電路用以平衡功耗,這樣在面積和功耗上會(huì)有損失;另外一些 特殊的邏輯形式不與現(xiàn)有的芯片工藝和版圖庫(kù)兼容,這樣設(shè)計(jì)和生產(chǎn)起來(lái) 需要付出額外的成本。另一方面,如果采用掩蔽技術(shù),需要在芯片中增加 隨機(jī)數(shù)產(chǎn)生器以及額外的掩蔽邏輯和恢復(fù)邏輯,這樣使AES的硬件實(shí)現(xiàn)代 價(jià)增加而性能降低。發(fā)明內(nèi)容本實(shí)用新型的目的在于提供一種抗功耗攻擊的字節(jié)替換電路,該電路能夠以較小的代價(jià)顯著的增強(qiáng)AES加密電路的抗功耗攻擊特性。本實(shí)用新型提供的一種抗功耗攻擊的字節(jié)替換電路,其特征在于該 電路包括編碼單元、隨機(jī)開關(guān)單元、S盒單元和恢復(fù)單元;其中,所述編碼 單元對(duì)輸入數(shù)據(jù)進(jìn)行運(yùn)算,產(chǎn)生一個(gè)隨機(jī)數(shù),并將該隨機(jī)數(shù)傳送給隨機(jī)開 關(guān)單元和恢復(fù)單元,控制隨機(jī)開關(guān)單元和恢復(fù)單元的操作;隨機(jī)開關(guān)單元接收n組8bit的輪數(shù)據(jù)和編碼單元產(chǎn)生的隨機(jī)數(shù),并對(duì)n組輸入數(shù)據(jù)進(jìn)行 交換,使各組數(shù)據(jù)隨機(jī)地進(jìn)入異構(gòu)S盒Sl Sn; S盒單元由n個(gè)S盒構(gòu)成,n 的取值范圍為4 16, n個(gè)S盒中至少有一個(gè)S盒的結(jié)構(gòu)不同于其它S盒的 結(jié)構(gòu);S盒單元對(duì)接收的各組數(shù)據(jù)進(jìn)行字節(jié)替換;恢復(fù)單元接受與隨機(jī)開關(guān) 單元的相同的隨機(jī)數(shù)以及S盒單元發(fā)送來(lái)的變換后的數(shù)據(jù),將這些變換后 的數(shù)據(jù)恢復(fù)到隨機(jī)開關(guān)單元交換之前的排列順序。本實(shí)用新型電路采用不同結(jié)構(gòu)的S盒單元代替?zhèn)鹘y(tǒng)的單一結(jié)構(gòu)的S盒 單元,在S盒單元的輸入端之前插入了開關(guān)單元,在S盒單元的輸出端之 后添加了恢復(fù)單元。開關(guān)單元和恢復(fù)單元都由隨機(jī)數(shù)控制,而隨機(jī)數(shù)則由 編碼單元對(duì)輸入的輪數(shù)據(jù)進(jìn)行運(yùn)算后產(chǎn)生。不同于一般的掩蔽方法,在受 到攻擊時(shí),該字節(jié)替換電路結(jié)構(gòu)能夠巧妙利用攻擊時(shí)的輸入數(shù)據(jù)來(lái)進(jìn)行選 擇,不需要另外的隨機(jī)數(shù)發(fā)生器。另一方面,增加輸入隨機(jī)明文的個(gè)數(shù)的 方法對(duì)本實(shí)用新型提出的電路的攻擊是無(wú)效的。同時(shí),此方法也不需要采 用特殊的電路結(jié)構(gòu)和邏輯形式,從而能與已有的AES加密電路實(shí)現(xiàn)方式兼 容。本實(shí)用新型能夠在與現(xiàn)有工藝兼容的情況下,以較小的代價(jià)顯著的增 強(qiáng)字節(jié)替換電路的抗功耗攻擊特性,采用本實(shí)用新型的技術(shù)方案后,能夠 在AES硬件加密和解密時(shí)有效掩蔽密鑰,從而使功耗攻擊得不到正確的密 鑰。

圖1為AES加密算法的流程圖;圖2為現(xiàn)有技術(shù)字節(jié)替換單元的原理圖;圖3為現(xiàn)有技術(shù)字節(jié)替換單元的電路結(jié)構(gòu)圖;圖4為本實(shí)用新型抗功耗攻擊的字節(jié)替換電路的結(jié)構(gòu)圖(n-16時(shí)); 圖5為本實(shí)用新型字節(jié)替換電路的一種應(yīng)用實(shí)例; 圖6為S盒單元的一種實(shí)施方法;圖7為單一査找表結(jié)構(gòu)的字節(jié)替換電路的AES攻擊結(jié)果;圖8為單一有限域分解結(jié)構(gòu)的字節(jié)替換電路的AES攻擊結(jié)果;圖9為采用本實(shí)用新型的字節(jié)替換電路的AES攻擊結(jié)果。
具體實(shí)施方式
在AES加密算法中的每一輪中都要用到字節(jié)替換。字節(jié)替換是AES算 法中唯一的非線性變換,它是一個(gè)磚匠置換,該置換包含一個(gè)作用在狀態(tài) 字節(jié)上的S盒,對(duì)于狀態(tài)的每一個(gè)字節(jié),都經(jīng)過(guò)S盒替換成一個(gè)對(duì)應(yīng)的字節(jié)。 S盒是由下述兩種變換的合成構(gòu)造出來(lái)的 ;["]=/(g(")) (l)首先,取元素a在有限域GF (28)中的乘法逆g(a),規(guī)定'OO'的逆是它 自身;其次,再經(jīng)過(guò)GF(2)上的仿射變換f得到結(jié)果。下面參照附圖,以16個(gè)S盒為例詳細(xì)說(shuō)明本實(shí)用新型的抗功耗攻擊的 字節(jié)替換電路。所給出的附圖僅用于說(shuō)明,并不限制本實(shí)用新型。如圖4所示,本實(shí)用新型字節(jié)替換電路采用掩蔽技術(shù)抗功耗攻擊,包 括編碼單元l、隨機(jī)開關(guān)單元2、 S盒單元3和恢復(fù)單元4。編碼單元1對(duì)輸入數(shù)據(jù)進(jìn)行運(yùn)算,產(chǎn)生一個(gè)隨機(jī)數(shù),并將該隨機(jī)數(shù)傳 送給隨機(jī)開關(guān)單元2和恢復(fù)單元4,控制隨機(jī)開關(guān)單元2和恢復(fù)單元4的操 作。編碼單元1的輸入為每一輪數(shù)據(jù),輸入數(shù)據(jù)所要進(jìn)行的運(yùn)算可以根據(jù) 電路結(jié)構(gòu)任意設(shè)置。例如,可以選擇128bit輪數(shù)據(jù)的低16位作為輸入,將 這16個(gè)比特位上的"1"或"0"相加得到結(jié)果作為輸出。此時(shí),若輪數(shù)據(jù) 的低16位全為"1",則輸出結(jié)果為16;若輪數(shù)據(jù)的低16位全為"0",則 輸出結(jié)果為0。也可以直接選取輪數(shù)據(jù)的部分比特位直接構(gòu)成一個(gè)二進(jìn)制 數(shù),作為輸出結(jié)果。由于每次進(jìn)入字節(jié)替換單元的輪數(shù)據(jù)不同,編碼單元l 的輸入數(shù)據(jù)一般都不同,其輸出結(jié)果是一個(gè)隨機(jī)數(shù)。如圖4所示,隨機(jī)開關(guān)單元2的輸入分為兩部分, 一部分為編碼單元1 產(chǎn)生的隨機(jī)數(shù),另一部分為n組8bit的輪數(shù)據(jù),n為S盒單元3中的S盒 的數(shù)量。當(dāng)n=16時(shí),隨機(jī)開關(guān)單元2完成的功能是對(duì)16組輸入數(shù)據(jù)進(jìn)行 交換,使各組數(shù)據(jù)隨機(jī)地進(jìn)入異構(gòu)S盒S1 S16,以達(dá)到掩蔽的目的。隨機(jī)開關(guān)單元2所使用的開關(guān)函數(shù)的設(shè)計(jì)相當(dāng)于對(duì)如下樣本 {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15} 進(jìn)行全排列,因此,共計(jì)有16!種排列結(jié)果。在實(shí)際的硬件電路實(shí)現(xiàn)時(shí), 僅需要取其中的一部分結(jié)果構(gòu)成可供選擇的排列,這一部分結(jié)果根據(jù)編碼 單元1輸出的隨機(jī)數(shù)進(jìn)行選擇。開關(guān)函數(shù)可以采用各種各樣的交換方式。 例如,當(dāng)開關(guān)函數(shù)采用循環(huán)右移,編碼單元1輸出的隨機(jī)數(shù)為4時(shí),隨機(jī) 開關(guān)單元2將16組輸入數(shù)據(jù)循環(huán)右移4次。這樣,第1組輸入數(shù)據(jù)移到了 第5組,進(jìn)入S盒S5;第2組輸入數(shù)據(jù)移到了第6組,進(jìn)入S盒S6;其余 依此類推。S盒單元3由n個(gè)異構(gòu)S盒構(gòu)成,n=4 16, S盒的結(jié)構(gòu)可以是査找表 結(jié)構(gòu)、DSE (Decoder-Switch-Encoder)結(jié)構(gòu)、二叉決策圖(Binary Decision Diagram, BDD)結(jié)構(gòu)、有限域分解結(jié)構(gòu)、PPRM(Positive Polarity Reed-Muller)結(jié)構(gòu)等結(jié)構(gòu)。S盒單元3中至少有一個(gè)S盒的結(jié)構(gòu)與其它S盒的結(jié)構(gòu)不同。 這種結(jié)構(gòu)代替了傳統(tǒng)的單--結(jié)構(gòu)的S盒,它們可以是由任何不同硬件結(jié)構(gòu) 實(shí)現(xiàn)的S盒,排列順序也可以任意組合,可用于通常結(jié)構(gòu)或精簡(jiǎn)結(jié)構(gòu)的AES 加密電路。S盒單元3對(duì)輸入數(shù)據(jù)的進(jìn)行字節(jié)替換。輸入數(shù)據(jù)的每一個(gè)字節(jié),都經(jīng) 過(guò)S盒替換成一個(gè)對(duì)應(yīng)的字節(jié)。對(duì)各種不同結(jié)構(gòu)的S盒而言,其fi更件電路 結(jié)構(gòu)不同,所產(chǎn)生功耗也不同,故不能將此S盒單元所產(chǎn)生的功耗等效為n 個(gè)相同S盒產(chǎn)生功耗的累加。因此只要對(duì)這些不同結(jié)構(gòu)的S盒進(jìn)行隨機(jī)選 擇,就可以達(dá)到抗功耗攻擊的效果。
恢復(fù)單元4是隨機(jī)開關(guān)單元2的一個(gè)逆過(guò)程。恢復(fù)單元4和隨機(jī)開關(guān) 單元2的隨機(jī)數(shù)輸入值相同,經(jīng)過(guò)隨機(jī)開關(guān)單元2交換后的n組輸入數(shù)據(jù), 在經(jīng)過(guò)S盒單元3變換后傳送給恢復(fù)單元4,恢復(fù)單元4將這些數(shù)據(jù)恢復(fù)到 隨機(jī)開關(guān)單元2交換之前的排列順序,以保證后續(xù)操作的正確性。如上文 隨機(jī)開關(guān)單元2的開關(guān)函數(shù)采用循環(huán)右移時(shí),恢復(fù)單元4則采用循環(huán)左移。實(shí)例如圖5所示,編碼單元1選取輪數(shù)據(jù)的低16位逐位相加得到隨機(jī)數(shù)輸 出,開關(guān)單元2的函數(shù)設(shè)計(jì)為循環(huán)右移,恢復(fù)單元4的函數(shù)相應(yīng)地設(shè)計(jì)為 循環(huán)左移,異構(gòu)S盒S1-S16采用上文中圖6所示的5種S盒結(jié)構(gòu)和排列順 序。如上文所述,當(dāng)編碼單元1輸出的隨機(jī)數(shù)為4時(shí),第1組8bit數(shù)據(jù)輸 入隨機(jī)開關(guān)單元2,經(jīng)循環(huán)右移4次進(jìn)入S5,完成字節(jié)替換變換后進(jìn)入恢 復(fù)單元4,再循環(huán)左移4次,恢復(fù)為第1組處理后的8bit數(shù)據(jù)。同樣,第2 組,第3組,…,第16組輸入數(shù)據(jù)都將進(jìn)行類似流程的操作。此時(shí)的編碼 單元1為加法器結(jié)構(gòu),隨機(jī)開關(guān)單元2為一個(gè)17輸入16輸出的循環(huán)右移 結(jié)構(gòu),恢復(fù)單元4為一個(gè)17輸入16輸出的循環(huán)左移結(jié)構(gòu)。與通常的字節(jié)替換電路相比,該發(fā)明字節(jié)替換電路重點(diǎn)在于采用了異 構(gòu)S盒S1 S16代替?zhèn)鹘y(tǒng)的單 一結(jié)構(gòu)的S盒,增加了由輪數(shù)據(jù)控制的編碼單 元,與隨機(jī)開關(guān)單元和恢復(fù)單元一起作用,使S1 S16的順序隨著輸入輪數(shù) 據(jù)的變化而變化,這樣整個(gè)AES加密電路功耗呈現(xiàn)隨機(jī)化的特點(diǎn),因此可 以達(dá)到抗功耗攻擊的效果。且該發(fā)明電路能夠巧妙利用攻擊時(shí)輸入的輪數(shù) 據(jù)來(lái)產(chǎn)生隨機(jī)數(shù)以實(shí)現(xiàn)掩蔽,而不需要在芯片中增加隨機(jī)數(shù)產(chǎn)生器以及額 外的掩蔽邏輯和恢復(fù)邏輯,從而可降低實(shí)現(xiàn)成本。AES解密電路也可以采用與AES加密電路中相似的字節(jié)替換電路,采 用不同結(jié)構(gòu)的S盒代替?zhèn)鹘y(tǒng)的同種結(jié)構(gòu)S盒,并用密文編碼作為開關(guān)單元 和恢復(fù)單元的控制信號(hào),具體實(shí)現(xiàn)方法與AES加密電路類似。另外,由于 密鑰擴(kuò)展單元也需要4個(gè)S盒,因此在密鑰擴(kuò)展單元亦可采用本實(shí)用新型 所提出的異構(gòu)字節(jié)替換電路,以增強(qiáng)AES的硬件電路的抗功耗攻擊的效果。該發(fā)明的技術(shù)效果實(shí)驗(yàn)如下:采用AES標(biāo)準(zhǔn)算法實(shí)現(xiàn)AES加解密引擎,
完成硬件描述語(yǔ)言的設(shè)計(jì)和仿真后,采用UMC 0.25 u m工藝進(jìn)行電路綜合 和實(shí)現(xiàn)。進(jìn)行了 CPA攻擊實(shí)驗(yàn)[S.B.Ors, F.Gurkaynak, E. Oswald, B. Preneel "Power-Analysis Attack on an ASIC AES implementation", in the proceedings of ITCC 2004, Las Vegas, April 5-7 2004.],部分密鑰為0X9C (156)時(shí),輸入1000個(gè)隨機(jī)明 文,進(jìn)行功耗攻擊。傳統(tǒng)的字節(jié)替換電路實(shí)現(xiàn)方法均可以被攻擊,如圖7、圖8所示為傳統(tǒng) 的單一結(jié)構(gòu)S盒實(shí)現(xiàn)的AES加密電路結(jié)構(gòu)被攻擊時(shí)的結(jié)果。圖7中字節(jié)替 換電路采用16個(gè)單一的査找表結(jié)構(gòu)S盒,圖8中字節(jié)替換電路采用16個(gè) 單一的有限域分解結(jié)構(gòu)S盒。由圖中可以看出,相關(guān)系數(shù)最大值處對(duì)應(yīng)的 猜測(cè)密鑰值正是0X9C (156),這表明正確的部分密鑰值已經(jīng)被成功攻擊出 來(lái),并且多次仿真攻擊實(shí)驗(yàn)的結(jié)果表明,只要隨機(jī)輸入明文數(shù)目在400以 上,所有的單一結(jié)構(gòu)S盒都能被成功攻擊出密鑰值。如圖9所示為采用本實(shí)用新型提出的字節(jié)替換電路的AES加密電路結(jié) 構(gòu)被攻擊時(shí)的結(jié)果,可以看出密鑰0X9C (156)己經(jīng)被成功掩蔽。此時(shí), 相關(guān)系數(shù)的最高點(diǎn)顯著偏離0X9C,因此功耗攻擊將得不到正確的部分密 鑰。實(shí)驗(yàn)對(duì)不同的密鑰進(jìn)行了攻擊,均證明本字節(jié)替換電路對(duì)功耗攻擊防 護(hù)的有效性。攻擊實(shí)驗(yàn)同時(shí)證明,由于電路采用的特殊結(jié)構(gòu),增加隨機(jī)明 文的個(gè)數(shù)同樣無(wú)法對(duì)采用本實(shí)用新型提出的字節(jié)替換電路實(shí)現(xiàn)的AES加密 電路構(gòu)成威脅。
權(quán)利要求1、 一種抗功耗攻擊的字節(jié)替換電路,其特征在于該電路包括編碼單 元(l)、隨機(jī)開關(guān)單元(2)、 S盒單元(3)和恢復(fù)單元(4),其中,所述編碼單元(l)對(duì)輸入數(shù)據(jù)進(jìn)行運(yùn)算,產(chǎn)生一個(gè)隨機(jī)數(shù),并將該隨機(jī) 數(shù)傳送給隨機(jī)開關(guān)單元(2)和恢復(fù)單元(4),控制隨機(jī)開關(guān)單元(2)和恢復(fù)單元 (4)的操作;隨機(jī)開關(guān)單元(2)接收n組8bit的輪數(shù)據(jù)和編碼單元(l)產(chǎn)生的隨機(jī)數(shù), 并對(duì)n組輸入數(shù)據(jù)進(jìn)行交換,使各組數(shù)據(jù)隨機(jī)地進(jìn)入異構(gòu)S盒Sl Sn;S盒單元(3)由n個(gè)S盒構(gòu)成,n的取值范圍為4 16, n個(gè)S盒中至少 有一個(gè)S盒的結(jié)構(gòu)不同于其它S盒的結(jié)構(gòu);S盒單元(3)對(duì)接收的各組數(shù)據(jù) 進(jìn)行字節(jié)替換;恢復(fù)單元(4)接受與隨機(jī)開關(guān)單元(2)的相同的隨機(jī)數(shù)以及S盒單元(3)發(fā) 送來(lái)的變換后的數(shù)據(jù),將這些變換后的數(shù)據(jù)恢復(fù)到隨機(jī)開關(guān)單元(2)交換之 前的排列順序。
專利摘要本實(shí)用新型公開了一種抗功耗攻擊的字節(jié)替換電路,包括編碼單元、隨機(jī)開關(guān)單元、S盒單元和恢復(fù)單元,S盒單元由4~16個(gè)異構(gòu)S盒組成。本實(shí)用新型采用異構(gòu)S盒單元代替?zhèn)鹘y(tǒng)的單一結(jié)構(gòu)的S盒單元,在S盒單元的輸入端前插入開關(guān)單元,其輸出端后添加恢復(fù)單元。在受到攻擊時(shí),本實(shí)用新型能夠巧妙利用攻擊時(shí)的輸入數(shù)據(jù)來(lái)進(jìn)行選擇,不需要另外的隨機(jī)數(shù)發(fā)生器。另一方面,增加輸入隨機(jī)明文的個(gè)數(shù)的方法對(duì)本實(shí)用新型提出的電路的攻擊是無(wú)效的。本實(shí)用新型不需要采用特殊的電路結(jié)構(gòu)和邏輯形式,能與已有的AES加密電路實(shí)現(xiàn)方式兼容。本實(shí)用新型能夠以較小的代價(jià)顯著的增強(qiáng)字節(jié)替換電路的抗功耗攻擊特性,能夠在AES硬件加密和解密時(shí)有效掩蔽密鑰,使功耗攻擊得不到正確的密鑰。
文檔編號(hào)H04L9/06GK201039199SQ20072008417
公開日2008年3月19日 申請(qǐng)日期2007年4月13日 優(yōu)先權(quán)日2007年4月13日
發(fā)明者菊 劉, 劉政林, 鄒雪城, 陳毅成 申請(qǐng)人:華中科技大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
德惠市| 饶河县| 紫云| 永年县| 平舆县| 三河市| 彰化县| 临夏县| 丹巴县| 巴马| 琼结县| 白玉县| 富川| 九江县| 桦南县| 城市| 方城县| 台中县| 泊头市| 日照市| 涪陵区| 思茅市| 东台市| 修武县| 武功县| 阿拉善左旗| 阿瓦提县| 永城市| 盐城市| 桂阳县| 延川县| 和田市| 南岸区| 昌平区| 宁安市| 津市市| 兰州市| 昌乐县| 牡丹江市| 颍上县| 海阳市|