專(zhuān)利名稱(chēng)::保護(hù)可編程密碼電路的方法,以及由所述方法保護(hù)的電路的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種保護(hù)可編程密碼電路的方法。還涉及一種由所述方法保護(hù)的電路。其主要應(yīng)用于保護(hù)該類(lèi)型的電路抵抗差分功率分析攻擊。
背景技術(shù):
:密碼學(xué)的目的主要是-通過(guò)加密及其對(duì)偶操作(dualoperation)即解密手段保護(hù)信息的秘密;或者-或通過(guò)簽名和簽名驗(yàn)證操作保護(hù)信息的完整性。密碼學(xué)使用可靠的數(shù)學(xué)方法,在此意義上,在公知知識(shí)的現(xiàn)有狀態(tài)下,沒(méi)有攻擊方法比與測(cè)試所有可能密鑰相對(duì)應(yīng)的窮舉攻擊更快速。通常,加密方法涉及系統(tǒng)安全所需的復(fù)雜的運(yùn)算。其復(fù)雜度不會(huì)對(duì)計(jì)算機(jī)造成特別的問(wèn)題,但是在一般公眾所用的設(shè)備通常是低成本微處理器控制的設(shè)備,不具有高運(yùn)算能力時(shí),這會(huì)構(gòu)成障礙。因此,后果可能是幾種等級(jí),例如,銀行卡將會(huì)花費(fèi)幾分鐘來(lái)對(duì)交易簽名,或者數(shù)字支付電視解碼器將不能滿(mǎn)足所涉及的數(shù)據(jù)速率。為了解決這類(lèi)問(wèn)題而不增加系統(tǒng)的成本,通常是為控制設(shè)備的中央處理單元增加輔助設(shè)備,一般是密碼專(zhuān)用協(xié)處理器。然而,無(wú)論是通過(guò)中央處理單元還是專(zhuān)用協(xié)處理器實(shí)現(xiàn),密碼算法在所有情況下都是通過(guò)物理電子設(shè)備實(shí)現(xiàn)的。然而電子設(shè)備具有不可避免的不理想性,這是由于電學(xué)原理的內(nèi)在屬性造成的。因此,可能利用實(shí)現(xiàn)了如下算法的物理系統(tǒng)的不理想性來(lái)攻擊從數(shù)據(jù)觀(guān)點(diǎn)看可靠的密碼系統(tǒng)-運(yùn)算的持續(xù)時(shí)間可取決于數(shù)據(jù)的值,特別是對(duì)于時(shí)間優(yōu)化軟件系統(tǒng),這可能引發(fā)時(shí)間攻擊,在某些情況下,使得基于簡(jiǎn)單的運(yùn)行時(shí)間測(cè)試就能發(fā)現(xiàn)所有的密鑰;-瞬時(shí)功耗也可能取決于數(shù)據(jù)而且可能引發(fā)一系列攻擊,例如-SPA(simplepoweranalysis,簡(jiǎn)單功率分析),其試圖基于測(cè)量密碼操作期間中央處理單元的功耗來(lái)區(qū)分中央處理單元執(zhí)行的操作;-DPA(differentialpoweranalysis,差分功率分析),其針對(duì)很多功耗測(cè)量進(jìn)行統(tǒng)計(jì)操作,這在針對(duì)隨機(jī)消息執(zhí)行密碼操作期間進(jìn)行,并且用固定密鑰來(lái)對(duì)密鑰的有限部分所作的假設(shè)進(jìn)行驗(yàn)證有效或者無(wú)效。-模板攻擊(templateattack),其-在第一階段,使用與被攻擊設(shè)備相同的設(shè)備,除非該相同設(shè)備不包含秘密,來(lái)建構(gòu)用密鑰的有限部分的值來(lái)排序的功率模型;以及。-在第二階段,對(duì)被攻擊設(shè)備的功耗進(jìn)行幾次測(cè)量,來(lái)確定測(cè)量的功率水平最接近哪個(gè)模型,因而確定該子密鑰的值;-導(dǎo)線(xiàn)中流動(dòng)的任何電流會(huì)產(chǎn)生電磁場(chǎng),對(duì)其測(cè)量會(huì)引發(fā)攻擊,其原理與基于功耗的攻擊,主要是DPA,相同;以及-最后,攻擊會(huì)干擾系統(tǒng)的操作以便利用錯(cuò)誤結(jié)果來(lái)發(fā)現(xiàn)系統(tǒng)的秘密。實(shí)現(xiàn)密碼算法并且能夠泄露與存儲(chǔ)在設(shè)備的存儲(chǔ)器中的秘密有關(guān)的信息的物理設(shè)備的不理想性稱(chēng)為“隱藏通道”(cachedchannel)。重新配置的FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)類(lèi)型電路非常廣泛用于需要密碼的應(yīng)用中。至少有兩個(gè)原因。首先,密碼標(biāo)準(zhǔn)變比很快,某些具有弱點(diǎn)的算法被其他改正了缺陷的算法替代。另外,密碼參數(shù),例如密鑰大小,也是可變的。因此需要靈活性,且不危害性能。實(shí)際上,密碼算法能保護(hù)是因?yàn)樗鼈兊倪\(yùn)算是復(fù)雜的。FPGA完美地滿(mǎn)足了對(duì)于靈活性和功率的要求。其次,某些密碼應(yīng)用被少量的傳播。這主要是例如星上系統(tǒng)的情況。因此FPGA方案相比于例如ASIC類(lèi)型的專(zhuān)用實(shí)現(xiàn)更加有效。然而,像所有的密碼電路一樣,具有密碼功能的FPGA易受攻擊,主要是隱藏通道攻擊。物理門(mén)操作于互補(bǔ)邏輯(complementarylogic),這造成功耗獨(dú)立于數(shù)據(jù)并因此變得不可用,主要是對(duì)于DPA。為了保證在每個(gè)運(yùn)算的轉(zhuǎn)換(transition)的數(shù)量固定,即功率消耗固定,差分邏輯需要兩個(gè)工作階段-預(yù)充電階段,用于將變量設(shè)置到已知狀態(tài);以及-評(píng)估階段,在該階段用固定數(shù)量的轉(zhuǎn)換來(lái)執(zhí)行運(yùn)算。因此密碼電路的復(fù)雜度不止加倍,因?yàn)椴捎昧瞬罘诌壿嫼推鋵?shí)現(xiàn)所需的雙軌(dual-rail)連接。盡管某些FPGA將計(jì)數(shù)器盜用保護(hù)器件集成到其結(jié)構(gòu)內(nèi),但沒(méi)有被設(shè)計(jì)來(lái)經(jīng)受對(duì)它們的施行的攻擊。因此保護(hù)器件采用了RTL(RegisterTransferLevel,寄存器輸出級(jí))的方案,主要為例如WDDL邏輯,在K.Tiri和I.Verbauwhede于2004年2月在ProceedingsofDATE,04的第246-251頁(yè)發(fā)表的文獻(xiàn)“安全的抗DPA的ASIC或FPGA實(shí)現(xiàn)的邏輯級(jí)設(shè)計(jì)方法(AlogicLevelDesignMethodologyforaSecureDPAResistantASICorFPGAImplementation)”中提出,或者是MDPL邏輯,在T.Popp和S.Mangard在2005年9月,Springer,ProceedingsofCHES'05,LNCS的卷3659第172-186頁(yè)發(fā)表的“掩碼雙軌預(yù)充電邏輯沒(méi)有路由限制的抗DPA(MaskedDualRailPre-ChargeLogicDPAResistancewithoutroutingConstraints)"中提出。這些方案是不足的,因?yàn)樗鼈儽憩F(xiàn)出了能夠被攻擊者利用的邏輯和工藝偏差。在提出的所有差分邏輯類(lèi)型中,不論表面的功耗平衡,二階現(xiàn)象顯示出了不平衡因而信息泄露。最嚴(yán)重的現(xiàn)象主要是差分網(wǎng)絡(luò)中的預(yù)先評(píng)估和工藝差別。
發(fā)明內(nèi)容本發(fā)明的一個(gè)目的主要是繞開(kāi)這些現(xiàn)象并且使其很難通過(guò)功耗測(cè)量來(lái)攻擊,特別是針對(duì)FPGA工藝的密碼電路。為此目的,本發(fā)明的一個(gè)主題是一種用于保護(hù)可編程密碼電路的方法,所述方法利用多個(gè)門(mén),所述門(mén)本身由限定了每個(gè)單元的邏輯函數(shù)的基于存儲(chǔ)器的單元組成,所述電路配置為集成了能夠?qū)τ尚盘?hào)對(duì)組成的二進(jìn)制變量進(jìn)行運(yùn)算的差分網(wǎng)絡(luò),所述差分網(wǎng)絡(luò)包括實(shí)現(xiàn)了針對(duì)所述對(duì)的第一分量的邏輯函數(shù)的單元的第一網(wǎng)絡(luò),以及以針對(duì)所述對(duì)的第二分量的互補(bǔ)邏輯來(lái)操作的對(duì)偶單元的第二網(wǎng)絡(luò)。運(yùn)算包括兩個(gè)階段預(yù)充電階段,在該階段中所有變量的兩個(gè)信號(hào)設(shè)置為已知的相同狀態(tài)(例如0),評(píng)估階段,在該6階段中由單元執(zhí)行實(shí)際的運(yùn)算,其中表示每個(gè)變量的兩個(gè)信號(hào)中的一個(gè)激活,以及在每個(gè)預(yù)充電階段和評(píng)估階段之前的同步階段。例如,變量同步階段在一組變量中執(zhí)行并且插入到每個(gè)單元的評(píng)估階段之前,該每個(gè)單元能夠接收傳送輸入變量的多個(gè)信號(hào),針對(duì)最長(zhǎng)延遲的信號(hào)執(zhí)行同步。變量同步階段還可以在一組變量中執(zhí)行并且插入到每個(gè)運(yùn)算單元的預(yù)充電階段之前,該每個(gè)運(yùn)算單元能夠接收傳送輸入變量的多個(gè)信號(hào),針對(duì)最長(zhǎng)延遲的信號(hào)執(zhí)行同止少ο例如通過(guò)利用了一致單元(unanimitycells)的匯聚機(jī)構(gòu),針對(duì)差分網(wǎng)絡(luò)的每個(gè)單元執(zhí)行同步階段,所述匯聚機(jī)構(gòu)的輸入對(duì)于差分網(wǎng)絡(luò)的所述單元的輸入是公共的,并且所述匯聚機(jī)構(gòu)的輸出控制了所述單元的操作,當(dāng)一致單元的輸入端上的值一致時(shí)發(fā)生匯聚,門(mén)的輸出僅當(dāng)匯聚在同步后到達(dá)時(shí)才改變。為了使得方法更易于理解,所有的信號(hào)對(duì)(對(duì)應(yīng)于非互補(bǔ)和互補(bǔ)變量)被認(rèn)為在預(yù)充電階段為(0,0)狀態(tài),該推理還應(yīng)用于(1,1)狀態(tài)。一致單元有兩個(gè)類(lèi)型一致到1(unanimity-to-1)單元U1和一致到OCunanimity-to-O)單元Utl,其具有公共的輸入端,并且分別使能評(píng)估階段和預(yù)充電階段-一致到1單元U1,其在所有輸入變量一離開(kāi)預(yù)充電狀態(tài)就產(chǎn)生使能評(píng)估的信號(hào)。該條件相當(dāng)于所有輸入信號(hào)對(duì)從預(yù)充電狀態(tài)(0,0)切換到(0,1)狀態(tài)或(1,0)狀態(tài);以及-一致到0單元IV其在所有輸入變量一離開(kāi)評(píng)估狀態(tài)就產(chǎn)生使能預(yù)充電的信號(hào)。該條件相當(dāng)于所有輸入信號(hào)對(duì)從(0,1)或(1,0)的評(píng)估狀態(tài)切換到預(yù)充電狀態(tài)(0,0)。只要一致到1或一致到0沒(méi)激活,運(yùn)算單元被“凍結(jié)”(或存儲(chǔ)在存儲(chǔ)器中)。這是由匯聚存儲(chǔ)器函數(shù)提供的。在一個(gè)特定實(shí)施例中,門(mén)接收全局信號(hào)PRE,用于在預(yù)充電階段之前將輸入變量重置到零。該信號(hào)對(duì)于所有的門(mén)是公共的,而且領(lǐng)先于其他信號(hào)。PRE設(shè)置的預(yù)充電使得能消除一致單元Utl并且無(wú)需在匯聚處進(jìn)行存儲(chǔ)。同步階段采用,例如-U1—致單元,一旦所有輸入變量離開(kāi)了預(yù)充電狀態(tài)就產(chǎn)生使能評(píng)估的信號(hào);以及-門(mén),其將U1單元的輸出與重置到零信號(hào)PRE相結(jié)合,結(jié)合的同步信號(hào)根據(jù)其二進(jìn)制的值來(lái)使能預(yù)充電階段ωIfIE=Q、或評(píng)估階段(υ/Μ=ν。本發(fā)明的主題還有根據(jù)如上所述的方法保護(hù)的電路??删幊屉娐?,例如可編程密碼電路,包括多個(gè)門(mén),所述門(mén)本身由限定了每個(gè)單元的邏輯函數(shù)的基于存儲(chǔ)器的單元組成,所述電路集成了能夠?qū)τ尚盘?hào)對(duì)組成的二進(jìn)制變量進(jìn)行運(yùn)算的差分網(wǎng)絡(luò),所述差分網(wǎng)絡(luò)包括實(shí)現(xiàn)了針對(duì)所述對(duì)的第一分量的邏輯函數(shù)的單元的第一網(wǎng)絡(luò),以及以針對(duì)所述對(duì)的第二分量的互補(bǔ)邏輯來(lái)操作的對(duì)偶單元的第二網(wǎng)絡(luò)。運(yùn)算步驟包括預(yù)充電階段,在該階段中變量在單元的輸入端設(shè)置為已知狀態(tài),由單元執(zhí)行運(yùn)算的評(píng)估階段,以及在每個(gè)預(yù)充電階段和評(píng)估階段之前的同步階段。7定實(shí)施例中,由于差分網(wǎng)絡(luò)的單元包括限定了與多路器的樹(shù)相關(guān)聯(lián)的邏輯函數(shù)的存儲(chǔ)器,所述樹(shù)的第一列的多路器的輸入接收存儲(chǔ)器的值,并且最后的多路器的輸出形成了單元的輸出,結(jié)合的同步信號(hào)¢//戶(hù)互互控制第一列的多路器,其他列的多路器由單元的輸入信號(hào)控制。例如,輸入變量的信號(hào)對(duì)與它們各自的單元中的多路器的相同列相關(guān)聯(lián)。例如,所述電路包括至少一個(gè)保護(hù)門(mén),2η輸入的四個(gè)單元用于產(chǎn)生2n_l輸入的保護(hù)門(mén),兩個(gè)單元用于產(chǎn)生一致U1,兩個(gè)單元用于差分網(wǎng)絡(luò)。例如,所述電路包括至少一個(gè)保護(hù)門(mén),2η輸入的八個(gè)單元用于產(chǎn)生2η個(gè)輸入的保護(hù)門(mén),四個(gè)單元用于產(chǎn)生一致U1和IV兩個(gè)單元用于差分網(wǎng)絡(luò),兩個(gè)單元用于將門(mén)的輸出凍結(jié)的匯聚,所采用的邏輯函數(shù)要滿(mǎn)足遞增特性。在一個(gè)實(shí)施例中,所述電路包括至少一個(gè)保護(hù)單元,2η輸入的兩個(gè)單元用于產(chǎn)生η輸入的保護(hù)門(mén),兩個(gè)單元用于產(chǎn)生集成了一致的差分網(wǎng)絡(luò),所采用的邏輯函數(shù)要滿(mǎn)足遞增特性。結(jié)合附圖,通過(guò)如下說(shuō)明書(shū),本發(fā)明的其他特點(diǎn)和優(yōu)點(diǎn)將變得明顯,其中附圖顯不了-圖1為差分邏輯的“與”門(mén);-圖2顯示了對(duì)于例如FPGA類(lèi)型的可編程電路的差分邏輯中的運(yùn)算步驟的階段;-圖3為差分邏輯中的預(yù)先評(píng)估的示例;-圖4顯示了在根據(jù)本發(fā)明的BCDL(BalancedCell-BasedDifferentialLogic,基于平衡單元的差分邏輯)電路內(nèi)的運(yùn)算步驟中,插入在預(yù)充電階段和評(píng)估階段之間的同步階段;-圖5圖示了差分網(wǎng)絡(luò)內(nèi)為了到達(dá)運(yùn)算單元的路徑差別;-圖6為跟隨有差分網(wǎng)絡(luò)中的運(yùn)算的,用于同步輸入端的變量的BCDL門(mén)的操作原理;-圖7圖示了根據(jù)本發(fā)明的BCDL門(mén)中簡(jiǎn)化的運(yùn)算階段;-圖8為利用全局信號(hào)來(lái)實(shí)現(xiàn)前述簡(jiǎn)化的運(yùn)算階段的BCDL門(mén)的操作原理;-圖9表示前述運(yùn)算階段中涉及的信號(hào)的時(shí)序-圖10表示主要是FPGA類(lèi)型的可編程網(wǎng)絡(luò)中的運(yùn)算單元的結(jié)構(gòu);-圖11a、lib、lie和Ild表示根據(jù)本發(fā)明的電路內(nèi)的功率平衡;-圖12表示BCDL門(mén)的結(jié)構(gòu);-圖13為FPGA單元中的一致性函數(shù)(unanimityfunction)的示例性實(shí)施方式;-圖14為BCDL門(mén)的示例性實(shí)施方式,其不具有全局預(yù)充電輸入,使得能夠接收大量的輸入,并需要匯聚單元(rendezvouscells);以及-圖15為BCDL門(mén)的示例性實(shí)施方式,其具有幾個(gè)輸入并且其中一致性函數(shù)和運(yùn)算函數(shù)集成到相同單元中。8具體實(shí)施方式圖1顯示了WDDL邏輯的“與”門(mén)1、2,作為顯示了差分邏輯的原理的例子。該門(mén)由兩個(gè)以互補(bǔ)邏輯模式操作的對(duì)偶邏輯網(wǎng)絡(luò)1、2組成。數(shù)據(jù)以雙軌形式顯示,每個(gè)邏輯變量a由以如下形式編碼的一對(duì)信號(hào)(Ot,af)形成-(0,0)為休眠狀態(tài)(reststate)a的值沒(méi)有定義-此后用Ω表示;-(1,0)為激活狀態(tài)(activestate)其中a=1;-(0,1)為激活狀態(tài)(activestate)其中a=0。具有兩個(gè)輸入a和b以及一個(gè)輸出S的邏輯門(mén)H物理上由分別具有邏輯函數(shù)Kat,bt)禾口F(af,bf)的兩個(gè)門(mén)1、2表示,從而-st=T(a,,bt)-Sf=F(af,bf)“真”邏輯網(wǎng)絡(luò)對(duì)應(yīng)于發(fā)出信號(hào)&的函數(shù)Τ?!凹佟睂?duì)偶邏輯網(wǎng)絡(luò)對(duì)應(yīng)于發(fā)出對(duì)偶信號(hào)Sf的函數(shù)F。圖1顯示了“與”門(mén),其中執(zhí)行函數(shù)T的“真”網(wǎng)絡(luò)1接收兩個(gè)非互補(bǔ)的輸入Α和1^。“或”對(duì)偶函數(shù)執(zhí)行函數(shù)F。對(duì)于信號(hào)X,如下等式成立-T(χ)=H(χ)--F(X)=H⑶。圖2顯示了例如WDDL(WaveDynamicDifferentialLogic,波動(dòng)態(tài)差分邏輯)類(lèi)型的差分邏輯中的運(yùn)算步驟的階段。該步驟包括連續(xù)的多個(gè)階段,即預(yù)充電階段21和評(píng)估階段22。輸入變量Ot,bt,af,bf以及對(duì)應(yīng)的輸出變量st,Sf的狀態(tài)的示例在預(yù)充電階段和評(píng)估階段下方示出。圖2的時(shí)序圖顯示出當(dāng)變量從預(yù)充電階段切換到評(píng)估階段時(shí),轉(zhuǎn)換(transition)的數(shù)量是相同的——在該情況中是三個(gè),反過(guò)來(lái)也一樣。因?yàn)楣闹苯优c轉(zhuǎn)換的數(shù)量相關(guān),特別是在CMOS電子工藝中,因此功耗被平衡。然而,盡管表面上功率平衡了,二階效應(yīng)可能會(huì)引發(fā)數(shù)據(jù)泄露,例如,如果Ot早于或遲于af,攻擊者可能觀(guān)察到時(shí)移,因而從此推導(dǎo)出變量a的值。該現(xiàn)象可以通過(guò)利用平衡的雙軌互連來(lái)阻止,也就是說(shuō)從電氣觀(guān)點(diǎn)看用完美平衡的兩條線(xiàn),主要是在長(zhǎng)度和電容方面。假定雙軌線(xiàn)是平衡的,有很多其他現(xiàn)象使得能夠以當(dāng)前提出的邏輯模式來(lái)進(jìn)行攻擊。如上所說(shuō),最重要的一些主要是差分網(wǎng)絡(luò)中的預(yù)先評(píng)估和工藝差別。圖3顯示了具有預(yù)先評(píng)估的WDDL邏輯的時(shí)序圖。如果信號(hào)a早于或遲于信號(hào)b,可能發(fā)生預(yù)先評(píng)估,如圖3所示。因此信號(hào)a和b的分量之間的延遲通過(guò)“與”函數(shù)和“或”函數(shù)之間的邏輯差反應(yīng)在門(mén)1、2的輸出上。通過(guò)時(shí)間間隔At1和At2,可以知道信號(hào)a是否等于0或等于1。更精確地,在圖3中,b總是比a快。根據(jù)b是否等于0,如在時(shí)序圖的第一個(gè)一半,或等于1,如在第二個(gè)一半,輸出在At1評(píng)估地更慢,或者在Δ^更快,因而泄露了b的值。以與預(yù)先評(píng)估22相同的方式,可以有預(yù)先預(yù)充電21,這意味著一些信號(hào)比其他的更快速的切換到0。主要的,有兩個(gè)原因造成b比a快-數(shù)據(jù)信號(hào)bJPbf直接連接到門(mén),而Ot和&經(jīng)過(guò)了很多互連,因而經(jīng)過(guò)了很多切換元件;-數(shù)據(jù)信號(hào)^和&經(jīng)過(guò)中間的門(mén),而1^和\直接到達(dá)。取決于工藝,導(dǎo)致通過(guò)功耗進(jìn)行攻擊的弱點(diǎn)的另一個(gè)現(xiàn)象是在邏輯網(wǎng)絡(luò)及其互補(bǔ)之間消耗的能量的差。例如,在WDDL邏輯中,對(duì)于“與”門(mén),如果a等于1,則如果b等于1“與”門(mén)切換,否則其是“或”門(mén)。因此如果“與”和“或”門(mén)轉(zhuǎn)換不具有相同的功耗,則可以從中推導(dǎo)出b的值。MDPL邏輯克服了該問(wèn)題,但是增加了成本。首先需要具有每一個(gè)時(shí)鐘周期產(chǎn)生一個(gè)屏蔽位的真隨機(jī)數(shù)發(fā)生器。另外,每個(gè)門(mén)的一個(gè)輸入必須專(zhuān)用于該屏蔽。由于其有差別的屬性,WDDL邏輯比普通邏輯必然復(fù)雜兩倍。而且,對(duì)函數(shù)T和F的選擇也有額外的嚴(yán)重的約束,其必須是增函數(shù)。該情況能夠防止在運(yùn)算階段過(guò)程中的寄生切換(parasiticswitching)并且確保預(yù)充電值沿著邏輯錐(logiccone)傳播。該增函數(shù)約束限制單元的類(lèi)型為FPGA。在FPGA中產(chǎn)生MDPL邏輯甚至更復(fù)雜。本發(fā)明主要產(chǎn)生一種新類(lèi)型的邏輯,其消除了預(yù)先評(píng)估和工藝差別的缺陷,其在此后稱(chēng)為BCDL邏輯,表示平衡的基于單元的差分邏輯。在以BCDL邏輯操作的電路中-在實(shí)際切換到預(yù)充電階段或評(píng)估階段之前,在每個(gè)門(mén)上增加數(shù)據(jù)同步步驟;-在數(shù)據(jù)組上執(zhí)行同步;以及-在電路執(zhí)行運(yùn)算的同時(shí)并行執(zhí)行同步運(yùn)算。本發(fā)明應(yīng)用該操作于-全局等級(jí),也就是在運(yùn)算單元T,F(xiàn)之間;以及-局部等級(jí),也就是運(yùn)算單元的內(nèi)部。圖4顯示了同步步驟。在評(píng)估階段之前在每個(gè)門(mén)上通過(guò)對(duì)偶網(wǎng)絡(luò)T,F(xiàn)執(zhí)行該同步步驟。特別地,其能夠避免預(yù)先評(píng)估和預(yù)充電問(wèn)題。同步包括等待最長(zhǎng)延遲信號(hào)。因此通過(guò)等待最長(zhǎng)延遲信號(hào)消除了兩個(gè)信號(hào)之間的運(yùn)算時(shí)間的差所導(dǎo)致的預(yù)先評(píng)估的產(chǎn)生。圖4顯示了組成預(yù)充電和評(píng)估周期的四個(gè)連續(xù)的同步和運(yùn)算階段41、42、43、44。第一階段41執(zhí)行預(yù)充電運(yùn)算,第二階段42通過(guò)等待例如狀態(tài)1的最后的信號(hào)來(lái)執(zhí)行第一同步。該階段之后是評(píng)估階段43,之后是同步階段44,接下來(lái)是下一個(gè)周期的預(yù)充值步驟41。該同步步驟44利用等待,例如等待狀態(tài)0的最后的信號(hào)。圖5顯示了對(duì)偶邏輯網(wǎng)絡(luò)的一部分,其包括兩個(gè)移位寄存器51、52和對(duì)偶T,F(xiàn)門(mén)53、54、55。第一路徑501傳輸來(lái)自第一移位寄存器51的信號(hào)a,第二路徑502傳輸來(lái)自第二移位寄存器52的信號(hào)b。兩個(gè)路徑在T,F(xiàn)門(mén)55的輸入端匯合,門(mén)55發(fā)出輸出信號(hào)S。信號(hào)a在第一路徑中被一系列的門(mén)53、M延遲。這些門(mén)還接收來(lái)自其他路徑503、504的輸入信號(hào)。在每個(gè)門(mén)的輸入端,模塊56、57、58執(zhí)行同步。在圖5所示的例子中,發(fā)出信號(hào)s的最后的門(mén)55僅在對(duì)應(yīng)于最長(zhǎng)延遲信號(hào),在該例子中為信號(hào)a,的到達(dá)的時(shí)刻I2執(zhí)行其運(yùn)算。異步邏輯中的同步發(fā)生在具有匯聚單元RV的兩個(gè)信號(hào)之間。只有當(dāng)兩個(gè)輸入具有相同的邏輯值L時(shí),單元RV切換到邏輯值L,否則他們不改變狀態(tài)。因此單元RV是個(gè)存儲(chǔ)器,只有當(dāng)輸入信號(hào)一致為0或1時(shí),單元RV才改變狀態(tài)。在BCDL邏輯中,匯聚發(fā)生在FPGA電路的同一個(gè)單元中的數(shù)據(jù)組上。例如采用了特定的Utl和U1單元。U1單元產(chǎn)生使能評(píng)估的信號(hào),一旦所有的數(shù)據(jù)離開(kāi)了先前定義的狀態(tài)Ω,該信號(hào)就切換到1。更特別地,U1Oc,y,…)表示的該信號(hào)用如下等式定義U1(X,y,…)=1如果χ乒(0,0)且y乒(0,0)...,否則U1(X,y,…)=0(1)Utl單元產(chǎn)生將輸出返回到狀態(tài)Ω的信號(hào)。根據(jù)下式,一旦每個(gè)輸入為狀態(tài)Ω,該信號(hào)就切換到1U0(x,y,…)=1如果χ=y=(0,0)···,否則UQ(x,y,-)=0(2)因此僅當(dāng)一致時(shí),也就是說(shuō)當(dāng)Utl或U1激活時(shí),該運(yùn)算啟動(dòng),并且只要沒(méi)有一致,也就是說(shuō)Utl或U1不激活時(shí),運(yùn)算凍結(jié)(frozen)。圖6顯示了數(shù)據(jù)組同步的原理。數(shù)據(jù)a、b、c并行輸入到執(zhí)行預(yù)充電或評(píng)估運(yùn)算的T,F(xiàn)對(duì)偶端口60,以及U1單元61和Utl單元62。U1單元發(fā)送評(píng)估使能信號(hào)63至門(mén)60,Utl單元發(fā)送預(yù)充電使能信號(hào)64至該門(mén)。預(yù)充電運(yùn)算比評(píng)估運(yùn)算簡(jiǎn)單,因?yàn)樗械男盘?hào)要切換到0狀態(tài),而評(píng)估對(duì)應(yīng)于針對(duì)攜帶信息的信號(hào)的真運(yùn)算。該特性可以應(yīng)用于BCDL邏輯中,同時(shí)利用例如比其他信號(hào)更加迅速的全局零復(fù)位(reset-to-zero)信號(hào),消除例如預(yù)充電之前的同步階段44。圖7顯示了該信號(hào)PRE,其將所有的信號(hào)正好在預(yù)充電階段41之間設(shè)置到零。在此情況下,預(yù)充電和評(píng)估周期僅包括三個(gè)階段,在評(píng)估階段43之前僅包括單個(gè)同步階段42。這簡(jiǎn)化了門(mén)的結(jié)構(gòu),主要是如下兩個(gè)原因-不再需要執(zhí)行一致到0步驟,這已被單個(gè)信號(hào)PRE代替;以及-因?yàn)樾盘?hào)PRE在前,不再需要存儲(chǔ)門(mén)的輸出,從而其僅在一致到0或1(匯聚)時(shí)改變。在信號(hào)PRE到達(dá)之后,輸出立即變到0,并且只有當(dāng)一致到1時(shí)才切換到1。圖8顯示了簡(jiǎn)化的BCDL邏輯的門(mén)結(jié)構(gòu),因?yàn)樵谠u(píng)估時(shí)所需的一致到0,如圖7所示,已被通過(guò)全局預(yù)充電信號(hào)PRE接收預(yù)充電切換命令的“與”門(mén)71代替。因而作為“與”門(mén)的輸出72的信號(hào)[//戶(hù)M能夠使得運(yùn)算同步-當(dāng)[//戶(hù)瓦玄正好在信號(hào)PRE之后切換到0時(shí),對(duì)輸入獨(dú)立地強(qiáng)制預(yù)充電;以及-當(dāng)f//戶(hù)屁切換到1時(shí),表示信號(hào)PRE的一部分處于1并且輸入值的匯聚也受影響,評(píng)估階段啟動(dòng)。圖9顯示了在預(yù)充電階段21和評(píng)估階段22期間信號(hào)a、b、s和f//戶(hù)屈的時(shí)序圖。這些時(shí)序圖顯示出在信號(hào)//戶(hù)M的轉(zhuǎn)換91期間,針對(duì)輸入獨(dú)立地強(qiáng)制預(yù)充電階段21。在如上所描述的方案中,應(yīng)用在全局級(jí)別,BCDL邏輯用于解決與整個(gè)電路中的預(yù)先評(píng)估相關(guān)的問(wèn)題。相對(duì)于攻擊的魯棒性還必須在單個(gè)BCDL門(mén)級(jí)局部地變化,特別用于避免工藝差別和局部預(yù)先評(píng)估。而且,增加同步不能造成復(fù)雜度大幅增加的危害。圖10顯示了具有三個(gè)輸入a、b、c的FPGA電路的單元的結(jié)構(gòu)。在FPGA電路中,在基于存儲(chǔ)器的單元中執(zhí)行邏輯,所述單元包括限定了單元的邏輯函數(shù)的LUT(look-uptables,查找表)101。圖10顯示了單元的結(jié)構(gòu)基于查找表(LUT)101,查找表101與形成三列103、104、105的多路器102樹(shù)相關(guān)聯(lián)。查找表101存儲(chǔ)了針對(duì)每個(gè)三元組(X,y,ζ)的函數(shù)s的二進(jìn)制值,其中χ、y和ζ取值0或值1。第一列或輸入列,由樹(shù)的第一級(jí)的多路器102形成,第三列105由最后一級(jí)的多路器形成,即輸出多路器。輸入a、b、c控制多路器。因而列的數(shù)量對(duì)應(yīng)于輸入的數(shù)量。函數(shù)的每個(gè)值s(x,y,ζ)出現(xiàn)在輸入列103的多路器的輸入??刂贫嗦菲鞯募?jí)的二進(jìn)制值a、b、c的各種組合用來(lái)選擇輸入列103的輸入。根據(jù)本發(fā)明,基于如下兩個(gè)引腳分配(pincmt)模式來(lái)提高局部魯棒性-信號(hào)tZ/戶(hù)及瓦進(jìn)入多路器樹(shù)的第一列;以及-“真”輸入&和“假”輸入ef對(duì)與門(mén)T和F的各自相同的引腳相關(guān)聯(lián)。這些引腳分配模式對(duì)于局部安全能達(dá)到明顯的結(jié)果,并且他們實(shí)現(xiàn)起來(lái)非常便且。第一,沒(méi)有寄生切換。因?yàn)樾盘?hào)C//FZ互首先在預(yù)充電階段切換,當(dāng)數(shù)據(jù)輸入切換時(shí),內(nèi)在的等電位(equipotentials)全被強(qiáng)制到0,而沒(méi)有任何寄生切換的風(fēng)險(xiǎn)。相似地,該信號(hào)最后在評(píng)估階段前切換。因此,由數(shù)據(jù)控制的多路器選擇了零。那么信號(hào)¢//戶(hù)瓦互使得函數(shù)的值通過(guò)預(yù)先定位的多路器102。第二,復(fù)雜度減少。這是因?yàn)椋驗(yàn)橄嗤脑?,不需要增函?shù)來(lái)避免寄生切換,因?yàn)槎嗦菲饕呀?jīng)被正確地定位于輸入。顯著的,這使得對(duì)于η輸入的LUT,能夠利用所有可能的函數(shù),高達(dá)2η數(shù)量,相比于增函數(shù)的組件,提供了更廣泛的優(yōu)化潛力。例如,對(duì)于4輸入的LUT,從65536個(gè)可能的函數(shù)里只有166個(gè)增函數(shù)。第三,工藝偏差被大大減小。作為輸入的組合的函數(shù)的T和F等電位切換的總數(shù)量不會(huì)變化。該數(shù)量是固定的,當(dāng)η為L(zhǎng)UT的輸入的數(shù)量時(shí),等于2η-1。因此這難于區(qū)分T激活和F激活,因?yàn)楣那€(xiàn)對(duì)于T和F對(duì)是相同的。另外,通過(guò)多路器隨著時(shí)間進(jìn)行的一系列的切換對(duì)于數(shù)據(jù)來(lái)說(shuō)是獨(dú)立的。最后,在LUT表內(nèi)沒(méi)有預(yù)先評(píng)估和預(yù)先預(yù)充電。這是因?yàn)檠舆t了評(píng)估的信號(hào)C//P瓦f總是在信號(hào)之后到達(dá),并且不會(huì)等待數(shù)據(jù),信號(hào)//戶(hù)互f強(qiáng)制了預(yù)充電。換句話(huà)說(shuō),評(píng)估總被延遲,預(yù)充電總是預(yù)先的,獨(dú)立于數(shù)據(jù)。圖11a、lib、lie和Ild顯示了在三輸入LUT表的例子中,以BCDL邏輯切換時(shí)的功耗平衡。更特別地,這四個(gè)圖顯示了當(dāng)信號(hào)t//F互瓦切換時(shí)兩輸入“異或”(XOR)門(mén)的所有組合。在所有這些圖中,上部的單元為“真”門(mén)T,底部單元是“假”門(mén)F。對(duì)應(yīng)于電路T和F的切換的隨時(shí)間變化的全局功率峰值表示為曲線(xiàn)111,峰值面向列,且對(duì)應(yīng)于當(dāng)他們相對(duì)應(yīng)的列切換時(shí)的功耗。為了示例,圖Ila對(duì)應(yīng)于連接到第二列104和第三列105的輸入信號(hào)等于(0,0)的情況。粗線(xiàn)所示的多路器112、113、114、115、116、117和118查看到他們的輸出切換了。曲線(xiàn)111顯示了對(duì)應(yīng)于該第一組合(0,0)的功率峰值。與該組合相關(guān)聯(lián)的功率曲線(xiàn)111在下面的圖中相同。因此無(wú)論根據(jù)切換時(shí)間或功耗,在T、F對(duì)的內(nèi)部實(shí)現(xiàn)了全局平衡。換句話(huà)說(shuō),如圖11a、lib、lie和Ild所示,對(duì)于每個(gè)組合(0,0),(0,1),(1,0)和(1,1),有相同數(shù)量的切換操作。利用用于在任何FPGA系統(tǒng)中實(shí)現(xiàn)應(yīng)用的程序,可以使切換到BCDL邏輯自動(dòng)發(fā)生。從標(biāo)準(zhǔn)FPGA工具中獲得的分析工具使得邏輯能夠轉(zhuǎn)換到上述的邏輯。分析限制為替換BCDL門(mén)的變體中的邏輯元件?;ミB線(xiàn)對(duì)的路由必須以平衡方式執(zhí)行。圖12圖示了包含四個(gè)單元121、122、123和IM的BCDL門(mén)的結(jié)構(gòu),即兩個(gè)一致到1單元121和122,用于函數(shù)T的一個(gè)單元123和用于其對(duì)偶函數(shù)F的一個(gè)單元124。也可以級(jí)聯(lián)(cascade)上述的U1單元。例如,那么BCDL門(mén)由如下組成12-以互補(bǔ)邏輯操作的兩個(gè)對(duì)偶單元123、124,每個(gè)單元接收η個(gè)輸入,T單元時(shí)為Eit,F(xiàn)單元時(shí)為Eif,i從1變至η。T和F單元分別發(fā)出輸出信號(hào)的分量&和Sf;以及-兩個(gè)U1單元,實(shí)現(xiàn)一致到1并產(chǎn)生信號(hào)¢//戶(hù)Μ,每個(gè)單元接收對(duì)應(yīng)于對(duì)(Eit,Eif)的一半的η個(gè)輸入。圖13顯示了級(jí)聯(lián)連接到U1單元的U,工單元122的實(shí)施例,用于實(shí)現(xiàn)一致。輸入(Eit,Eif)…(Ejt,Ejf)連接到“或”門(mén)121,這些“或”門(mén)的輸出在“與”門(mén)122的輸入被組合起來(lái),逆信號(hào)戶(hù)M在該門(mén)122的輸入與該“或”門(mén)的輸出相結(jié)合。“與”門(mén)122的輸出端發(fā)出信號(hào)C//戶(hù)M。在沒(méi)有全局預(yù)充電并且具有大量輸入的BCDL門(mén)的一個(gè)實(shí)施例中,可以使用或者不使用全局預(yù)充電信號(hào)PRE。然后在如上所述的四個(gè)階段中執(zhí)行運(yùn)算。對(duì)于T和F門(mén),這主要能夠獲得LUT表上的一個(gè)輸入,因而增加了輸入的數(shù)量。另一方面,全局預(yù)充電必須用一致到0運(yùn)算來(lái)代替。而且,需要在沒(méi)有一致時(shí)匯聚(即“凍結(jié)”運(yùn)算)。為此目的使用了特定的匯聚單元。因此,沒(méi)有全局預(yù)充電的BCDL門(mén),如圖14所示,由如下組成-以用于T和F函數(shù)的互補(bǔ)邏輯操作的兩個(gè)單元123、124,每個(gè)單元接收η個(gè)輸入;-至少兩個(gè)匯聚單元RV143、144,其發(fā)出輸出信號(hào)的分量&和sf,RV單元分別與具有T和F函數(shù)的單元相關(guān)聯(lián),具體的數(shù)量取決于LUT的輸入的數(shù)量。以及-兩個(gè)U。單元141、142,用于實(shí)現(xiàn)一致到0,其輸出連接到匯聚單元的輸入;以及-兩個(gè)U1單元121、122,用于實(shí)現(xiàn)一致到1,其輸出連接到匯聚單元的輸入。圖14中所示的門(mén)主要適用于實(shí)現(xiàn)DES加密算法替換盒。不具有全局預(yù)充電的BCDL門(mén)必須總是滿(mǎn)足具有增函數(shù)的條件,例如如同WDDL邏輯。在不具有全局預(yù)充電的BCDL門(mén)具有幾個(gè)輸入的實(shí)施例中,一致到1函數(shù)可以集成到T和F單元中,如圖15所示的例子中所示。那么不再需要使用信號(hào)PRE,因?yàn)橐恢碌?函數(shù)利用最快的信號(hào)的到達(dá)將T和F函數(shù)重置到零。然而,當(dāng)U1單元被分離時(shí),該原理不再適用,因?yàn)檫@樣就有單個(gè)路徑,如果U1單元比較慢,T和F單元可以早于預(yù)期切換到預(yù)充電階段。在此情況中,再次傳播預(yù)充電的0值,因?yàn)閱蝹€(gè)PRE不存在,并且需要增函數(shù)來(lái)防止寄生切換,并且沿著邏輯錐傳播預(yù)充電。在圖15所示的例子中,輸入信號(hào)的對(duì)偶分量CEit,Eif)發(fā)送到集成到T單元151和F單元152內(nèi)的“或”門(mén)153,這些輸入還連接到單元151、152的實(shí)際T和F門(mén)的輸入。這些單元的輸出以及“或”門(mén)153的輸出和“與”門(mén)IM的輸入結(jié)合,其輸出發(fā)出輸出信號(hào)的分量St和sf。圖15顯示了在函數(shù)具有少量輸入的特殊情況下的門(mén)。一致到1邏輯被集成到T和F單元內(nèi),因此能夠利用最快速的信號(hào)切換到預(yù)充電階段。1權(quán)利要求1.一種用于保護(hù)可編程密碼電路的方法,其特征在于,其利用多個(gè)門(mén),所述多個(gè)門(mén)本身由限定了每個(gè)單元的邏輯函數(shù)的基于存儲(chǔ)器的單元(101)組成,所述電路配置為集成了能夠?qū)τ尚盘?hào)對(duì)組成的二進(jìn)制變量進(jìn)行運(yùn)算的差分網(wǎng)絡(luò),所述差分網(wǎng)絡(luò)包括實(shí)現(xiàn)了針對(duì)所述對(duì)的第一分量的邏輯函數(shù)(T)的單元的第一網(wǎng)絡(luò)(1),以及以針對(duì)所述對(duì)的第二分量的互補(bǔ)邏輯(F)來(lái)操作的對(duì)偶單元的第二網(wǎng)絡(luò)(,運(yùn)算步驟包括預(yù)充電階段Gl),在該階段中變量在單元的輸入端設(shè)置為已知狀態(tài)、由單元執(zhí)行運(yùn)算的評(píng)估階段^幻、以及在每個(gè)預(yù)充電階段和評(píng)估階段之前的同步階段G2,44)。2.如權(quán)利要求1所述的方法,其特征在于,變量同步階段G2)在一組變量中執(zhí)行并且插入到能夠接收多個(gè)傳送輸入變量的信號(hào)的每個(gè)單元的評(píng)估階段之前,同步是針對(duì)最長(zhǎng)延遲的信號(hào)執(zhí)行的。3.如前述權(quán)利要求中任意一項(xiàng)所述的方法,其特征在于,變量同步階段G4)在一組變量中執(zhí)行并且插入到能夠接收多個(gè)傳送輸入變量的信號(hào)的每個(gè)運(yùn)算單元的預(yù)充電階段之前,同步是針對(duì)最長(zhǎng)延遲的信號(hào)執(zhí)行的。4.如權(quán)利要求2或3所述的方法,其特征在于,通過(guò)采用了一致單元的匯聚機(jī)構(gòu)(56,57,58),針對(duì)差分網(wǎng)絡(luò)(53,54,55)的每個(gè)單元執(zhí)行同步階段02,44),所述匯聚機(jī)構(gòu)的輸入對(duì)于差分網(wǎng)絡(luò)的所述單元的輸入是公共的,并且所述匯聚機(jī)構(gòu)的輸出控制了所述單元的操作,當(dāng)一致單元的輸入端上的值一致時(shí)發(fā)生匯聚,門(mén)的輸出僅當(dāng)在同步后實(shí)現(xiàn)匯聚時(shí)才改變。5.如權(quán)利要求4所述的方法,其特征在于,同步階段利用了兩個(gè)一致單元,即認(rèn)一致單元(61)和Utl—致單元(62),其具有對(duì)于差分運(yùn)算網(wǎng)絡(luò)公共的輸入,并且分別使能評(píng)估階段和預(yù)充電階段-U1單元產(chǎn)生信號(hào)(6,其在所有輸入,即與每個(gè)變量相關(guān)的信號(hào)對(duì),一離開(kāi)預(yù)充電狀態(tài)就使能評(píng)估;以及-Utl單元產(chǎn)生信號(hào)(64),其在所有輸入,即與每個(gè)變量相關(guān)的信號(hào)對(duì),一切換到預(yù)充電狀態(tài)就使能預(yù)充電。6.如前述權(quán)利要求中任意一項(xiàng)所述的方法,其特征在于,對(duì)于同步階段,該方法利用全局信號(hào)(ΡΚ)而不是Utl單元,在預(yù)充電階段之前將輸入變量重置到零,信號(hào)(PRE)早于其他信號(hào)。7.如權(quán)利要求6所述的方法,其特征在于,同步階段采用-U1單元(61),其具有對(duì)于差分運(yùn)算網(wǎng)絡(luò)公共的輸入,并且一旦其所有輸入離開(kāi)了預(yù)充電狀態(tài)就產(chǎn)生使能評(píng)估的信號(hào);以及-門(mén)(71),其將U1單元的輸出與重置到零的信號(hào)(PRE)相結(jié)合;結(jié)合的同步信號(hào)(U/Ψ)根據(jù)其二進(jìn)制的值來(lái)使能預(yù)充電階段或評(píng)估階段。8.—種可編程電路,其特征在于,包括多個(gè)門(mén),所述多個(gè)門(mén)本身由限定了每個(gè)單元的邏輯函數(shù)的基于存儲(chǔ)器的單元(101)組成,所述電路集成了能夠?qū)τ尚盘?hào)對(duì)組成的二進(jìn)制變量進(jìn)行運(yùn)算的差分網(wǎng)絡(luò),所述差分網(wǎng)絡(luò)包括實(shí)現(xiàn)了針對(duì)所述對(duì)的第一分量的邏輯函數(shù)(T)的單元的第一網(wǎng)絡(luò)(1),以及以針對(duì)所述對(duì)的第二分量的互補(bǔ)邏輯(F)來(lái)操作的對(duì)偶單元的第二網(wǎng)絡(luò)0),運(yùn)算步驟包括預(yù)充電階段G1),在該階段中所述變量在所述單元的輸入端設(shè)置為已知狀態(tài)、由單元執(zhí)行運(yùn)算的評(píng)估階段^幻、以及在每個(gè)預(yù)充電階段和評(píng)估階段之前的同步階段02,44)。9.如權(quán)利要求8所述的電路,其特征在于,變量同步階段G2)在一組變量中執(zhí)行并且插入到能夠接收多個(gè)傳送輸入變量的信號(hào)的每個(gè)單元的評(píng)估階段之前,同步是針對(duì)最長(zhǎng)延遲的信號(hào)執(zhí)行的。10.如權(quán)利要求8或9所述的電路,其特征在于,變量同步階段G4)在一組變量中執(zhí)行并且插入到夠接收多個(gè)傳送輸入變量的信號(hào)的每個(gè)運(yùn)算單元的預(yù)充電階段之前,同步是針對(duì)最長(zhǎng)延遲的信號(hào)執(zhí)行的。11.如權(quán)利要求9或10所述的電路,其特征在于,通過(guò)采用了一致單元的匯聚機(jī)構(gòu)(56,57,58),針對(duì)差分網(wǎng)絡(luò)(53,54,55)的每個(gè)單元執(zhí)行同步階段02,44),所述匯聚機(jī)構(gòu)的輸入對(duì)于差分網(wǎng)絡(luò)的所述單元的輸入是公共的,并且所述匯聚機(jī)構(gòu)的輸出控制了所述單元的操作,當(dāng)一致單元的輸入端上的值一致時(shí)發(fā)生匯聚,門(mén)的輸出僅當(dāng)在同步后實(shí)現(xiàn)匯聚時(shí)才改變。12.如權(quán)利要求11所述的電路,其特征在于,同步階段利用了兩個(gè)一致單元,即認(rèn)一致單元(61)和Utl—致單元(62),其具有對(duì)于差分運(yùn)算網(wǎng)絡(luò)公共的輸入,并且分別使能評(píng)估階段和預(yù)充電階段-U1單元產(chǎn)生在所有輸入,即與每個(gè)變量相關(guān)的信號(hào)對(duì),一離開(kāi)預(yù)充電狀態(tài)就使能評(píng)估的信號(hào)(6;以及-Utl單元產(chǎn)生在所有輸入,即與每個(gè)變量相關(guān)的信號(hào)對(duì),一切換到預(yù)充電狀態(tài)就使能預(yù)充電的信號(hào)(64)。13.如權(quán)利要求8至12中任意一項(xiàng)所述的電路,其特征在于,對(duì)于同步階段,其利用全局信號(hào)(ΡΚ)而不是Utl單元,在預(yù)充電階段之前將輸入變量重置到零,信號(hào)(ΡΚ)相對(duì)于其他信號(hào)超前。14.如權(quán)利要求13所述的電路,其特征在于,同步階段采用-U1單元(61),其具有對(duì)于差分運(yùn)算網(wǎng)絡(luò)公共的輸入,并且一旦其所有輸入離開(kāi)了預(yù)充電狀態(tài)就產(chǎn)生使能評(píng)估的信號(hào);以及-門(mén)(71),其將U1單元的輸出與重置到零的信號(hào)(PRE)相結(jié)合;結(jié)合的同步信號(hào)根據(jù)其二進(jìn)制的值來(lái)使能預(yù)充電階段或評(píng)估階段。15.如權(quán)利要求14所述的電路,其特征在于,由于差分網(wǎng)絡(luò)的單元包括限定了與多路器(103,104,105)的樹(shù)相關(guān)聯(lián)的邏輯函數(shù)的存儲(chǔ)器(101),所述樹(shù)的第一列(103)的多路器的輸入接收存儲(chǔ)器的值,并且最后的多路器(102)的輸出形成了單元的輸出,結(jié)合的同步信號(hào)(Ml麗、控制第一列(103)的多路器,其他列的多路器由單元的輸入信號(hào)控制。16.如權(quán)利要求15所述的電路,其特征在于,輸入變量的信號(hào)對(duì)與它們各自的單元中的多路器的相同列相關(guān)聯(lián)。17.如權(quán)利要求8至16中任意一項(xiàng)所述的電路,其特征在于,該電路包括至少一個(gè)保護(hù)門(mén),2η個(gè)輸入的四個(gè)單元用于產(chǎn)生2n-l個(gè)輸入的保護(hù)門(mén)(12),兩個(gè)單元用于產(chǎn)生一致U1,兩個(gè)單元用于差分網(wǎng)絡(luò)。18.如權(quán)利要求8至17中任意一項(xiàng)所述的電路,其特征在于,其包括至少一個(gè)保護(hù)門(mén),2η個(gè)輸入的八個(gè)單元用于產(chǎn)生2η個(gè)輸入的保護(hù)門(mén)(14),四個(gè)單元用于產(chǎn)生一致認(rèn)和IV兩個(gè)單元用于差分網(wǎng)絡(luò),兩個(gè)單元用于將門(mén)的輸出凍結(jié)的匯聚,所采用的邏輯函數(shù)要滿(mǎn)足遞增特性。19.如權(quán)利要求8至18中任意一項(xiàng)所述的電路,其特征在于,該電路包括至少一個(gè)保護(hù)單元,2η個(gè)輸入的兩個(gè)單元用于產(chǎn)生η個(gè)輸入的保護(hù)門(mén)(15),所述兩個(gè)單元用于產(chǎn)生集成了一致的差分網(wǎng)絡(luò),所采用的邏輯函數(shù)要滿(mǎn)足遞增特性。20.如權(quán)利要求8至19中任意一項(xiàng)所述的電路,其特征在于,該電路執(zhí)行密碼功能。21.如權(quán)利要求8至20中任意一項(xiàng)所述的電路,其特征在于,所述電路為FPGA類(lèi)型。全文摘要本發(fā)明涉及一種包括單元的電路,所述單元包含限定了每個(gè)單元的邏輯函數(shù)的存儲(chǔ)器,所述電路集成了能夠針對(duì)二進(jìn)制變量對(duì)進(jìn)行運(yùn)算的差分網(wǎng)絡(luò),該差分網(wǎng)絡(luò)包括實(shí)現(xiàn)了所述對(duì)的第一分量的邏輯函數(shù)的第一單元網(wǎng)絡(luò),以及針對(duì)所述對(duì)的第二分量執(zhí)行互補(bǔ)邏輯的對(duì)偶單元的第二網(wǎng)絡(luò)。運(yùn)算步驟包括至少一個(gè)預(yù)充電階段(41),在該階段變量在單元的輸入端設(shè)置到已知狀態(tài),接著是評(píng)估階段(43),在該階段由單元執(zhí)行運(yùn)算。在評(píng)估階段或預(yù)充電階段之前在夠接收多個(gè)傳送輸入變量的信號(hào)的每個(gè)單元執(zhí)行變量同步階段(42,44),針對(duì)最長(zhǎng)延遲的信號(hào)執(zhí)行同步。本發(fā)明用于保護(hù)該類(lèi)型的電路抵抗差分功率分析攻擊。文檔編號(hào)G06F21/55GK102027481SQ200980114681公開(kāi)日2011年4月20日申請(qǐng)日期2009年3月18日優(yōu)先權(quán)日2008年3月25日發(fā)明者J-L·當(dāng)熱,P·霍格沃斯特,S·吉耶申請(qǐng)人:國(guó)家科學(xué)研究中心,電信教育集團(tuán)-巴黎電信學(xué)校