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

使電路免受側信道分析的方法與流程

文檔序號:11432551閱讀:317來源:國知局
使電路免受側信道分析的方法與流程

本發(fā)明涉及一種用于使電路免受側信道分析的方法,所述側信道分析旨在發(fā)現(xiàn)由所述電路處理的機密數(shù)據(jù)的值,具體地說,由加密算法用于傳輸消息的密鑰。

本發(fā)明特別涉及實現(xiàn)密碼算法的設備,諸如安全設備(智能卡集成電路、安全元件、安全存儲卡)、移動設備(移動電話、智能手機、物聯(lián)網(wǎng))、家用和汽車設備、以及集成到計算機和其他電子和it設備(usb驅(qū)動器、電視解碼器、游戲控制臺等)的母板上的硬件加密組件等。本發(fā)明還涉及包括加密運算的軟件,該軟件用于在安全或不安全的環(huán)境中執(zhí)行。

本發(fā)明具體涉及實現(xiàn)諸如des(數(shù)據(jù)加密標準)或三重des、aes(高級加密標準)、rsa(rivest、shamir和adleman)、dsa(數(shù)字簽名算法)或ecdsa(橢圓曲線數(shù)字簽名算法)等加密算法之類的密碼算法的電路。本發(fā)明還涉及實現(xiàn)諸如hmac(密鑰散列消息認證碼)之類的散列函數(shù)的電路。



背景技術:

實現(xiàn)密碼算法的微電路配備有中央處理單元(cpu)。一些微電路配備有專用于密碼計算的電路,例如加密協(xié)處理器。這些微電路包括根據(jù)所執(zhí)行的運算以不同的方式切換的數(shù)千個邏輯門。這些開關在電流消耗上產(chǎn)生短暫變化,例如可以被測量的幾納秒。具體而言,cmos型集成電路包括在切換時(即,當邏輯節(jié)點變?yōu)?或0時)才消耗電流的邏輯門。因此,電流消耗取決于中央單元處理的數(shù)據(jù)及其各種外圍設備(存儲器)上的數(shù)據(jù)、在數(shù)據(jù)或地址總線上流動的數(shù)據(jù)、密碼協(xié)處理器等。

此外,具體使用加密或模糊技術(諸如“白盒密碼術”技術)產(chǎn)生的某些軟件程序可以以使得難以通過逆向工程確定的方式來集成機密數(shù)據(jù)。某些軟件程序還可以通過安全通信信道從外部接收機密數(shù)據(jù)。當觀察到這些微電路的電流消耗、或它們的磁或電磁輻射、或可以在執(zhí)行加密算法的同時觀察到的其它任何信息時,這些微電路可能會受到所謂的側信道分析攻擊。此類攻擊旨在發(fā)現(xiàn)它們使用的機密數(shù)據(jù),特別是它們的加密密鑰。頻繁的側信道攻擊實施諸如spa(“單功耗分析”)、dpa(“差分功耗分析”)、cpa(“相關功耗分析”)或ema(“電磁分析”)之類的統(tǒng)計分析方法。spa分析(參考文獻[1])通常只需要獲取單個電流消耗蹤跡。其目的是通過觀察對應于密碼計算的消耗蹤跡的一部分來獲得關于集成電路的活動的信息,因為當前蹤跡根據(jù)所執(zhí)行的運算和所處理的數(shù)據(jù)而變化。

軟件在被電路執(zhí)行期間也可能經(jīng)歷這種側信道攻擊。

dpa(參考文獻[2])和cpa分析使得能夠通過獲取大量數(shù)據(jù)或測量蹤跡并通過對這些蹤跡進行統(tǒng)計分析以查找搜索的信息來找到加密算法的密鑰。它們基于這樣的前提:即,當寄存器中或總線上的位從0變?yōu)?時,cmos型集成電路的消耗發(fā)生變化,以及當位保持等于0、保持等于1或從1變?yōu)?(mos晶體管的寄生電容的放電)時,其不發(fā)生變化?;蛘?,可以認為當位從0變?yōu)?或從1變?yōu)?時,cmos型集成電路的消耗發(fā)生變化,并且當位保持等于0或保持等于1時,cmos型集成電路的消耗不變。該第二假設使得能夠使用常規(guī)的“漢明距離”或“漢明權重”函數(shù)來開發(fā)不需要已知集成電路的結構可應用的消耗模型。dpa分析涉及通過對大量消耗蹤跡的統(tǒng)計處理來放大該消耗差異,目的在于突出根據(jù)公式假設區(qū)分的兩個消耗蹤跡族之間的測量差異。

cpa分析(參考文獻[3])基于線性電流消耗模型,并且涉及計算首先所測量的形成捕獲的消耗蹤跡的消耗點與其次根據(jù)線性消耗模型和有關由微電路處理的待發(fā)現(xiàn)的變量以及有關加密密鑰的值的假設而計算的推定消耗值之間的相關系數(shù)。

電磁分析(ema)基于如下原理:即,微電路可以以近場或遠場電磁輻射的形式泄漏信息。假設晶體管在其狀態(tài)改變時發(fā)射電磁信號,則可以通過諸如spa、dpa和cpa分析中的一種或其它分析,像電流消耗變化信號那樣處理這些信號。此分析的一個應用實例由jean-jacquesquisquater(參考文獻[4])做出。

存在其它側信道攻擊,例如“模板攻擊”(參考文獻[5])和“交互信息分析”(mia)(參考文獻[6])。所有上述攻擊都基于所有被分析的蹤跡的時間對準。換言之,在給定時間(例如從命令的執(zhí)行被電路激活的時間)執(zhí)行的所有測量必須對應于由算法處理的相同值。

為了保護此類電路及其執(zhí)行的密碼算法免受這些側信道攻擊,通常提供應對措施。幾種普遍的應對措施均旨在避免這種時間對準。為此,這些應對措施引入為計算電路定速的時鐘頻率的變化,或引入偽時鐘周期或偽運算。另幾種應對措施涉及使得要保護的算法適合獨立于由電路處理的數(shù)據(jù)的實際值來呈現(xiàn)這些數(shù)據(jù)。這幾種應對措施中的某些應對措施被稱為“掩蔽型應對措施”-使用隨機掩碼(二進制數(shù)),在執(zhí)行加密方法期間,這些隨機掩碼與另一要保護的數(shù)據(jù)(例如密鑰和/或消息)組合在一起。此類應對措施是有效的,但是需要修改算法,因此,在由協(xié)處理器執(zhí)行的情況下,需要專用于實現(xiàn)此應對措施的協(xié)處理器,或者在由微電路的中央處理單元或編程協(xié)處理器執(zhí)行的情況下,需要更復雜的程序。

通過多次執(zhí)行實現(xiàn)的應對措施可以用不包括任何應對措施手段的常規(guī)協(xié)處理器來實現(xiàn)。其中僅涉及通過偽密鑰或偽消息來多次執(zhí)行加密方法。為此,提供了例如控制加密程序或協(xié)處理器的應對措施程序,該程序以隨機的順序,通過偽密鑰多次執(zhí)行加密方法,從而使得通過正確的密鑰(即,真實的密鑰)對加密方法的執(zhí)行被“隱藏”在一組偽執(zhí)行中。通過多次執(zhí)行實現(xiàn)這種應對措施提供了以下優(yōu)點:即,可以通過不包括任何應對措施手段的常規(guī)協(xié)處理器來實現(xiàn)此應對措施。

有時可以借助特定的專業(yè)知識以及多次嘗試來恢復這種時間對準,特別是使用大量要被重新對準的蹤跡或應用一些信號處理。盡管如此,仍存在以下情況:即,不能恢復這種時間對準,這樣,即使在蹤跡中存在機密數(shù)據(jù)泄漏,側信道測試也會失敗。

專利申請us2009/074181和us2008/019503公開了保護運算的方法,包括以相同的概率將運算應用于密鑰的所有可能值。

為了檢查旨在上市的安全集成電路提供的安全級別,在電路上市之前安排資格和/或認證測試,這些測試具體包括集成電路防側信道分析的魯棒性測試,目的是發(fā)現(xiàn)由集成電路處理的機密數(shù)據(jù)。還有一些測試可以評估軟件程序?qū)刃诺拦舻牡挚沽Α?/p>

因此,期望提出在包括這種測試方法的資格和/或認證過程之后,使得集成電路或軟件程序能夠被認為能夠在產(chǎn)品中使用的應對措施手段。



技術實現(xiàn)要素:

某些實施例涉及一種用于由電路執(zhí)行接收輸入數(shù)據(jù)并提供輸出數(shù)據(jù)的運算的方法,所述方法包括:根據(jù)所述輸入數(shù)據(jù)或中間數(shù)據(jù)選擇替換表中的替換元素,所述替換元素是第一數(shù)據(jù)集,所述替換表中能夠根據(jù)輸入替換數(shù)據(jù)被選擇的每個替換元素是數(shù)據(jù)集;以及提供所述第一數(shù)據(jù)集作為所述運算的中間結果或最終結果,所述第一數(shù)據(jù)集包括所述輸出數(shù)據(jù)并且使得:在將選定滿射函數(shù)應用于所述第一數(shù)據(jù)集所產(chǎn)生的變換后的數(shù)據(jù)集中,變換后的輸出數(shù)據(jù)出現(xiàn)的概率等于將所述滿射函數(shù)應用于所述第一數(shù)據(jù)集中的其它數(shù)據(jù)所產(chǎn)生的每個變換后的數(shù)據(jù)出現(xiàn)的概率,所述輸出數(shù)據(jù)在所述第一數(shù)據(jù)集中的位置為所述電路所已知。

根據(jù)一實施例,由將所述滿射函數(shù)應用于形成所述替換表中的替換元素之一的每個數(shù)據(jù)集所產(chǎn)生的相應變換后的數(shù)據(jù)包括易于由所述滿射函數(shù)提供的所有可能數(shù)據(jù)的相同出現(xiàn)次數(shù)。

根據(jù)一實施例,根據(jù)所述電路的數(shù)據(jù)泄漏模型來選擇所述滿射函數(shù)。

根據(jù)一實施例,所述滿射函數(shù)是以下函數(shù)之一:恒等函數(shù);這樣的函數(shù):其提供結果值,該結果值然后可被簡化為對應于漢明權重的值;以及這樣的函數(shù):其提供該函數(shù)被應用到的值的漢明權重。

根據(jù)一實施例,被應用于所述機密數(shù)據(jù)和所述輸入數(shù)據(jù)的運算包括以下運算中的至少一者:對稱或不對稱加密或解密運算;簽名運算;與機密數(shù)據(jù)的模乘或非模乘;與機密數(shù)據(jù)的邏輯異或運算;使用機密數(shù)據(jù)作為指數(shù)的模冪運算;以及使用機密數(shù)據(jù)作為模數(shù)的模簡化運算。

某些實施例還可以涉及一種被配置為實現(xiàn)上面定義的方法并包括處理器的電路。

根據(jù)一實施例,所述電路包括協(xié)處理器。

某些實施例還可以涉及一種包括布置在介質(zhì)上的如以上所述的電路的設備。

某些實施例還可以涉及一種計算機程序產(chǎn)品,其可直接加載到計算機的內(nèi)部存儲器中并包括代碼部分,當由計算機執(zhí)行時,所述代碼部分配置所述計算機以執(zhí)行上面定義的方法的步驟。

附圖說明

下面將結合但不限于附圖來描述僅為了例示目的而提供的本發(fā)明的實施例的一些實例,其中:

圖1示意性地表示安全電路的常規(guī)架構;

圖2示意性地表示集成電路測試系統(tǒng)的一個實例;

圖3表示在由安全電路執(zhí)行加密運算期間獲取的信號的蹤跡;

圖4表示根據(jù)一個實施例的用于測試電路的方法的步驟;

圖5以圖的形式表示了滿射函數(shù)的一個實例;

圖6示意性地表示根據(jù)一個實施例構建的用于執(zhí)行統(tǒng)計處理的表;

圖7表示根據(jù)另一實施例的用于測試電路的方法的步驟;

圖8和9表示根據(jù)各種實施例的用于對通過測試方法獲得的值集進行統(tǒng)計分析的方法的步驟;

圖10和11以曲線的形式表示由圖8和9的分析方法提供的結果表;

圖12和圖13表示根據(jù)各種實施例的包括應對措施步驟的加密運算的步驟;

圖14表示根據(jù)一個實施例的依照應對措施方法變換的替換表;

圖15表示根據(jù)一個實施例的安全電路。

具體實施方式

作為一個實例,圖1表示安全集成電路ct,該集成電路例如布置在諸如塑料卡或任何其它介質(zhì)的便攜式介質(zhì)hd上,或者布置在諸如移動終端、智能電話、iot設備等終端中。所述集成電路包括微處理器prc、輸入/輸出電路ioc,通過數(shù)據(jù)和地址總線耦合到微處理器的存儲器m1、m2、m3以及可選地包括加密計算協(xié)處理器cp1或算術加速器,以及隨機數(shù)發(fā)生器rgn。存儲器m1是包含易失性應用數(shù)據(jù)的ram型(“隨機存取存儲器”)存儲器。存儲器m2是包含非易失性數(shù)據(jù)和應用程序的非易失性存儲器,例如eeprom或閃存。存儲器m3是包含微處理器的操作系統(tǒng)的只讀存儲器(或rom存儲器)。

通信接口電路ioc可以是例如根據(jù)iso/iec7816標準的接觸型電路,例如根據(jù)iso/iec14443a/b或iso/iec13693標準的具有感應耦合的非接觸型電路,借助電耦合的非接觸型電路(uhf接口電路),或同時為接觸型和非接觸型電路。接口電路ioc還可以通過特定接口耦合到諸如nfc(近場通信)控制器的另一電路,或者諸如移動終端或連接對象的終端的主電路。

在某些實施例中,集成電路ct可以被配置為通過加密功能執(zhí)行對發(fā)送給它的消息進行加密、解密或簽名的操作。該加密功能可以由電路ct的處理器prc執(zhí)行,或者部分地或完全地由處理器prc的協(xié)處理器cp1執(zhí)行。

圖2表示根據(jù)一個實施例的用于實現(xiàn)測試方法的集成電路測試系統(tǒng)的一個實例。例如假定測試系統(tǒng)被配置為測試圖1中的集成電路ct。

圖2的測試系統(tǒng)包括耦合到諸如數(shù)字示波器的測量設備md的測量探頭pb,以獲取與電路的活動相關的蹤跡,諸如電流消耗或電磁信號變化的蹤跡,以及包括諸如個人計算機pc的計算部件。計算機pc耦合到測量設備并且實現(xiàn)測試程序。該測試程序具體地包括通信接口、用于與集成電路通信并用于向集成電路發(fā)送消息的程序、信號處理程序,以及用于實現(xiàn)根據(jù)本發(fā)明的方法的計算步驟的程序。在集成電路是非接觸式電路的情況下,通信接口可以包括非接觸式讀卡器。

探頭pb可以是電流探頭(例如放置在集成電路的電源端子vcc上的電阻器)或者通過信號放大器amp耦合到測量設備的電磁探頭?;蛘撸娏魈筋^可以與電磁探頭組合。電磁輻射的研究實際表明,工作中由電路發(fā)射的電磁場提供關于集成電路中的位開關的信息,就像消耗的電流的測量一樣。電磁探頭的優(yōu)點是它可以放置其操作需要分析電路部分附近(例如靠近微處理器prc的核心或密碼計算協(xié)處理器cp1的核心)。

此外,在非接觸式集成電路的情況下,電流探頭可以用電感探頭代替,電感探頭測量集成電路對讀取器發(fā)射的磁場的吸收。這種電感探頭(例如天線線圈)本身能夠與放置在要研究的電路區(qū)域附近的電磁場探頭組合。

因此,在本申請中,為了簡化語言而使用的短語“電流消耗”指任何可測量的物理量,其隨時間的變化表示集成電路內(nèi)部或所研究的集成電路部分內(nèi)部的二進制數(shù)據(jù)的切換,該物理量能夠在集成電路的端子處或在所研究的集成電路部分附近被測量。此外,以高得足以收集感興趣的數(shù)據(jù)周期內(nèi)的多個點的采樣頻率對物理量進行采樣,實際上形成大量蹤跡,其中每個蹤跡包含10到數(shù)十萬個點,但是也可以考慮在每個蹤跡中收集幾百萬個值或甚至更多值。

本申請還涉及一種用于測試軟件程序或應用的方法。在這種情況下,軟件程序可以由測試系統(tǒng)直接執(zhí)行或由測試系統(tǒng)所執(zhí)行的仿真程序執(zhí)行。因此,所分析的蹤跡例如可以是當訪問存儲器時被發(fā)送到存儲器的一系列值,或在電路的寄存器中處理的數(shù)據(jù),甚至是被發(fā)送到電路的通信接口的數(shù)據(jù),這些發(fā)送由受測試的軟件程序控制。

測試方法

所述測試方法的某些實施例基于對信號或數(shù)字值的隨時間變化的蹤跡的詳細觀察,這些蹤跡表示在受測試電路執(zhí)行被應用于待發(fā)現(xiàn)的數(shù)據(jù)(下文稱為“機密數(shù)據(jù)”)的運算時所述電路的操作。

圖3表示可以由測試系統(tǒng)獲取的一段時間上的值的蹤跡c0、c1、...cix。這些蹤跡中的每一者已經(jīng)通過使受測試的電路或軟件程序執(zhí)行運算而獲得。對應于蹤跡c0、c1、...cix的運算通常都是不同的。這些運算不同例如是因為它們涉及將同一函數(shù)應用于不同的已知輸入數(shù)據(jù),例如要加密、解密或簽名的消息或要檢查的簽名,或要計算的hmac(密鑰-散列消息認證碼)?;蛘撸阎獢?shù)據(jù)可以是函數(shù)的輸出數(shù)據(jù)、或該函數(shù)的輸入和輸出數(shù)據(jù)的一部分,而非其輸入數(shù)據(jù)。

所述函數(shù)可以是應用于相同機密數(shù)據(jù)sd和輸入數(shù)據(jù)m的任何函數(shù),諸如對稱或不對稱加密或解密運算、或甚至簽名運算、或者僅僅是與機密數(shù)據(jù)的模乘或非模乘(m×sd)、與機密數(shù)據(jù)的邏輯xor函數(shù)(異或)(mxorsd)、模冪函數(shù)(機密數(shù)據(jù)被用作指數(shù)(msdmodn,n是已知的))、模簡化函數(shù)(機密數(shù)據(jù)被用作模數(shù)(mmodsd))。所述函數(shù)的另一實例涉及使用替換表(sbox[mxorsd],sbox是替換表)來處理xor運算的結果,如在des和aes加密算法的情況下。更一般地,該函數(shù)必須能夠基于機密數(shù)據(jù)的一部分和輸入數(shù)據(jù)來計算由運算產(chǎn)生的值的一部分。

在圖3的實例中,蹤跡c0、c1、ci、cix分別對應于輸入(或輸出)數(shù)據(jù)m[0]、m[1]、...m[i]、...m[ix]。每個蹤跡ci可以由從在同一受測試電路上測量的同一信號獲取的樣本形成,或者可以包括來自當受測試電路操縱數(shù)據(jù)m[i]時捕獲的不同信號的樣本。

圖4表示步驟s1到s19,這些步驟處理在執(zhí)行被應用于待發(fā)現(xiàn)的機密數(shù)據(jù)和被應用于也已知的輸入數(shù)據(jù)m[0]...m[ix]的已知加密運算oprk期間由測試系統(tǒng)收集的值。根據(jù)一個實施例,該測試的目的是例如判定機密數(shù)據(jù)的值是否泄漏到形成圖3的蹤跡的所收集的值中。處理單元pc首先執(zhí)行步驟s1到s8。

在步驟s1,測試系統(tǒng)的處理單元pc將輸入數(shù)據(jù)m[0]...m[ix]上的循環(huán)的索引i以及表ch設定為0。在步驟s2,處理單元pc通過要測試的電路mct或軟件程序激活運算oprk的執(zhí)行,該運算接收數(shù)據(jù)m[i],機密數(shù)據(jù)被提供給電路mct或軟件程序執(zhí)行的運算。在步驟s3,處理單元pc收集構成蹤跡ci的值。在步驟s4,選擇蹤跡ci的值的一部分eci,只有該部分在以下處理步驟(圖3)中被處理。在圖4的實例中,為了簡單起見,該部分由蹤跡ci的與索引k和kx對應的值來界定。實際上,索引k和kx可以從一個蹤跡ci變化到下一個蹤跡ci。此外,與現(xiàn)有技術的側信道分析相比,每個蹤跡中以此方式選定的值不一定是連續(xù)的,并且每個部分eci中的值的數(shù)量在一個蹤跡ci與下一個蹤跡之間可能是不同的。因此,例如可以選擇從每個蹤跡中僅提取最大或最小局部值。還應注意,所提取部分eci可以是整個蹤跡ci。在下面的處理中,假設以此方式提取的數(shù)據(jù)包含一條關于被搜索的機密數(shù)據(jù)的信息。

在步驟s5,處理單元pc將循環(huán)索引j以及表ht設定為0。在步驟s6,處理單元pc對選定蹤跡部分eci的索引j的值eci[j]應用滿射函數(shù)f1,并且使表ht中的值遞增一(1),該值由等于函數(shù)f1提供的結果的索引來指定。在步驟s7,索引j遞增一(1)。在步驟s8,將索引j與其最大值進行比較,以判定是否已經(jīng)處理了集eci中的全部值。一旦處理了集eci中的全部值,處理單元pc就執(zhí)行步驟s9到s14,否則再次執(zhí)行步驟s6到s8。以這種方式,加載到表ht的集eci中的值具有指定由函數(shù)f1返回的每個可能值的出現(xiàn)次數(shù)的直方圖形式,以使得與集eci中的值相關的時間特征不包括在表ht中:表ht的內(nèi)容使得不能確定集合中的值被收集的順序。圖5表示采取圖的形式的使用函數(shù)f1計算的值(在x軸上)的出現(xiàn)次數(shù)(在y軸上)的表ht的一個實例。在圖5的實例中,函數(shù)f1返回根據(jù)8位編碼值計算的漢明權重。

在步驟s9,處理單元pc將索引g設定為0。在步驟s10,處理單元pc對數(shù)據(jù)m[i]和待確定的機密數(shù)據(jù)sd的一部分(被設定為等于索引g)應用運算opr。運算opr(m,g)假定提供在步驟s2執(zhí)行的運算oprk(m)(=opr(m,sd))的結果的一部分。由運算opr提供的結果被提供值vl的滿射函數(shù)f2處理。在步驟s11,處理單元pc將索引l設定為0。在步驟s12,處理單元pc在由索引g、vl和l指定的位置處將存儲在三維表ch中的值遞增表ht中對應于數(shù)據(jù)m[i]的索引l處的值ht[1]。圖6表示表ch的一個實例,其中由索引g和vl指定的每個位置ch[g,vl]包含根據(jù)在步驟s11獲得的值vl組合若干表ht而獲得的表。在步驟s13,索引l遞增一(1)。在步驟s14,考慮到由函數(shù)f1提供的可能不同值的數(shù)量,將索引l與其最大值lx進行比較。如果索引l小于或等于其最大值lx,則再次執(zhí)行步驟s12到s14,否則執(zhí)行步驟s15和s16。

在步驟s15,處理單元pc使索引g遞增一(1)。在步驟s16,考慮到所考慮的機密數(shù)據(jù)部分的可能不同值的數(shù)量,處理單元pc將索引g與其最大值gx進行比較。如果索引g小于或等于最大值gx,則執(zhí)行從步驟s10到s16的新迭代,否則執(zhí)行步驟s17和s18。在步驟s17,處理單元pc使索引i遞增一(1)以處理另一蹤跡ci。在步驟s18,處理單元pc將索引i與其最大值ix(對應于所生成的蹤跡ci的數(shù)量)進行比較。如果索引i小于或等于最大值ix,則再次執(zhí)行步驟s2到s18,否則執(zhí)行步驟s19。在步驟s19,包含在位置[g,vl]處的表ch中的累積總和的每個表包含以下值:

在上述總和中要考慮的數(shù)據(jù)m[i]使得f2(opr(m[i],g))=vl。

在步驟s19,處理單元pc對表ch執(zhí)行統(tǒng)計分析,旨在判定索引g的值是否對應于要搜索的機密數(shù)據(jù)部分。為此,考慮從機密數(shù)據(jù)的泄漏獲得的信息已經(jīng)累積在表ch中的行g的位置中,而獨立于機密數(shù)據(jù)的信息被隨機地或均勻地分布在表ch中。因此,如果表ch的索引g的行包含比該表的其余部分更高的值,則表ch中的該行的索引g的值對應于要搜索的機密數(shù)據(jù)sd的該部分的值。在這種情況下,能夠認為機密數(shù)據(jù)sd已經(jīng)泄漏到所收集的形成蹤跡ci的數(shù)據(jù)中。

可以選擇函數(shù)f1和f2以使其對應于要測試的電路或軟件程序的泄漏模式。因此,函數(shù)f1和f2可以彼此相同或不同,并且可以被選擇以最大化發(fā)現(xiàn)由電路操縱的機密數(shù)據(jù)的概率。例如,函數(shù)f1和f2可以是以下函數(shù)之一:

-恒等函數(shù),

-這樣的函數(shù)(例如,形式為f(x)=a·x+b):其結果值可以被簡化為對應于漢明權重的值,例如當x在8位上被編碼時介于值0與8之間,

-這樣的函數(shù):其計算在該函數(shù)的輸入處提供的值的漢明權重,例如二進制編碼值的1處的位數(shù),或者

-這樣的函數(shù):其計算與另一值的漢明距離,例如這兩個值中的1處的位數(shù)之間的差。

應當注意,函數(shù)f1和f2的選擇可以影響要執(zhí)行以確定所考慮的機密數(shù)據(jù)部分的表ch的統(tǒng)計處理的復雜性,以及確定要搜索的機密數(shù)據(jù)部分的值的統(tǒng)計處理的成功性。

通過執(zhí)行步驟s1到s19搜索的機密數(shù)據(jù)部分例如可以在8或16位上定義。在8位的情況下,索引g被連續(xù)地分配給0和255(或1和256=28)之間的全部值。應當注意,測試g的值的順序?qū)τ跍y試的結果而言不重要。要搜索的機密數(shù)據(jù)部分也可以在諸如16、32或64位的較寬的字上定義。

機密數(shù)據(jù)sd的另一部分可以通過使用先前確定的機密數(shù)據(jù)部分的值并通過將機密數(shù)據(jù)的另一部分強制到索引g的不同可能值來執(zhí)行步驟s9到s19而確定。為此,能夠在步驟s4提取蹤跡ci的相同部分eci或這些蹤跡的其它部分。

應當注意,在執(zhí)行圖4中的其它步驟之前,可能已經(jīng)收集了形成蹤跡ci的值集(步驟s2和s3)。另外,在執(zhí)行步驟s9到s19之前,可能已經(jīng)針對每個蹤跡ci構成表ht。

應用于機密數(shù)據(jù)sd和輸入數(shù)據(jù)m[i]的運算opr/oprk可以是以下運算之一或它們的組合:

-對稱或不對稱加密或解密運算,其中機密數(shù)據(jù)sd是加密或解密密鑰,

-使用機密數(shù)據(jù)sd的簽名運算,

-與機密數(shù)據(jù)的模乘或非模乘(m[i]×sd),

-與機密數(shù)據(jù)的異或邏輯運算(異或)(m[i]xorsd),

-模冪運算,其中機密數(shù)據(jù)sd被用作指數(shù)(m[i]sdmodn,n是已知的),

-模簡化運算,其中機密數(shù)據(jù)sd被用作模數(shù)(m[i]modsd),

-采用使用輸入數(shù)據(jù)在替換表中選擇的值的替換運算(sbox[m[i]],sbox位于替換表中),以及

-組合了以下兩種運算的運算:即,應用于機密數(shù)據(jù)的邏輯異或運算,和采用使用異或運算的結果在替換表中選擇的值替換邏輯運算的結果的替換運算(sbox[m[i]xorsd])。

更一般地,該運算必須使得能夠僅基于機密數(shù)據(jù)的一部分和輸入數(shù)據(jù)來計算運算的最終值的一部分。

為了突顯與有關機密數(shù)據(jù)的信息對應的累積值,可以將所有表ht的內(nèi)容彼此相加,以獲得由函數(shù)f1返回的每個可能值的累積出現(xiàn)次數(shù)表。從表ch[g,vl]的位置中累積的所有表中減去該累積總和表的值。因此,可以根據(jù)圖7所示的順序來修改圖4中的步驟序列。圖7所示的步驟包括上述步驟s9到s19以及附加的步驟s20、s21和s22。在步驟s9之前執(zhí)行的步驟s20中,索引i、一維表mht和二維表cpt被設定為0。在步驟s9,二維表ht[0..ix,1]之前已經(jīng)填充了包含針對所有蹤跡ci在步驟s6生成的所有表。將步驟s21插入由索引l控制的循環(huán)(在步驟s12和s14之間),由此可以例如在步驟s12之后選擇由函數(shù)f1提供的值中的一個。在步驟s21,處理單元pc將每個值ht[i,l]累積在由索引l指定的位置處的累積總和表mht中。以這種方式,在處理結束時,表mht將包含針對每個蹤跡ci獲得的索引i的全部值ht[i,l]的和。在由索引i控制的循環(huán)的每次迭代時執(zhí)行一次步驟s22,從而例如可以在步驟s14之后選擇蹤跡ci中的一個。步驟s22使能對累積在表ch的每個位置ch[g,vl]中的表ht[i,l]的數(shù)量計數(shù)。該計數(shù)的結果被存儲在表cpt中。

圖8表示為了嘗試確定要搜索的機密數(shù)據(jù)sd的一部分的值而執(zhí)行的表ch的統(tǒng)計處理的一個實例的步驟s31到s43。連續(xù)執(zhí)行步驟s31到s37。在步驟s31,將索引vl設定為0,并且將表tt的所有位置設定為1。在步驟s32,將索引g和表it的所有位置設定為0。在步驟s33,將索引l被設定為0。在步驟s34,變量t接收由索引g、vl和l選擇的包含在表ch中的值ch[g,vl,l],該值被除以位于表cpt中的位置cpt[g,vl]處的計數(shù)值。在步驟s35,位于表it中的位置g處的值it[g]按照變量t的值與被除以蹤跡ci的總數(shù)ix的、由索引l指定的存儲在表mht中的值mht[1]之間的差的平方遞增。在步驟s36,索引l遞增一(1)。在步驟s37,將索引l與其最大值lx進行比較。如果索引l已經(jīng)達到其最大值1x,則執(zhí)行步驟s38到s40,否則執(zhí)行從步驟s34開始的新迭代。

在步驟s38,用在步驟s35到s37計算的值it[g]乘以表tt中由索引g指定的值tt[g]來更新值tt[g],執(zhí)行1x次。在步驟s39,索引g遞增一(1)。在步驟s40,將索引g與其最大值gx進行比較。如果索引g大于其最大值gx,則執(zhí)行步驟s41和s42,否則執(zhí)行從步驟s33開始的新迭代。在步驟s41,索引vl遞增一(1)。在步驟s42,將索引vl與其最大值vlx進行比較。如果索引vl大于其最大值vlx,則執(zhí)行步驟s43,否則執(zhí)行從步驟s32開始的新迭代。在步驟s43,作為統(tǒng)計分析的結果返回表tt。

因此,在包括步驟s32到s42的處理循環(huán)的最后一次迭代時,表it和tt包含以下值:

其中并且

其中運算符“==”表示當相等為真時等于1的相等測試,并且當相等為假時,相等測試為0,表it在步驟s32被設定為0,并且在步驟s35針對索引vl的每個新值加載表it。

因此,cpt[g,vl]表示條件(f2(opr(m[i],g))==vl)為真的次數(shù)。如果在執(zhí)行運算oprk時機密數(shù)據(jù)sd被泄漏,則表tt的一個位置包含比該表中存儲的其它值高得多的值。結果是要搜索的機密數(shù)據(jù)sd的所述部分等于表tt中的最高值的索引g。

應當注意,在對應于等式(3)的步驟s38,可以加上表it的值而不是相乘。乘法運算的實現(xiàn)只是允許增大表tt的各值之間的差,因此更好地突顯對應于要搜索的機密數(shù)據(jù)部分的最高值。還可以考慮將對數(shù)函數(shù)應用于表it的值,并且對在表tt中所獲得的對數(shù)值執(zhí)行加法累積。當表it的值相加時,它們能夠按照以下方式被加權:

圖9表示為了嘗試確定要搜索的機密數(shù)據(jù)sd的一部分的值而執(zhí)行的表ch的統(tǒng)計處理的另一實例的步驟s51到s67。該處理基于香農(nóng)熵函數(shù)。連續(xù)執(zhí)行步驟s51到s56。在步驟s51,將索引g設定為0,并且將表tt的所有位置設定為0。在步驟s52,將索引vl設定為0。在步驟s53,將索引l和變量sxy設定為0。在步驟s54,使變量sxy按照由索引g、vl和l指定的表ch中選擇的值ch[g,vl,l]遞增。在步驟s55,索引l遞增一(1)。在步驟s56,將索引l與其最大值lx進行比較。如果索引l已經(jīng)達到其最大值lx,則執(zhí)行步驟s57到s61,否則執(zhí)行從步驟s54到步驟s56的新迭代。在步驟s57,將索引l和變量pxy設定為0。在步驟s58,變量vxy接收索引g、vl和l在表ch中選擇的值ch[g,vl,l],該值被除以通過步驟s54到s56的迭代計算的變量syx。在步驟s59,變量pxy按照變量vxy與變量vxy的對數(shù)(例如,以2為底數(shù))的乘積遞增。在步驟s60,索引l遞增一(1)。在步驟s61,將索引l與其最大值lx進行比較。如果索引l已經(jīng)達到其最大值lx,則執(zhí)行步驟s62到s64,否則執(zhí)行從步驟s58到步驟s61的新迭代。

在步驟s62,通過從由表tt中的索引g指定的值tt[g]中減去被除以蹤跡ci的數(shù)量ix的值cpt[g,vl]與變量pxy的乘積來更新值tt[g],值cpt[g,vl]由在步驟s22填充的表cpt中的索引g和vl指定。在步驟s63,索引vl遞增一(1)。在步驟s64,將索引vl與其最大值vlx進行比較。如果索引vl大于其最大值vlx,則執(zhí)行步驟s65和s66,否則執(zhí)行從步驟s53開始的新迭代。在步驟s65,索引g遞增一(1)。在步驟s66,將索引g與其最大值gx進行比較。如果索引g大于其最大值gx,則執(zhí)行步驟s67,否則執(zhí)行從步驟s52開始的新迭代。在步驟s67,作為統(tǒng)計分析的結果,返回表tt。

因此,在執(zhí)行最后一次迭代時,在步驟s66之后,表tt包含以下值:

其中針對索引g和vl的每個值計算并且索引g的每個值表示要搜索的密鑰部分的可能值。如果機密數(shù)據(jù)sd在處理運算oprk時被泄漏,則表tt的一個位置包含比該表中存儲的其它值高得多的值。結果是要搜索的機密數(shù)據(jù)sd的所述部分等于表tt中的最高值的索引g。

圖10和11以曲線cc1、cc2的形式表示作為索引g的函數(shù)的表tt的內(nèi)容的一個實例。曲線cc1已經(jīng)通過執(zhí)行圖8中的步驟獲得,曲線cc2已經(jīng)通過執(zhí)行圖9中的步驟獲得。在圖10和11的實例中,索引g具有一個字節(jié)的長度(從而從0變化到255),并且曲線cc1和cc2已經(jīng)通過數(shù)量達到500,000的大量蹤跡ci獲得。與表tt中包含的其它值相比,曲線cc1和cc2在值g=168處具有明顯的峰值。曲線cc1中的峰值比表tt的其它值約大三十倍。在曲線cc2中,峰值比表tt的其它值大三倍。取決于表ch的統(tǒng)計處理,可以認為,當通過增加所分析的蹤跡ci的數(shù)量而獲得的峰值保持為比最接近的值大0.9倍的值時,要搜索的機密數(shù)據(jù)部分泄漏。

與根據(jù)本發(fā)明的測試方法相關的常規(guī)應對措施的有效性

為使諸如集成電路的電路能夠成功地通過已知的資格或認證程序,這些電路的設計者提供了涉及引入時間變量的最常規(guī)的應對措施。這種安排能夠通過使為電路定速的時鐘周期的持續(xù)時間隨機改變,或者通過在隨機選擇的時間引入虛擬處理周期或運算來做出。表ht中的值的計算允許從所分析的值中移除時間方面,并且避免必須同步所分析的值的不同蹤跡。如果關于要搜索的機密數(shù)據(jù)的信息在所分析的數(shù)據(jù)中,則先前描述的測試方法使能確定所有或部分機密數(shù)據(jù)。

適當?shù)膽獙Υ胧?/u>

某些實施例涉及使得電路能夠在包括前述測試方法的資格或認證測試期間被使用的應對措施手段。

這里提出保護加密運算免受由前述測試方法實施的分析。在此上下文中,運算接收輸入數(shù)據(jù),并且根據(jù)輸入數(shù)據(jù)的值提供輸出數(shù)據(jù)。根據(jù)一個實施例的應對措施包括對于一組輸入數(shù)據(jù)的所有數(shù)據(jù)執(zhí)行要保護的運算,所述一組輸入數(shù)據(jù)僅包括一次易于被運算處理的所有可能的數(shù)據(jù),因此包括要由運算處理的數(shù)據(jù)。另一個應對措施包括作為運算的結果提供一組輸出數(shù)據(jù),所述輸出數(shù)據(jù)僅包括一次易于由運算提供的所有可能的數(shù)據(jù)。該組輸出數(shù)據(jù)可以被簡化為數(shù)據(jù)的子集,其中應用所選擇的滿射函數(shù)得到的變換后的數(shù)據(jù)僅包括一次所有易于被該函數(shù)獲得的數(shù)據(jù),其中包括預期來自運算的輸出數(shù)據(jù),這些輸出數(shù)據(jù)對應于輸入數(shù)據(jù)。所選擇的滿射函數(shù)可以對應于要保護的電路或軟件程序的泄漏模式。

與現(xiàn)有技術的應對措施不同(現(xiàn)有技術涉及在有關隨機數(shù)據(jù)的大量相同運算中“淹沒”要保護的運算,因此與要保護的操作的輸入數(shù)據(jù)不相關),本文的理念是針對不是隨機選擇的其它數(shù)據(jù)執(zhí)行運算。實際上,這種其它數(shù)據(jù)與輸入數(shù)據(jù)相關,只要由這種其它數(shù)據(jù)和要處理的數(shù)據(jù)形成的集合包括易于由運算處理的所有數(shù)據(jù)。

圖12表示根據(jù)一個實施例的用于計算涉及機密數(shù)據(jù)sd的加密運算的方法的步驟s71到s77。此方法被配置為成功地通過上述測試。連續(xù)執(zhí)行步驟s71到s76。在步驟s71,變量rn接收0與根據(jù)用于以二進制碼對該變量進行編碼的位數(shù)確定的最大值nx之間的隨機值。因此,如果變量rn在8位上編碼,則nx等于255。在步驟s72,將索引n設定為0。在步驟s73,通過以異或運算將索引n與變量rn組合來計算變量irn。在步驟s74,通過將上面定義的加密運算opr應用于輸入數(shù)據(jù)m和機密數(shù)據(jù)sd來計算由結果表rs中的索引n指定的輸出數(shù)據(jù)rs[n]。根據(jù)一個實施例,機密數(shù)據(jù)sd在此例如通過與變量irn的異或運算(異或)被組合:

表示異或運算符。

備選地,變量irn可以與輸入數(shù)據(jù)m組合:

或者與運算的結果組合:

在步驟s75,索引n遞增一(1)。在步驟s76,將索引n與最大值nx進行比較,如果它小于或等于最大值nx,則執(zhí)行從步驟s73到s76的計算的新迭代。在相反的情況下,執(zhí)行步驟s77。在步驟s77,返回在索引n1處的表rs中包含的要搜索的輸出數(shù)據(jù),該索引n1具有其中變量irn為0的迭代的索引n的值,前提是在步驟s74與值irn的組合運算是異或運算。實際上,應用于數(shù)據(jù)d和0的異或運算的結果不變換數(shù)據(jù)d。應當注意,在步驟s77,在其它運算之后,能夠提取表rs中要搜索的輸出數(shù)據(jù)。在這種情況下,存儲在表rs中的所有數(shù)據(jù)由此類其它運算處理。因此,例如在aes算法的情況下,運算opr例如是將輸入數(shù)據(jù)與在第一輪算法中使用的第一密鑰相組合的異或運算??梢詫Υ鎯υ诒韗s中的所有數(shù)據(jù)執(zhí)行aes算法的以下運算,并且將這些運算的連續(xù)結果存儲在表rs中。因此,移動行和混合列的運算可以被應用于表rs的每個元素。能夠在被認為對攻擊不太敏感的處理中的隨后步驟從結果表rs提取要搜索的輸出數(shù)據(jù)。這些布置也適用于des或三重des算法。

此外,輸入數(shù)據(jù)m和機密數(shù)據(jù)sd由具有相同位數(shù)的二進制字進行編碼。賦予變量irn的每個值還必須具有與數(shù)據(jù)m和sd相同的位數(shù)。如果數(shù)據(jù)m和sd由8位字編碼,則變量irn也在8位上編碼。必須在步驟s73到s76之間執(zhí)行的迭代次數(shù)nx等于2x,x是數(shù)據(jù)m和sd的位數(shù)的大小。如果數(shù)據(jù)m和sd由16、32或64位的字編碼,則需要限制該迭代次數(shù)。為此,可以將變量irn在8位上編碼,并且可以通過將變量irn與其自身串接多次以形成機密數(shù)據(jù)sd或輸入數(shù)據(jù)m的大小的字,來執(zhí)行將機密數(shù)據(jù)sd或輸入數(shù)據(jù)與變量irn組合的運算。因此,在數(shù)據(jù)m和sd在16位上編碼的情況下,8位上的變量irn與其自身串接以獲得16位上的數(shù)據(jù)。然后,在步驟s73執(zhí)行的運算變?yōu)椋?/p>

“//”表示二進制字的串接運算符。在數(shù)據(jù)m和sd在32位上編碼的情況下,8位上的變量irn的每個值與其自身串接3次以獲得32位上的值。然后,在步驟s73執(zhí)行的運算變?yōu)椋?/p>

更一般地,當在每次迭代時將變量irn與運算opr的輸出數(shù)據(jù)組合時,可以以這樣的方式選擇變量irn的值:通過應用所選擇的滿射函數(shù)f3得到的它們的變換值僅包括一次易于被該函數(shù)獲得的所有可能值。函數(shù)f3可以是恒等函數(shù),如對于圖12中的步驟那樣,或者是圖像集較小的函數(shù),如在圖13中那樣。

因此,圖13表示根據(jù)另一實施例的用于計算涉及機密數(shù)據(jù)sd的加密運算的方法的步驟s80到s92。此方法被配置為成功通過前述測試。連續(xù)執(zhí)行步驟s80到s84。步驟s80與步驟s71相同。在步驟s81,將索引n設定為1,將索引m設定為0。在步驟s82,表rs1的索引0處的值接收應用于輸入數(shù)據(jù)m和機密數(shù)據(jù)sd的運算opr的結果,該結果通過異或運算與隨機數(shù)據(jù)rn組合。步驟s83與步驟s73相同。步驟s84與步驟s74相同,除了在該步驟中執(zhí)行的計算的結果由變量res存儲。另外,在步驟s83計算的數(shù)據(jù)irn通過異或運算與運算opr提供的結果相組合。在步驟s85,將通過應用函數(shù)f3得到的變量res的變換值與表rs中存儲的其它數(shù)據(jù)的函數(shù)f3的變換值進行比較,其它數(shù)據(jù)位于由低于或等于索引m的索引指定的位置處。如果變量res的變換值f3(res)與這些其它數(shù)據(jù)不同,則在步驟s86和步驟s87將索引m遞增一(1),并且將變量res存儲在表rs1中由索引m指定的位置處。否則存在索引n2,以使得變量res的變換值f3(res)等于表rs中位于索引n2處的值rs1[n2]的變換值f3(rs1[n2])。在這種情況下,在步驟s88將索引n與索引值n1進行比較,其中運算opr的未掩蔽結果存儲在表rs(n1⊕rn=0)中。如果索引n等于索引值n1,則結果res是運算opr的真實結果,并且在步驟s89將其存儲在表rs1中的索引n2處。在步驟s87、s89和s88之后(當索引n不對應于索引n1時)執(zhí)行索引n遞增一(1)的步驟s90。在下一步驟s91,將索引n與最大值nx進行比較,如果它小于或等于最大值nx,則執(zhí)行從步驟s83到s91的計算的新迭代,否則執(zhí)行步驟s92。步驟s92與步驟s77相同,除了它被應用于表rs1以外。

可以選擇函數(shù)f3以便對應于要保護的電路或軟件程序的泄漏模式。因此,函數(shù)f3例如可以是漢明函數(shù)。

當要保護的運算包括在與運算的輸入數(shù)據(jù)、要保護的機密數(shù)據(jù)或可以從中確定機密數(shù)據(jù)的數(shù)據(jù)對應的索引處讀取查找表的運算時,能夠?qū)崿F(xiàn)另一應對措施。根據(jù)一個實施例,讀取整個查找表,并且例如將其加載到一組結果數(shù)據(jù)中(例如表rs)。如上所述,存儲在表rs中的數(shù)據(jù)集可以在下一運算的輸入處應用,表中的每個數(shù)據(jù)通過該運算被變換。由于表rs中的輸出數(shù)據(jù)的位置是已知的,因此電路能夠在任何時間提取輸出數(shù)據(jù)。

根據(jù)一個實施例,查找表被變換成新表,其中每個位置包含易于被包含在該查找表中的所有可能值。因此,圖14表示查找表t1,由此可以根據(jù)從0到p變化的輸入值來確定加密運算的結果。根據(jù)一個實施例,表t1被替換為新表t2,新表具有附加維度,以使得索引i的所有可能值的t2[i,k0]=t1[i]位于0和p之間。此外,當k從0變?yōu)閞時,所有值t2[i,k]包括易于被存儲在表t1中的值的所有可能值。因此,如果這些值在一個字節(jié)上被編碼,則索引k的最大值r等于255,當索引i被固定并且索引k從0變化到r時,所有值t2[i,k]是不同的。因此,由索引i指定的所有表t2[i,j]包含相同的值,但是排序不同。例如,可以通過以下方式定義表中的數(shù)據(jù):

對于所有值,k從0變化到r。

因此,要保護的運算的執(zhí)行涉及在結果表(例如表rs)中加載由通過輸入數(shù)據(jù)(可能為機密數(shù)據(jù))定義的索引i所指定的表t2的所有值:

rs[0..r]=t2[i,0..r]

如上所述,然后可以執(zhí)行步驟s77或s90以獲得在結果表rs中要搜索的輸出數(shù)據(jù)。

使得t2[i,k0]=t1[i](即包含運算的輸出數(shù)據(jù))的索引k0的值可以對于整個表t2是固定的,也可以在表的每行上變化。例如,列t2[0..p,k0]可以包含表t1。在另一實例中,表元素t2[0,k0]可以等于元素t1[0],元素t2[1,k0+1]可以等于元素t1[1]等等,直到元素t2[p,(k0+p)mod(r+1)]等于t1[p]。如果在該實例中,從表t2的一行到下一行的移位間距是1,則其能夠被設定為1與r-2之間的其它任何值。

代替包含0與r之間的全部值,由索引i選擇的每個表元素t2[i]可以僅包含包括預期輸出數(shù)據(jù)的值,以使得通過應用所選的滿射函數(shù)f3而得到的它們的變換值全部不同,并且包括易于被該函數(shù)獲得的所有可能值。如果函數(shù)f3再現(xiàn)機密數(shù)據(jù)的泄漏模式,則這種布置允許減小表t2的大小,而不降低該方法的魯棒性。

應當理解,雖然表t1具有兩個維度,但是表t2具有三個維度,表t1的每個元素被包含表t1的元素的所有可能值的一維表所替換。

圖15表示根據(jù)一個實施例的布置在諸如塑料卡的便攜式介質(zhì)hd上,并且配備有應對措施的集成電路ct1。該集成電路包括與上面結合圖1描述的集成電路ct相同的單元,并且與后者的不同之處在于:協(xié)處理器cp1被實現(xiàn)上述應對措施中的一個和/或另一個的協(xié)處理器cp2所替代。因此,根據(jù)一個實施例,協(xié)處理器cp2被配置為提供結果值的表,而不是加密運算的單個結果,其僅包括使得通過應用所選的滿射函數(shù)而得到的它們各自的變換值全部為不同的值,并且包括易于被該滿射函數(shù)獲得的所有可能值,其中包括加密運算的預期結果。處理器prc與協(xié)處理器cp2匹配,以便獲知加密運算的結果在由協(xié)處理器cp2提供的結果值的表中的位置。

協(xié)處理器cp2還可以被配置為執(zhí)行加密運算的一部分。在這種情況下,處理器prc被配置為產(chǎn)生結果值的表,其僅包括值,以使得通過應用所選的滿射函數(shù)而得到的它們各自的變換值全部不同,并且包括易于被該滿射函數(shù)獲得的所有可能值,其中包括加密運算的結果。

引用的參考文獻

[1]作者p.c.kocher,“timingattacksonimplementationofdiffie-hellman,rsa,dss,andothersystems”,nealkoblitz編輯,advancesincryptology-crypto'96,計算機科學講義第1109卷,第104-113頁,springer,1996年。

[2]作者p.c.kocher、j.jaffe和b.jun,“”differentialpoweranalysis”,m.j.wiener編輯,advancesincryptology-crypto'99,計算機科學講義第1666卷,第388-397頁,springer,1999年。

[3]作者e.brier、c.clavier和f.olivier,“correlationpoweranalysiswithaleakagemodel”m.joye和j-j.quisquater編輯,cryptographichardwareandembeddedsystems-ches2004,計算機科學講義第3156卷,第16-29頁,springer,2004年。

[4]作者j.-j.quisquater,“electromagneticanalysis(ema):measuresandcounter-measuresforsmartcards”,smartcardprogrammingandsecurity,springerberlin/heidelberg,第2140、2001卷,第200-210頁。

[5]作者s.chari、j.r.rao和p.rohatgi,“templateattacks”,kaliskijr.、b.s.、c.k.、paar、c(編輯)ches2002.lncs,第2523卷,第172-186頁,springer,heidelberg(2003年)

[6]作者b.gierlichs、l.batina、p.tuyls和b.preneel,“mutualinformationanalysis”,ches2008,lncs的第5154卷,第426-442頁,springer,2008年。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
富裕县| 辽中县| 赣榆县| 长春市| 平安县| 桑日县| 揭西县| 班戈县| 舒城县| 榆社县| 襄城县| 宣汉县| 德兴市| 隆化县| 日土县| 郁南县| 廊坊市| 苍山县| 米泉市| 佛冈县| 怀宁县| 斗六市| 涪陵区| 革吉县| 五原县| 江源县| 永平县| 新泰市| 绥化市| 清新县| 基隆市| 新竹市| 察哈| 鹿邑县| 古丈县| 海兴县| 庆元县| 南和县| 衡南县| 荣成市| 长兴县|