亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于電子部件實現(xiàn)橢圓曲線密碼算法的應(yīng)對方法與流程

文檔序號:12289829閱讀:461來源:國知局
用于電子部件實現(xiàn)橢圓曲線密碼算法的應(yīng)對方法與流程

本發(fā)明涉及用于電子部件實現(xiàn)橢圓曲線公鑰密碼算法的應(yīng)對方法、實現(xiàn)所述方法的電子部件以及系統(tǒng)。其應(yīng)用于橢圓曲線密碼學(xué)領(lǐng)域。具體而言,橢圓曲線密碼學(xué)使得生成簽名以加密數(shù)字消息或者設(shè)置加密密鑰成為可能。



背景技術(shù):

電子電路的活動可以在電子電路進行操作時,通過諸如功率消耗、計算時間或電磁輻射之類的物理量來觀察到。

這些物理量取決于計算架構(gòu)和電路內(nèi)部操作的數(shù)據(jù)二者。因此,通過觀察所述量,與所處理的數(shù)據(jù)有關(guān)的信息在電路之外可間接獲得,這被稱為隱藏信道或邊信道。

這些物理量的耗散會危害用于對特別是密碼方案保護的秘密數(shù)據(jù)進行處理的系統(tǒng)的安全性。因此,如果秘密數(shù)據(jù)是利用具有秘密加密密鑰的密碼算法來保護的,所述保護的魯棒性在于保持所述密鑰實際秘密的能力。這些物理量的耗散可能使得第三方通過發(fā)起合適的攻擊而獲取密鑰,并因此訪問秘密數(shù)據(jù)。

基于觀察由所述電路耗散的物理量的攻擊通常被稱作隱藏信道攻擊。貫穿本說明,利用基于觀察的攻擊方案來訪問不是旨在發(fā)往其的數(shù)據(jù)的第三方被稱作攻擊者,而所耗散的物理量對于它們所在的一方而言被稱作泄露或隱藏信道。

當(dāng)前存在基于觀察的有力的攻擊,其使得有可能訪問由受保護電路處理的數(shù)據(jù)。利用這些方案,有可能規(guī)避通過密碼學(xué)在數(shù)學(xué)級別上賦予的安全性。

基于橢圓曲線的密碼應(yīng)用通常利用橢圓曲線標(biāo)量乘法ECSM作為主操作。該操作基于點P和整數(shù)k來確定標(biāo)量[k]P=P+P…+P。該點P通常是數(shù)據(jù)的公共項,而整數(shù)k是秘密。

橢圓曲線標(biāo)量乘法ECSM的運算可以借助于多個現(xiàn)有技術(shù)方案來實現(xiàn),這些現(xiàn)有技術(shù)方案包括被稱為左到右窗口標(biāo)量乘法(參見圖1)、蒙哥馬利(Montgomery)階梯(參見圖2)的技術(shù)和被稱為在wNAF上具有右到左滑動窗口的標(biāo)量乘法(參見圖3)的技術(shù)。這些方案通常按位進行操作。基本的橢圓曲線運算(例如加法或倍乘)、以及使用的點(預(yù)先計算的或動態(tài)的),取決于當(dāng)前的比特。

由于對ECSM乘法的單獨觀察足以確定標(biāo)量的全部比特,所以某些隱藏信道攻擊是非常有力的。

存在可以被用于對抗基于橢圓曲線的密碼方案的攻擊,其包括通過比較電流的消耗的子軌跡來確定哪些值在特定運算期間被操作的。這種攻擊被稱為是水平的。一個例子是Big-Mac攻擊,但是也存在其它攻擊,例如,由C.Murdica、S.Guilley、J.-L.Danger、P.Hoogvorst和D.Naccache在2012年的關(guān)于“Constructive Side-Channel Analysis and Secure Design(建設(shè)性邊信道分析和安全設(shè)計)”的研討會上發(fā)表的名為“Silding Window Succumbs to Big MacAttack”(滑動窗口屈從于Big-Mac攻擊)的文章中描述的SVA(相同數(shù)值分析)攻擊。查明哪些值被操作的動作揭示了關(guān)于標(biāo)量的信息。該攻擊是通過對電流在ECSM的各次迭代的消耗進行比較來發(fā)起的。假定電流的消耗與被操作的值相關(guān),那么該攻擊包括檢測相同的值是否在ECSM標(biāo)量乘法計算中的不同時間被操作。

在蒙哥馬利階梯(參見圖2)的情況下,在加法期間,Q[0]是操作數(shù)1(不以相同的方式使用加法的操作數(shù)1和2)。僅當(dāng)ki=0時,Q[0]將會是倍乘的輸入。

在在wNAF上具有右到左滑動窗口的標(biāo)量乘法(參見圖3)的情況下,需要檢測在一個且相同的迭代中,點R是否被使用了兩次。

對迭代的加法結(jié)果和隨后迭代的加法的輸入的分析也可能公開信息。

由于不必知曉基點并且標(biāo)量可以通過單個軌跡來完全恢復(fù),因此這種類型的攻擊是十分有力的。因此,通過對起始點的隨機化或者通過對標(biāo)量的隨機化的應(yīng)對是無效的。此外,這種類型的攻擊可以適于適合其它ECSM運算。這種類型的攻擊被稱作“Big-Mac”,并且在由C.D.Walter在2001年關(guān)于“Cryptographic Hardware and Embedded Systems(密碼硬件和嵌入式系統(tǒng))”的研討會上發(fā)表的名為“Same Values Power Analysis Using Special Points on Elliptic Curves(利用橢圓曲線上的特殊點進行的相同值的功率分析)”的文章中給出。



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

本發(fā)明的一個目的是彌補現(xiàn)有技術(shù)的不足/缺陷和/或?qū)ζ溥M行改進。

出于該目的,本發(fā)明的主題是一種用于電子部件在域上定義的橢圓曲線E上實現(xiàn)公鑰密碼算法的應(yīng)對方法,并且其包括迭代標(biāo)量乘法運算,所述迭代標(biāo)量乘法運算使得基于所述曲線E的點P和必須保持秘密的整數(shù)k來獲得點[k]P成為可能,所述電子部件的電消耗取決于由在所述運算期間使用的至少一個所謂的關(guān)鍵點采用的值,以迭代地確定所述點[k]P,所述方法包括:

-提供中的不同于一的預(yù)定義的非零常量元素c的至少一次冪的步驟;

-將所述至少一個關(guān)鍵點的坐標(biāo)初始化為預(yù)定義的值的步驟;

-實現(xiàn)所述標(biāo)量乘法運算的步驟,與至少一個關(guān)鍵點相關(guān)聯(lián)的所述坐標(biāo)是在每次迭代中通過將該點的坐標(biāo)中的至少一個坐標(biāo)乘以在所述提供步驟(500)中獲得的所述元素c的所述至少一次冪來修改的。

根據(jù)一個實施例,所述元素c被選擇為小于或等于所述曲線的基群的基數(shù)的一半。

根據(jù)一個實施例,所述元素c被選擇為具有嚴(yán)格大于所述標(biāo)量乘法的迭代次數(shù)的三倍的階數(shù)δ,以防止元素一在c的連續(xù)的冪乘中出現(xiàn)。

根據(jù)一個實施例,根據(jù)c的次冪的以下乘法c、c^2、c^3、c^4和c^6是通過使用加法鏈來確定的,c被選擇為使得所述加法鏈的長度最小化。

根據(jù)一個實施例,與至少一個關(guān)鍵點相關(guān)聯(lián)的所述坐標(biāo)是通過投影等價性來修改的。

根據(jù)一個實施例,與至少一個關(guān)鍵點相關(guān)聯(lián)的所述坐標(biāo)是通過對所述曲線E和第二橢圓曲線E′之間的同構(gòu)的實現(xiàn)來修改的。

根據(jù)一個實施例,所述標(biāo)量乘法運算是通過左到右窗口標(biāo)量乘法來實現(xiàn)的,所述窗口的大小為w。

根據(jù)一個實施例,所述標(biāo)量乘法運算是通過由蒙哥馬利階梯來實現(xiàn)的。

根據(jù)一個實施例,所述標(biāo)量乘法運算是通過在wNAF上具有右到左滑動窗口的標(biāo)量乘法來實現(xiàn)的。

根據(jù)一個實施例,所述標(biāo)量乘法運算是利用以下步驟來實現(xiàn)的:

-將用作工作變量并且與部分標(biāo)量乘法相對應(yīng)的點Q的坐標(biāo)初始化為0;

-預(yù)先計算2w乘以P的R[j],其中,j=1...2w;

-利用滑動窗口來對Q進行倍乘并將R[v]加到Q上,所述應(yīng)對是通過利用以下表達式,在每次迭代i中修改所述點R[v]的坐標(biāo)(XR[v],YR[v],ZR[v])來實現(xiàn)的:(XR[v],YR[v],ZR[v])=(c2XR[v],c3YR[v],cZR[v]),其中v=(ki,...,ki-w+1)2。

根據(jù)一個實施例,所述標(biāo)量乘法運算是利用以下步驟來實現(xiàn)的:

-將用作工作變量并且與部分標(biāo)量乘法對應(yīng)的點Q的坐標(biāo)初始化為0;

-預(yù)先計算2w乘以P的R[j],其中,j=1...2w;

-利用滑動窗口來對Q進行倍乘并將R[v]加到Q上(603),所述應(yīng)對是通過在每次迭代中利用以下方式改變所述點R[j]和Q的坐標(biāo)(XQ,YQ)和(XR[j],YR[j])來實現(xiàn)的:

i.(XQ,YQ)=(c2XQ,c3YQ)

ii.對于范圍從1到2w的j而言,(XR[j],YR[j])=(u2XR[j],u3YR[j])。

本發(fā)明的主題也涉及一種用于在域上定義的橢圓曲線E上的公鑰密碼的電子電路,其實現(xiàn)標(biāo)量乘法運算,所述標(biāo)量乘法運算使得基于所述曲線E的點P和必須保持秘密的整數(shù)k獲得點[k]P成為可能,所述部件的電子消耗取決于由在所述運算期間使用的至少一個所謂的關(guān)鍵點采用的值,以迭代地確定所述點[k]P,所述電路包括適于進行以下操作的至少一個模塊:

-提供中的不同于一的預(yù)定義的非零常量元素c;

-將所述至少一個關(guān)鍵點的坐標(biāo)初始化為預(yù)定義的值;

-實現(xiàn)所述標(biāo)量乘法運算,與至少一個關(guān)鍵點相關(guān)聯(lián)的所述坐標(biāo)是在每次迭代中通過將該點的坐標(biāo)中的至少一個坐標(biāo)乘以所述元素c的次冪來修改的。

根據(jù)一個實施例,所述電子電路包括存儲所述元素c的內(nèi)部存儲器。

根據(jù)一個實施例,與更新所述至少一個關(guān)鍵點的所述坐標(biāo)所需的加法鏈相對應(yīng)的計算過程被預(yù)先計算,并且被存儲在所述部件內(nèi)部的所述存儲器中。

本發(fā)明的主題也涉及一種用于在域上定義的橢圓曲線E上的公鑰密碼的系統(tǒng),其包括例如如上所述的電子電路、以及在所述電路外部并且存儲所述元素c的存儲器。

根據(jù)一個實施例,與更新所述至少一個關(guān)鍵點的所述坐標(biāo)所需的加法鏈相對應(yīng)的計算過程被預(yù)先計算,并且被存儲在所述外部存儲器中。

本發(fā)明的主題也涉及一種包括指令的計算機程序,其中,當(dāng)所述程序被數(shù)據(jù)處理模塊執(zhí)行時,所述指令用于執(zhí)行如上所述的方法。

附圖說明

借助于通過非限制性說明以及參考附圖給出的以下描述,本發(fā)明的其他特性和優(yōu)勢將變得顯而易見的,其中:

-圖1給出了借助于窗口化的標(biāo)量乘法技術(shù)的橢圓曲線標(biāo)量乘法ECSM的示例性實現(xiàn);

-圖2給出了借助于蒙哥馬利階梯的橢圓曲線標(biāo)量乘法ECSM的示例性實現(xiàn);

-圖3給出了借助于wNAF上的右到左滑動窗口的橢圓曲線標(biāo)量乘法ECSM的示例性實現(xiàn);

-圖4給出了由具有長度為2的窗口的標(biāo)量乘法技術(shù)生成的示例性軌跡;

-圖5是以簡化的方式示出根據(jù)本發(fā)明的方法的圖;

-圖6給出了用于電子部件在基于依據(jù)投影特性的等價性來對點的坐標(biāo)進行更新的情況下,在橢圓曲線E上實現(xiàn)公鑰密碼算法的應(yīng)對方法的示例性實現(xiàn);

-圖7給出了用于電子部件在通過同構(gòu)來對點的坐標(biāo)進行更新的情況下,在橢圓曲線E上實現(xiàn)公鑰密碼算法的應(yīng)對方法的示例性實現(xiàn);

-圖8給出了能夠?qū)崿F(xiàn)根據(jù)本發(fā)明的應(yīng)對方法的電子系統(tǒng)。

具體實施方式

圖1給出了借助于窗口化的標(biāo)量乘法技術(shù)的橢圓曲線標(biāo)量乘法ECSM的示例性實現(xiàn)。

用作輸入100的數(shù)據(jù)為:

-與用基數(shù)2表示的私鑰(kn-1,...,k0)2對應(yīng)的整數(shù)k;

-曲線上的通常與數(shù)據(jù)的公共項對應(yīng)的點P;

-與窗口大小對應(yīng)的整數(shù)w。

應(yīng)當(dāng)注意的是,w是利用w|n來選擇的。如果情況并非如此,那么標(biāo)量就用0來左填充。

在第一步驟101中,將用作工作變量并且與部分標(biāo)量乘法對應(yīng)的點Q被初始化為0。

在第二步驟102中,預(yù)先計算2w乘以P的R[j]。

然后應(yīng)用第三步驟103,以利用長度為w的滑動窗口來執(zhí)行倍乘和加法處理。

然后將變量Q在步驟103結(jié)束時所采用的值作為結(jié)果返回,并且該值與標(biāo)量[k]P對應(yīng)。

圖2給出了借助于蒙哥馬利階梯的橢圓曲線標(biāo)量乘法ECSM的示例性實現(xiàn)。

用作輸入200的數(shù)據(jù)為:

-與用基數(shù)2表示的私鑰(kn-1,...,k0)2對應(yīng)的整數(shù)k;

-曲線上的通常與數(shù)據(jù)的公共項對應(yīng)的點P;

在第一步驟201中,與兩個部分標(biāo)量乘法對應(yīng)的兩個工作變量Q[0]和Q[1]分別被初始化成0和P。

第二步驟202執(zhí)行基于階梯的計算,并且變量Q[0]在該步驟結(jié)束時所采用的值隨后作為結(jié)果來提出203,并且其對應(yīng)于量[k]P。

圖3給出了借助于wNAF上的右到左滑動窗口的橢圓曲線標(biāo)量乘法ECSM的示例性實現(xiàn)。

正整數(shù)k的大小為w的NAF(非鄰近形式)表示對應(yīng)于以下表達式:

其中:

-每個不同于0的系數(shù)ki是奇數(shù);

--2w-1<ki<2w-1;

-kl-1≠0;

-w個連續(xù)系數(shù)中最多一個不同于0;

由于該表示具有包含不同于0的少量元素的特定特征,因此在取冪的某些情況下該表示是有用的。

該方案的用作輸入300的數(shù)據(jù)為:

-窗口的大小的NAF表示k=(kl-1,...,k0)w-NAF

-曲線上的通常與數(shù)據(jù)的公共項對應(yīng)的點P;

第一步驟301對用作對P的次冪進行累加的寄存器的變量m和變量R進行初始化。

第二步驟302將部分標(biāo)量乘法的m個變量Q[]初始化為0。

步驟303通過對P的次冪的加法和減法來執(zhí)行對變量Q[]的更新。函數(shù)abs()是返回輸入?yún)?shù)的絕對值的函數(shù)。在該步驟中,在變量i上的遞增循環(huán)的每次迭代中執(zhí)行對累加寄存器R的倍乘。

步驟304實現(xiàn)后計算階段,該階段通過加上部分乘法j.Q[j]來迭代地確定Q[1]。

變量Q[1]在步驟303結(jié)束時所采用的值隨后作為結(jié)果返回304并且其對應(yīng)于點[k]P。

圖4給出了通過具有長度為2的窗口的標(biāo)量乘法技術(shù)生成的示例性軌跡。

對于w=2,R[1]、R[2]和R[3]等于:

R[1]=[(0 1)]2P

R[2]=[(1 0)]2P

R[3]=[(1 1)]2P

在通過舉例的方式給出的該簡單的例子中,標(biāo)量k如下:

k=(10 10 11 01 10)2

將通過以下方式來計算出[k]P:

[k]P=4(4(4(4R[2]+R[2])+R[3])+R[1])+R[2]

如果攻擊者能確定在每次迭代中R[1]、R[2]、R[3]中的哪個點被加到Q上,那么標(biāo)量k能夠容易地被導(dǎo)出。相應(yīng)地,估計出在ECSM乘法的各次迭代中的電流消耗。Big-Mac攻擊利用電流消耗與被增加的點的值相關(guān)的事實。

在圖4的例子中,如果與步驟103的兩次連續(xù)的迭代相對應(yīng)的電消耗401、402的記錄是相關(guān)的,那么這意味著:

(kn-1,kn-2)=(kn-3,kn-4)

如果電消耗401、402的記錄是不相關(guān)的,那么相反,這意味著:

(kn-1,kn-2)≠(kn-3,kn-4)

Big-Mac攻擊的目的是檢測在標(biāo)量乘法計算期間是否在不同的時間操作相同的數(shù)值以取回秘密k。

為了抵抗該類型的攻擊,根據(jù)本發(fā)明的密碼方法包括基于在橢圓曲線標(biāo)量乘法期間使用至少一個關(guān)鍵點后修改該至少一個關(guān)鍵點的坐標(biāo)的應(yīng)對機制。因此,利用了橢圓曲線的特性。在該說明中,當(dāng)對電子部件的電消耗變化(其是由于點在標(biāo)量乘法的實現(xiàn)期間的使用而造成的)的觀察結(jié)果能夠揭示標(biāo)量k的全部或部分時,該點被稱為關(guān)鍵的點。

圖5是以簡化的方式說明根據(jù)本發(fā)明的方法的流程圖。

本發(fā)明涉及在電子電路中實現(xiàn)橢圓曲線公鑰密碼算法的應(yīng)對方法。因此,其在橢圓曲線E上應(yīng)用標(biāo)量乘法運算,以便在應(yīng)用應(yīng)對機制時,基于E的點P和整數(shù)k來獲得點[k]P。該運算是基于至少一個關(guān)鍵點的使用的。

根據(jù)本發(fā)明的方法包括步驟500,其提供預(yù)定義的非零常量元素c的至少一次冪。該元素c屬于域并且不同于1。通過舉例的方式,這一步驟可以使得獲得元素c本身(其事實上等于該元素的一次冪,即c^1)成為可能。在可替代的實施例中,該步驟可以使得獲得c的次冪的集合(例如,由c^1、c^2和c^3組成)成為可能。

因此,c的若干次冪可以被存儲在實現(xiàn)本發(fā)明的密碼電路中,這具有使第三方難以檢測所使用的c的值的決定性優(yōu)勢。

在一個實施例中,元素c被選擇為其階數(shù)δ嚴(yán)格大于標(biāo)量乘法的迭代次數(shù)的三倍,以防止元素一在c的次冪連續(xù)乘法期間出現(xiàn)。應(yīng)記得的是,的元素e的階數(shù)是最小的非零整數(shù)δ,以使得eδ=1。

本領(lǐng)域技術(shù)人員將容易理解,該步驟期間也可以獲取其它數(shù)據(jù),其特別包括點P的坐標(biāo)、標(biāo)量k或者工作窗口的寬度w(如果有的話)。

該方法的步驟501隨后對用于實現(xiàn)標(biāo)量乘法的關(guān)鍵點或點進行初始化。因此,根據(jù)用于實現(xiàn)標(biāo)量乘法的技術(shù),關(guān)鍵點或點的坐標(biāo)與點P的坐標(biāo)一起可以被初始化為0,或者被初始化為任何其它合適的值。

步驟502以迭代方式以及用與其相關(guān)聯(lián)的應(yīng)對,在橢圓曲線E上實現(xiàn)標(biāo)量乘法運算。所述應(yīng)對包括在每次迭代中修改至少一個關(guān)鍵點的坐標(biāo)。這些坐標(biāo)是通過將它們中的至少一個乘以在步驟500中獲取的元素c的次冪來修改的。所述元素的值例如被存儲在電子電路中或從所述電路可訪問的存儲器中。

就元素c在應(yīng)用所述方法之前被選擇和存儲的意義而言,其是預(yù)定義的。

用于實現(xiàn)標(biāo)量乘法的技術(shù)可以是從以下算法中選擇的:左到右窗口標(biāo)量乘法、蒙哥馬利階梯、在wNAF上具有右到左滑動窗口的標(biāo)量乘法。

根據(jù)本發(fā)明的方法包括兩個優(yōu)選實施例。

第一個優(yōu)選實施例是基于對至少一個關(guān)鍵點的表示的更新,以便在更新其坐標(biāo)之前和之后依據(jù)點的投影特性來保持等價性。

第二優(yōu)選實施例是基于對所使用的點的表示(即它們的坐標(biāo))的同構(gòu)的更新的。

就元素c在應(yīng)用所述方法之前被選擇和存儲的意義而言,其是預(yù)定義的。通過舉例的方式,將為實現(xiàn)根據(jù)本發(fā)明的方法的電子電路分配在其被生產(chǎn)時選擇的c的值,并且該值將被存儲在電路中。然而,這種電路的設(shè)計者可以為其生產(chǎn)的各種電路分配不同的c值。有利的是,分配多個值c使得調(diào)整安全性和實現(xiàn)復(fù)雜度之間的折衷成為可能。應(yīng)當(dāng)注意的是,為了實際修改坐標(biāo),c必須不同于一。

關(guān)鍵點或點的坐標(biāo)可以在各個時間處來更新:

-在迭代開始時;

-在迭代結(jié)束時;

-諸如倍乘或加法之類的橢圓曲線運算之后;

-或者在橢圓曲線運算期間。

由于關(guān)鍵點的一個或多個表示在所述點的每次使用之后得以更新,所以可以保護該電路免受水平攻擊。

包括該應(yīng)對機制的ECSM乘法的效果特別取決于所選擇的用于對點的一個坐標(biāo)或多個坐標(biāo)進行更新的時間。該時間可以被選擇為避免折衷安全性。通過舉例的方式,如果如由Chevallier-Mames,B.、Ciet,M.、和Joye,M.在2004年的“IEEE Transactions on Computer(關(guān)于計算機的IEEE會議)”第760-768頁發(fā)表的、名為“Low-Cost Solutions for Preventing Simple Side-Channel Analysis:Side-Channel Atomicity(用于防止簡單邊信道分析的低成本解決方案:邊信道原子數(shù))”的文章中給出的原子應(yīng)對方法是與在wNAF上具有右到左滑動窗口的標(biāo)量乘法一起應(yīng)用的,那么可以在每個原子塊之后有利地應(yīng)用所述更新。

應(yīng)當(dāng)注意的是,用于基于坐標(biāo)的等價性來對起始點的坐標(biāo)進行隨機化的方法在歐洲專利公開EP1166494B1中得以描述。術(shù)語隨機化通常是指使得在數(shù)據(jù)處理方案中引入隨機元素成為可能的技術(shù)。在該公開中,隨機地提取域的元素,從而使得有可能在ECSM標(biāo)量乘法開始時對所述起始點進行隨機化。

另一種隨機化方法是在歐洲專利公開EP1381936B1中公開的,并且具體地是基于通過同構(gòu)來隨機地繪出起始曲線。在該情況下,域的元素被隨機地提取,以便在ECSM標(biāo)量乘法開始時對所述曲線和點進行隨機化。

這兩種方案使得有可能抵抗DPA(差分功率分析)和CPA(選擇明文攻擊)類型的攻擊。然而,即使實現(xiàn)了這些方案,也可能面臨Big-Mac攻擊和其它所謂的水平攻擊。應(yīng)記得的是,當(dāng)對密碼電路的電消耗的信號表示的單個軌跡進行攻擊時,該攻擊被稱為水平的。當(dāng)對密碼電路的電消耗的信號表示的多個軌跡進行攻擊時,該攻擊被稱為垂直的。在本發(fā)明的框架中,至少一個關(guān)鍵點的坐標(biāo)在標(biāo)量乘法的每次迭代中得以修改,從而導(dǎo)致大多水平攻擊不起作用。

與這些技術(shù)相反,根據(jù)本發(fā)明的方法使用用于對坐標(biāo)進行更新的預(yù)定義常量,因此提供若干決定性的優(yōu)勢。

因此,與以上引用的現(xiàn)有技術(shù)相比,根據(jù)本發(fā)明的方法有利地允許實現(xiàn)降低的復(fù)雜度。事實上,隨機數(shù)的生成本身是復(fù)雜的。這通常需要在用于實現(xiàn)基于橢圓曲線的密碼方法的電子電路外部使用TRNG(真隨機數(shù)生成器)或者PRNG(偽隨機數(shù)生成器)。此外,這些生成器容易受到如在以下文章中描述的生成器阻塞類型的攻擊:由T.Markettos和S.W.Moore在CHES 2009的第317-331頁上發(fā)表的、名為“The Frequency Injection Attack on Ring-Oscillator-Based True Random Number Generators(在基于環(huán)形振蕩器的真隨機數(shù)生成器上的頻率注入攻擊)”。

另一個優(yōu)點是實現(xiàn)關(guān)鍵點或點的坐標(biāo)乘以預(yù)定義的常量元素c的方式能夠通過例如使用加法鏈得以優(yōu)化,這在隨機提取的情況下是不可能的。

此外,當(dāng)用于修改坐標(biāo)的元素被隨機地提取時,其可能潛在地是大的。通過說明的方式,在兩次機會中存在其高階比特等于1的一次機會。這帶來的效果將是隨后要求長乘法,這就計算資源而言是昂貴的。

圖6給出了用于電子部件在基于依據(jù)投影特性的等價性來對點的坐標(biāo)進行更新的情況下,在橢圓曲線E上實現(xiàn)公鑰密碼算法的應(yīng)對方法的示例性實現(xiàn)。

橢圓曲線上的點通常被表示為Jacobian(雅克比)坐標(biāo),在本說明中被稱作投影坐標(biāo)。對于點P而言,使用以下記法:

P=(X,Y,Z)

在該實施方式中,使用了針對橢圓曲線的依據(jù)投影特性的等價性。依據(jù)投影特性的等價性意味著,如果是基域,點P的依據(jù)投影坐標(biāo)(X,Y,Z)的表示相當(dāng)于由(c2X,c3Y,cZ)定義的表示,其中(等于集合其中值0被移除)。另有說明,一個且相同的點P可以借助于若干坐標(biāo)集合來表示,坐標(biāo)集合也被稱作點表示。

依據(jù)投影特性的等價性意味著,在域中利用第一表示來執(zhí)行的任一操作給出相同的結(jié)果,就如同其是利用第二表示來應(yīng)用的一樣,依據(jù)投影特性是等價的。

在本發(fā)明的該實施例中,域的預(yù)定義元素c被用于對用于實現(xiàn)ECSM乘法的至少一個點的表示進行更新。該更新是通過以下方式來執(zhí)行的:以這樣的方式對與該點相關(guān)聯(lián)的坐標(biāo)集合進行修改,使得遵循依據(jù)投影特性的等價性。

在一個實施例中,與在其上構(gòu)建曲線的基群的基數(shù)相比,c被選擇為小的。更準(zhǔn)確地說,用于編碼c的比特數(shù)量被選擇為小于或等于該曲線的基群的基數(shù)的一半。通過舉例的方式,如果群的元素是在256個比特上編碼的,那么基數(shù)是2256,并且c可以被選擇在2和2128之間。這使得有可能避免使用過大的值并因此降低由坐標(biāo)改變而引入的計算復(fù)雜度。c的值可以有利地被選擇為等于3。

圖6和圖7是本發(fā)明的利用通過左到右窗口標(biāo)量乘法的ECSM計算的實現(xiàn)的兩個例子。本領(lǐng)域技術(shù)人員可以容易地設(shè)想到本發(fā)明的針對其它ECSM計算的實現(xiàn),例如,蒙哥馬利階梯或者在wNAF上具有右到左滑動窗口的標(biāo)量乘法技術(shù)。

圖6的例子是基于通過窗口化的標(biāo)量乘法的ECSM計算。因此,如借助于圖1已經(jīng)闡明的,在該實施例中,所述方法包括輸入數(shù)據(jù)600以及實現(xiàn)步驟601和602,其分別對應(yīng)輸入數(shù)據(jù)100和步驟101和102。

隨后應(yīng)用第三步驟603,以便以與針對步驟103的相同的方式,利用長度為w的滑動窗口來執(zhí)行倍乘和加法處理,但是另外利用點R[v]的表示(XR[v],YR[v],ZR[v])(其是在迭代中使用的,同時遵循依據(jù)投影特性的等價性)的每次迭代結(jié)束時的更新,。應(yīng)當(dāng)注意的是,迭代與在處理窗口中執(zhí)行的處理相對應(yīng)。

該更新以下述方式執(zhí)行:

(XR[v],YR[v],ZR[v])←(c2XR[v],c3YR[v],cZR[v])

變量Q[1]在步驟603結(jié)束時采用的值隨后作為結(jié)果提供604并且其對應(yīng)于點[k]P。

圖7給出了用于電子器件利用通過同構(gòu)對點的坐標(biāo)的更新來在橢圓曲線E上實現(xiàn)公鑰密碼算法的應(yīng)對方法的示例性實現(xiàn)。

橢圓曲線是根據(jù)由下述表達式給出的降低的Weierstrass(維爾斯特拉斯)等式E定義的:

E:y2=x3+ax+b

考慮根據(jù)下述表達式給出的降低的Weierstrass等式E′所定義的第二橢圓曲線:

E′:y2=x3+a′x+b′

可以證明,如果存在E對于E′而言是同構(gòu)的,使得:

a′=ac4

b′=bc6

在這種情況下,在E和E′之間的同構(gòu)是通過下述表達式定義的:

就像基于通過依據(jù)投影特性的等價性進行的對坐標(biāo)的修改的先前實施例那樣,屬于域的元素c是提前選擇的,并且被存儲在實現(xiàn)所述方法的電子電路中。

在將關(guān)鍵點(X,Y,Z)的表示用于實現(xiàn)ECSM所需的操作之后,應(yīng)用且對全部的點表示進行更新。

如果參數(shù)a、b被用于諸如點的倍乘或加法之類的橢圓曲線運算,那么它們也被更新。

圖7的例子是基于根據(jù)窗口化的標(biāo)量乘法的ECSM計算的。因此,如借助于圖1已經(jīng)闡明的,在該實施例中,所述方法包括輸入數(shù)據(jù)700和實現(xiàn)步驟701和702,其分別對應(yīng)輸入數(shù)據(jù)100和步驟101和102。

隨后應(yīng)用第三步驟703,以與針對步驟103相同的方式,利用長度為w的滑動窗口來執(zhí)行倍乘和加法處理,但是另外利用了在關(guān)鍵點Q的表示的每次迭代結(jié)束時的更新,利用下述表達式執(zhí)行上述操作:

(XQ,YQ)←(c2XQ,c3YQ)

此外,關(guān)鍵點R[j]的2w個表示的集合是利用下述表達式來更新的:

(XR[j],YR[j])←(c2XR[j],c3YR[j])

最后,在其被使用之后,利用下述表達式來更新參數(shù):

a←c4a

b←c6b

應(yīng)用704反同構(gòu)以將點Q的坐標(biāo)重寫到起始橢圓曲線上。

變量Q在步驟704結(jié)束時采用的值隨后作為結(jié)果被提供705,并且其對應(yīng)于標(biāo)量[k]P。

對于所描述的能夠?qū)崿F(xiàn)坐標(biāo)改變的兩個替代方式中的每個方式,使用的元素c是必要的。至少一個關(guān)鍵點處的坐標(biāo)可以通過利用最優(yōu)加法鏈計算c2X、c3Y、cZ或c2X、c3Y得以更新,以避免必須在該域內(nèi)計算乘法。

在兩種情況下,對c的小值的選擇是特別合適的。另外,優(yōu)選地選擇元素以使得乘以c、c2、c3、c4、c6或c2、c3、c4、c6可以通過非常短的加法鏈來執(zhí)行。更準(zhǔn)確地說,c被選擇為小于或等于曲線的基群的基數(shù)的一半。通過這種方式,對坐標(biāo)的更新僅需要該域中的少量加法,這比實現(xiàn)乘法成本低的多。例如,通過選擇c=3,乘以c可以被執(zhí)行基域中的兩次加法,乘以c2=9可以被執(zhí)行為四次加法,以及乘以c3=27可以被執(zhí)行為六次加法。對于小數(shù)的加法鏈的大小可以在http://oeis.org/A003313處獲得。對c的選擇允許大量可能的優(yōu)化,包括加法鏈。由于c的值是預(yù)定義的并且是固定的,例如有可能提前確定與更新關(guān)鍵點坐標(biāo)所需的加法鏈相對應(yīng)的計算過程,可以提前準(zhǔn)備。因此,這些計算鏈可以有利地集成在用于實現(xiàn)基于橢圓曲線的密碼運算的電子部件中。

根據(jù)本發(fā)明的一個方面,以下根據(jù)c的次冪的乘法c、c^2和c^3是利用加法鏈來確定的,在這種情況下c被選擇為使得所述鏈的長度最小化。c^2和c^3分別表示c的2次冪或3次冪。

圖8給出能夠?qū)崿F(xiàn)根據(jù)本發(fā)明的應(yīng)對方法的電子系統(tǒng)。該系統(tǒng)包括連接到內(nèi)部通信總線800的中央處理單元(CPU)801。隨機存取存儲器(RAM)807也連接到總線。

另外,該系統(tǒng)包括大容量存儲外圍控制器802,其功能是管理對大容量存儲器(例如,硬盤803)的訪問。

大容量存儲器存儲計算機程序指令和數(shù)據(jù),所述計算機程序指令和數(shù)據(jù)使得實現(xiàn)用于分配臨時認(rèn)證數(shù)據(jù)的方法。

大容量存儲器可以由任意形式的非易失性存儲器構(gòu)成,例如EPROM、EEPROM、閃存、諸如內(nèi)部硬盤和可移動盤的磁盤、磁-光盤和CD-ROM盤804。

該系統(tǒng)還包括用于管理對電信網(wǎng)絡(luò)806的訪問的網(wǎng)絡(luò)適配器805。

可選地,該設(shè)備也包括觸覺裝置809,例如,光標(biāo)控制設(shè)備、鍵盤或任何其它類似的裝置。因此,可以在設(shè)備中使用光標(biāo)控制裝置以使得用戶能夠?qū)⒐鈽?biāo)定位在屏幕808上的給定位置處。此外,光標(biāo)驅(qū)動設(shè)備使得用戶能夠選擇各個指令并生成驅(qū)動信號。光標(biāo)控制設(shè)備可以是鼠標(biāo),所述鼠標(biāo)的按鈕中的一個按鈕用于觸發(fā)輸入信號的生成。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1