專利名稱::基于隨機(jī)化帶符號標(biāo)量乘法的橢圓曲線抗旁路攻擊方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種信息安全
技術(shù)領(lǐng)域:
的方法,具體是一種基于隨機(jī)化帶符號標(biāo)量乘法的橢圓曲線抗旁路攻擊方法。
背景技術(shù):
:隨著密碼破解技術(shù)的發(fā)展,旁路攻擊對智能卡等嵌入式設(shè)備構(gòu)成了嚴(yán)重的威脅。功耗攻擊(PA)是一種有效的旁路攻擊的技術(shù),這種技術(shù)通過監(jiān)視智能卡的能量消耗,利用統(tǒng)計(jì)學(xué)的方法,在有限次的密碼運(yùn)算內(nèi),就可以恢復(fù)出智能卡中的私鑰信息。由于橢圓曲線密碼(ECC)系統(tǒng)在計(jì)算速度、安全強(qiáng)度等方面的優(yōu)越表現(xiàn),使得ECC在智能卡上的實(shí)現(xiàn)更有吸引力,因此研究能夠有效對抗功耗攻擊的ECC密碼算法對于提高安全芯片及安全設(shè)備的安全性具有重要意義。經(jīng)對現(xiàn)有技術(shù)的文獻(xiàn)檢索發(fā)現(xiàn),JaeCheolHa等在國際會議CryptographicHardwareandEmbeddedSystems-CHES'02(2002年密碼硬件及嵌入式系統(tǒng)國際會議)上發(fā)表的"Randomizedsigned-scalarmultiplicationofECCtoresistpowerattacks"(抵御功耗攻擊的隨機(jī)化帶符號標(biāo)量乘法的橢圓曲線密碼體制),該文中提出一種基于私鑰隨機(jī)化處理技術(shù)的ECC的標(biāo)量乘法過程,以提高抗旁路攻擊能力的方法,具體方法為首先利用該文提出的隨機(jī)化帶符號二進(jìn)制編碼方法表,將私鑰隨機(jī)地映射為等值的帶符號二進(jìn)制數(shù)(BSD)表示方式,再通過非相鄰形式(NAF)的點(diǎn)乘算法進(jìn)行計(jì)算。其不足在于計(jì)算過程中的中間狀態(tài)及中間狀態(tài)的值都是十分有限的,易于遭受基于中間狀態(tài)的碰撞攻擊。
發(fā)明內(nèi)容本發(fā)明的目的在于克服現(xiàn)有技術(shù)中的不足,提供一種基于隨機(jī)化帶符號標(biāo)量乘法的橢圓曲線抗旁路攻擊方法,使其提高了方法實(shí)現(xiàn)的安全性,可以用于密碼理論、密碼破解、安全芯片設(shè)計(jì)、智能卡設(shè)計(jì)等領(lǐng)域。本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的,本發(fā)明首先將橢圓曲線密碼的二進(jìn)制密鑰表示為隨機(jī)化帶符號二進(jìn)制數(shù)形式,然后基于橢圓曲線點(diǎn)乘的隨機(jī)化加法減法鏈,得到實(shí)現(xiàn)隨機(jī)化帶符號標(biāo)量點(diǎn)乘的有限狀態(tài)機(jī),再基于該有限狀態(tài)機(jī)完成橢圓曲線點(diǎn)乘運(yùn)算。該方案將密鑰的隨機(jī)化處理與處理過程的隨機(jī)化處理相結(jié)合,實(shí)現(xiàn)了橢圓曲線密碼抵抗旁路攻擊能力的提高。所述的隨機(jī)化帶符號二進(jìn)制數(shù)形式,是指在數(shù)的非相鄰形式編碼表示中通過引入隨機(jī)數(shù)加入隨機(jī)性,在數(shù)的編碼轉(zhuǎn)換過程中借助輔助進(jìn)位變量,將橢圓曲線密碼的二進(jìn)制密鑰A表示為所述隨機(jī)化帶符號二進(jìn)制數(shù)形式"。設(shè)正整數(shù)A的二進(jìn)制表示為*=(0_2j。)2,即A為一/7比特的二進(jìn)制數(shù)。引入的隨機(jī)數(shù)r也為t7比特,,=(^_2.../"。)2,輔助進(jìn)位變量。為(^1)比特,其中最低位C。=0,即c^(c"Cm..^0)2。主要步驟為首先從A的右邊最低有效位A。開始,由A。、A及r。、c。,得到隨機(jī)化編碼數(shù)位d和輔助進(jìn)位變量的次高位c1;然后再從A的右邊次低位A開始,由A、A2、ii及在上一步得到的Cl,得到隨機(jī)化編碼數(shù)位o!和下一個輔助二進(jìn)制進(jìn)位值c2;重復(fù)上述過程,每步A的二進(jìn)制位都向左移一位,每次兩比特依次計(jì)算。當(dāng)達(dá)到A的二進(jìn)制位U寸,由肊2、々w、/V2及;2可得oU和c一最后,在A的最高位L的左邊增加一個0位,即設(shè)&=0,由^、A、rw及cw可得aU和c。至此,由連續(xù)計(jì)算出的d(J'=0,1,/^1)及c",得g^(Cn,d,oU,…,fi(,oO。所述每一步中由允+,、允、c,及r,確定cw、d的過程是一次查隨機(jī)化帶符號二進(jìn)制編碼方法表的過程。具體的,若("Ac力卜(OOOO),則(c"XOO);=(0001),則(")=(00);a+Ac)=(0010),,則(")=(01);=(0011),則("):=(11);(tAc,,,)=(0100),則(")=《01);=(0101),則(d《11);a+Ac)=(oiio),則(d:(10);=(0111),則(")=(10);("Ac)=(1000),,則(")=(00);=(1001),則(d《00);a"c)=aoio),則(d(11);=(皿1),則(")=:(01);(A,+Ac,》=(1100),則(")=(li);=(1101),則(")=(01);(以》=(1110),,則(c(10);=(mi),則"")=(10)。所述的非相鄰形式,是指重量最輕的帶符號二進(jìn)制表達(dá)形式。所述的帶符號二進(jìn)制表達(dá)形式,是指一個整數(shù)^被表示成<formula>complexformulaseeoriginaldocumentpage7</formula>,其中T=—1的形式。所述的基于橢圓曲線點(diǎn)乘的隨機(jī)化加法減法鏈,是指將所述隨機(jī)化帶符號二進(jìn)制形式密鑰"中最少兩個連續(xù)的l,即(1廣表示為10"—11,得到其新的等值加法減法鏈表示W(wǎng);然后在點(diǎn)乘運(yùn)算過程中通過插入一個隨機(jī)變量來決定運(yùn)算執(zhí)行的路徑,即在執(zhí)行的每一步隨機(jī)生成e(f0或1),根據(jù)不同的e值,執(zhí)行不同的運(yùn)算序列。所述的有限狀態(tài)機(jī),是指:所述隨機(jī)化加法減法鏈實(shí)現(xiàn)方案的具體點(diǎn)乘過程。所述有限狀態(tài)機(jī)共有5個狀態(tài)(state),分別記為狀態(tài)0、狀態(tài)1、狀態(tài)11、狀態(tài)l和狀態(tài)ll。密鑰A的所述隨機(jī)化帶符號二進(jìn)制形式的加法減法鏈表示W(wǎng)是所述有限狀態(tài)機(jī)的輸入變量;所述有限狀態(tài)機(jī)的初始條件是/M),^抓其中#為待加密明文在橢圓曲線上的點(diǎn)的表示,八。均為橢圓曲線上的點(diǎn);所述有限狀態(tài)機(jī)的運(yùn)行結(jié)果為Wft其狀態(tài)轉(zhuǎn)換過程如下首先,判斷^是否等于0。若^=0,則如果當(dāng)前運(yùn)行狀態(tài)為ll或ll,返回A。;否則,返回尸。若^#0,則根據(jù)^的右邊最低位"及當(dāng)前所處狀態(tài)執(zhí)行不同的操作如下若4=0,如果當(dāng)前狀態(tài)為狀態(tài)O,則將當(dāng)前的。值乘以2,作為新的。值;如果當(dāng)前狀態(tài)為l或i,則將當(dāng)前的C值乘以2,作為新的。值,并將狀態(tài)轉(zhuǎn)換為狀態(tài)0;如果當(dāng)前狀態(tài)為ll,則將當(dāng)前尸值與。值相加,作為新的P值,然后將當(dāng)前的。值乘以2,作為新的。值,并將狀態(tài)轉(zhuǎn)換為狀態(tài)0;如果當(dāng)前狀態(tài)為11,則用當(dāng)前尸值減去。值,作為新的尸值,然后將當(dāng)前的P值乘以2,作為新的。值,并將狀態(tài)轉(zhuǎn)換為狀態(tài)O。若4=1,如果當(dāng)前狀態(tài)為狀態(tài)0或1,則將當(dāng)前P值與。值相加,作為新的尸值,然后將當(dāng)前的。值乘以2,作為新的^值,并將狀態(tài)轉(zhuǎn)換為狀態(tài)l;如果當(dāng)前狀態(tài)為l,則隨機(jī)選取e等于O或l,當(dāng)e為l時,將當(dāng)前尸值與^值相力口,作為新的P值,然后將當(dāng)前的。值乘以2,作為新的P值;當(dāng)e為0時,用當(dāng)前尸值減去。值,作為新的尸值,然后將當(dāng)前的P值乘以2,作為新的。值,并將狀態(tài)轉(zhuǎn)換為ll;如果當(dāng)前狀態(tài)為ll,也隨機(jī)選擇e等于O或l,當(dāng)e為l時,將當(dāng)前的。值乘以2,作為新的。值;當(dāng)e為O時,將當(dāng)前尸值加上。值,作為新的尸值,然后將當(dāng)前的P值乘以2,作為新的。值,并將狀態(tài)轉(zhuǎn)換為l;如果當(dāng)前狀態(tài)為ll,則將當(dāng)前的。值乘以2,作為新的^值,并將狀態(tài)轉(zhuǎn)換為l。若4=1,如果當(dāng)前狀態(tài)為0或1,則用當(dāng)前尸值減去。值,作為新的尸值,然后將當(dāng)前的。值乘以2,作為新的。值,并將狀態(tài)轉(zhuǎn)換為l;如果當(dāng)前狀態(tài)為11,則將當(dāng)前的C值乘以2,作為新的^值,并將狀態(tài)轉(zhuǎn)換為l;如果當(dāng)前狀態(tài)為l,則隨機(jī)選取e值等于O或l,當(dāng)e為l時,則用當(dāng)前尸值減去。值,作為新的尸值,然后將當(dāng)前的P值乘以2,作為新的。值;當(dāng)e為O時,則將當(dāng)前的尸值加上C值,作為新的尸值,然后將當(dāng)前的P值乘以2,作為新的P值,并將狀態(tài)轉(zhuǎn)換為ll;如果當(dāng)前狀態(tài)為ll,則隨機(jī)選取e值等于O或l,當(dāng)e為l時,將當(dāng)前的P值乘以2,作為新的^值;當(dāng)e為O時,則用當(dāng)前的尸值減去P值,作為新的尸值,然后將當(dāng)前的C值乘以2,作為新的。值,并將狀態(tài)轉(zhuǎn)換為l。執(zhí)行完上述一次完整的狀態(tài)轉(zhuǎn)換過程后,取w-l"'/2」,再重復(fù)上述狀態(tài)轉(zhuǎn)換過程,直至^等于0為止,得到的返回值就是AA^W。。本發(fā)明的方法能夠獲得較高的橢圓曲線密碼體制實(shí)現(xiàn)安全性。該方法將隨機(jī)化帶符號形式密鑰策略和隨機(jī)化加法-減法鏈的方法相結(jié)合,使得計(jì)算過程的中間狀態(tài)數(shù)由常規(guī)二進(jìn)制表示的3個(狀態(tài)0、狀態(tài)1及狀態(tài)ll)增加為5個(狀態(tài)0、狀態(tài)1、狀態(tài)11、狀態(tài)l和狀態(tài)ll),相應(yīng)的,狀態(tài)轉(zhuǎn)換關(guān)系由6個增加為19個,大大增加了利用中間狀態(tài)進(jìn)行旁路攻擊的難度;與此同時,計(jì)算負(fù)擔(dān)卻不會有太大的增加。該方法表明采用隨機(jī)化帶符號二進(jìn)制形式表示橢圓曲線密碼體制的密鑰,再結(jié)合標(biāo)量點(diǎn)乘的隨機(jī)化加法減法鏈方案來實(shí)現(xiàn)過程的隨機(jī)化處理,能夠提高橢圓曲線密碼體制防范功耗攻擊的能力。具體實(shí)施例方式下面對本發(fā)明的實(shí)施例作詳細(xì)說明本實(shí)施例在以本發(fā)明技術(shù)方案為前提下進(jìn)行實(shí)施,給出了詳細(xì)的實(shí)施方式和具體的操作過程,但本發(fā)明的保護(hù)范圍不限于下述的實(shí)施例。設(shè)實(shí)施例擬對明文私采用密鑰A進(jìn)行橢圓曲線加密處理。按照橢圓曲線密碼體制,首先將明文i/轉(zhuǎn)換為某一橢圓曲線上的點(diǎn)ft然后通過計(jì)算橢圓曲線上的點(diǎn)的標(biāo)量乘法得到在同一橢圓曲線上的密文的點(diǎn)的表示。整個發(fā)明實(shí)現(xiàn)過程下1.首先將密鑰A表示為隨機(jī)化BSD形式。假設(shè)密鑰A的二進(jìn)制表示為<formula>complexformulaseeoriginaldocumentpage9</formula>首先通過一隨機(jī)數(shù)發(fā)生器,得到一個"比特的隨機(jī)數(shù)<formula>complexformulaseeoriginaldocumentpage9</formula>并引入輔助進(jìn)位變量的<formula>complexformulaseeoriginaldocumentpage9</formula>初始情況下設(shè)其第0位c。=0;在A的最高位Aw前引入一零位,即將A變?yōu)?1比特的二進(jìn)制表示,取&=0。然后從A的右邊最低有效位開始,每次先將A的二進(jìn)制位都向左移一位,每步兩比特依次向左計(jì)算,按照隨機(jī)化的帶符號二進(jìn)制編碼方法表,第i位的隨機(jī)化BSD編碼位《和第(i+l)位的二進(jìn)制進(jìn)位值<formula>complexformulaseeoriginaldocumentpage9</formula>被連續(xù)地被計(jì)算出,從而可得到A的隨機(jī)化BSD形式<formula>complexformulaseeoriginaldocumentpage9</formula>。例如,一個二進(jìn)制數(shù)h(111011110)^(478U,用隨機(jī)數(shù)廣(101010011)2,生成A的隨機(jī)化BSD形式的過程為首先,AA。=10,c。=0,r。=l,査表得c產(chǎn)O,然后,A的比特位指針向左移一位,考慮AA位,AA=11,d=0,11=1,査表得c2=0,oH);重復(fù)上述過程,可得o^6J5oW3J2oW。=00100110,CsC7C6C5C4C3C2dOpl11111000;最后在A的最左邊增加一位0,即A9=0,由>U"8=01,c8=l,r8=l,査表得cel,+0。故d=(c9J5gW"oW。)。所以,該二進(jìn)制數(shù)^=(111011110)2,用隨機(jī)數(shù)廣(101010011)2隨機(jī)化后的隨機(jī)化BSD形式為<formula>complexformulaseeoriginaldocumentpage9</formula>。表1.隨機(jī)化的帶符號二進(jìn)制編碼方法表<table>complextableseeoriginaldocumentpage9</column></row><table><table>complextableseeoriginaldocumentpage10</column></row><table>2.考察上述得到的d將^中連續(xù)的1,即(1)"表示為10"—4,得到其加法減法鏈表示^,作為所述有限狀態(tài)機(jī)的輸入。3.設(shè)尸、。為所取橢圓曲線上的兩點(diǎn),取所述有限狀態(tài)機(jī)的初始狀態(tài)為/M),^浙然后按照所述基于有限狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換關(guān)系,執(zhí)行橢圓曲線上點(diǎn)的標(biāo)量乘運(yùn)算。按照有限狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換關(guān)系執(zhí)行過程如下(1)若">0,則執(zhí)行下述操作1.1若flH),貝U:1.1.1若state=0,則^=2*G1.1.2若state=l,則&2*。,state=0;1.1.3若state=ll,則/^,ft&2*astate=0;1.1.4若state=l,則^=2*^,state=0;1.1.5若state=l1,則/^產(chǎn)G&2*P,state=0;1.2若d=l,貝K:1.2.1若state二O,則盧"'f2《state=l;1.2.2若state=l,則1.2.2.1errand();〃取0或11.2.2.2若f1,則/^/^G&2*ft1.2.2.3否則,^T^fi&2*。,state=ll;1.2.3若state=ll,則1.2.3.1^rand();〃取0或11.2.3.2若e=l,則&2*ft1.2.3.3否則,^Aft&2*ftstate=l;1.2.4若state:l,則A/^G^=2*Qstate=l1.2.5若state=l1,貝ij&2*。,state=l;1.3若d,則:1.3.1若state=0,則/t^G^2*。,state=l1.3.2若state^,則/^/^ft&2*Gstate=l1.3.3若state二ll,貝Uf2《state=l;1.3.4若state二l,貝U:1.3.4.1errand();〃取0或11.3.4.2若fl,則&2*。;1.3.4.3否則,A丹ft^=2*。,state二ll;1.3.5若state=l1,貝lj:1.3.5.1erand();〃取0或11.3.5.2若el,則^2*"1.3.5.3否則,Z^^ft&2*。,state二l;(2)d'=LJ'/2」;若^0,執(zhí)行步驟3;否則,重復(fù)上述步驟l;(3)若state=ll或state=l1,返回P+Q否則,返回P。上述過程結(jié)束后由所述有限狀態(tài)機(jī)得到的返回值即為所求密文在橢圓曲線上的點(diǎn)。最后再將該點(diǎn)按照橢圓曲線密碼體制重新編碼,即可得密文的十六進(jìn)制串。本發(fā)明表明采用隨機(jī)化帶符號二進(jìn)制形式表示橢圓曲線密碼體制的密鑰,再結(jié)合標(biāo)量點(diǎn)乘的隨機(jī)化加法減法鏈方案來實(shí)現(xiàn)過程的隨機(jī)化處理,能夠提高橢圓曲線密碼體制防范功耗攻擊的能力。權(quán)利要求1、一種基于隨機(jī)化帶符號標(biāo)量乘法的橢圓曲線抗旁路攻擊方法,其特征在于,首先將橢圓曲線密碼的二進(jìn)制密鑰表示為隨機(jī)化帶符號二進(jìn)制數(shù)形式,然后基于橢圓曲線點(diǎn)乘的隨機(jī)化加法減法鏈,得到實(shí)現(xiàn)隨機(jī)化帶符號標(biāo)量點(diǎn)乘的有限狀態(tài)機(jī),再基于該有限狀態(tài)機(jī)完成橢圓曲線點(diǎn)乘運(yùn)算,實(shí)現(xiàn)了橢圓曲線密碼抵抗旁路攻擊能力的提高。2、根據(jù)權(quán)利要求1所述的基于隨機(jī)化帶符號標(biāo)量乘法的橢圓曲線抗旁路攻擊方法,其特征是,所述的隨機(jī)化帶符號二進(jìn)制數(shù)形式,是指在數(shù)的非相鄰形式編碼表示中通過引入隨機(jī)數(shù)加入隨機(jī)性,在數(shù)的編碼轉(zhuǎn)換過程中借助輔助進(jìn)位變量,將橢圓曲線密碼的二進(jìn)制密鑰A表示為所述隨機(jī)化帶符號二進(jìn)制數(shù)形式J,設(shè)正整數(shù)*的二進(jìn)制表示為*=(、—入—2...A。)2,即A為一/7比特的二進(jìn)制數(shù),引入的隨機(jī)數(shù)r也為/7比特,/=(/—/"^…r。)2,輔助進(jìn)位變量c為/H比特,其中最低位CfO,g卩C^(CaCw...。0)2,步驟為首先從A的右邊最低有效位A。開始,由Ao、A及r。、C。,得到隨機(jī)化編碼數(shù)位d和輔助進(jìn)位變量的次高位"然后再從A的右邊次低位A開始,由A、fe、A及在上一步得到的C1,得到隨機(jī)化編碼數(shù)位o;和下一個輔助二進(jìn)制進(jìn)位值"重復(fù)上述過程,每步A的二進(jìn)制位都向左移一位,每次兩比特依次計(jì)算,當(dāng)達(dá)到A的二進(jìn)制位A"m時,由&2、ti、/V2及C^得flU和最后,在A的最高位L的左邊增加一個O位,即設(shè)先=0,由L、L及Ch得心和C。,至此,由連續(xù)計(jì)算出的aO0,l,卞l)及C,,得oMc",d,oU,…,d,g0。3、根據(jù)權(quán)利要求1所述的基于隨機(jī)化帶符號標(biāo)量乘法的橢圓曲線抗旁路攻擊方法,其特征是,所述的非相鄰形式,是指重量最輕的帶符號二進(jìn)制表達(dá)形式。4、根據(jù)權(quán)利要求1所述的基于隨機(jī)化帶符號標(biāo)量乘法的橢圓曲線抗旁路攻擊方法,其特征是,所述的帶符號二進(jìn)制表達(dá)形式,是指一個整數(shù)A被表示成<formula>complexformulaseeoriginaldocumentpage3</formula>的形式。5、根據(jù)權(quán)利要求1所述的基于隨機(jī)化帶符號標(biāo)量乘法的橢圓曲線抗旁路攻擊方法,其特征是,所述的基于橢圓曲線點(diǎn)乘的隨機(jī)化加法減法鏈,是指將所述隨機(jī)化帶符號二進(jìn)制形式密鑰J中最少兩個連續(xù)的i,即(i廣表示為i(T—'i,得到其新的等值加法減法鏈表示0%然后在點(diǎn)乘運(yùn)算過程中通過插入一個隨機(jī)變量來決定運(yùn)算執(zhí)行的路徑,即在執(zhí)行的每一步隨機(jī)生成e,fO或l,根據(jù)e值執(zhí)行相應(yīng)運(yùn)算序列。6、根據(jù)權(quán)利要求1所述的基于隨機(jī)化帶符號標(biāo)量乘法的橢圓曲線抗旁路攻擊方法,其特征是,所述的有限狀態(tài)機(jī)共有5個狀態(tài),分別記為狀態(tài)0、狀態(tài)l、狀態(tài)ll、狀態(tài)l和狀態(tài)ll,密鑰々的所述隨機(jī)化帶符號二進(jìn)制形式的加法減法鏈表示"'是所述有限狀態(tài)機(jī)的輸入變量,所述有限狀態(tài)機(jī)的初始條件是/M),^私其中#為待加密明文在橢圓曲線上的點(diǎn)的表示,八^均為橢圓曲線上的點(diǎn);所述有限狀態(tài)機(jī)的運(yùn)行結(jié)果為W"7、根據(jù)權(quán)利要求1或6所述的基于隨機(jī)化帶符號標(biāo)量乘法的橢圓曲線抗旁路攻擊方法,其特征是,所述的有限狀態(tài)機(jī),其狀態(tài)轉(zhuǎn)換過程如下首先,判斷"是否等于0,若^=0,則如果當(dāng)前運(yùn)行狀態(tài)為ll或il,返回A。;否則,返回尸,若^#0,則根據(jù)^的右邊最低位d及當(dāng)前所處狀態(tài)執(zhí)行操作如下若£/=0,如果當(dāng)前狀態(tài)為狀態(tài)O,則將當(dāng)前的。值乘以2,作為新的。值;如果當(dāng)前狀態(tài)為l或l,則將當(dāng)前的C值乘以2,作為新的。值,并將狀態(tài)轉(zhuǎn)換為狀態(tài)0;如果當(dāng)前狀態(tài)為ll,則將當(dāng)前尸值與。值相加,作為新的尸值,然后將當(dāng)前的。值乘以2,作為新的^值,并將狀態(tài)轉(zhuǎn)換為狀態(tài)0;如果當(dāng)前狀態(tài)為11,則用當(dāng)前P值減去。值,作為新的P值,然后將當(dāng)前的。值乘以2,作為新的P值,并將狀態(tài)轉(zhuǎn)換為狀態(tài)O;若4=1,如果當(dāng)前狀態(tài)為狀態(tài)0或1,則將當(dāng)前尸值與。值相加,作為新的P值,然后將當(dāng)前的。值乘以2,作為新的。值,并將狀態(tài)轉(zhuǎn)換為狀態(tài)l;如果當(dāng)前狀態(tài)為l,則隨機(jī)選取e等于O或l,當(dāng)e為l時,將當(dāng)前P值與P值相加,作為新的尸值,然后將當(dāng)前的。值乘以2,作為新的^值;當(dāng)e為0時,用當(dāng)前尸值減去。值,作為新的,值,然后將當(dāng)前的。值乘以2,作為新的。值,并將狀態(tài)轉(zhuǎn)換為ll;如果當(dāng)前狀態(tài)為ll,也隨機(jī)選擇e等于0或l,當(dāng)e為l時,將當(dāng)前的。值乘以2,作為新的。值;當(dāng)e為0時,將當(dāng)前P值加上C值,作為新的P值,然后將當(dāng)前的。值乘以2,作為新的C值,并將狀態(tài)轉(zhuǎn)換為l;如果當(dāng)前狀態(tài)為ll,則將當(dāng)前的。值乘以2,作為新的。值,并將狀態(tài)轉(zhuǎn)換為l;若H,如果當(dāng)前狀態(tài)為0或1,貝U用當(dāng)前P值減去P值,作為新的尸值,然后將當(dāng)前的P值乘以2,作為新的。值,并將狀態(tài)轉(zhuǎn)換為l;如果當(dāng)前狀態(tài)為11,則將當(dāng)前的。值乘以2,作為新的P值,并將狀態(tài)轉(zhuǎn)換為l;如果當(dāng)前狀態(tài)為I,則隨機(jī)選取e值等于O或l,當(dāng)e為l時,則用當(dāng)前P值減去。值,作為新的P值,然后將當(dāng)前的P值乘以2,作為新的C值;當(dāng)e為O時,則將當(dāng)前的尸值加上C值,作為新的尸值,然后將當(dāng)前的。值乘以2,作為新的^值,并將狀態(tài)轉(zhuǎn)換為ll;如果當(dāng)前狀態(tài)為ll,則隨機(jī)選取e值等于O或l,當(dāng)e為l時,將當(dāng)前的P值乘以2,作為新的。值;當(dāng)e為O時,則用當(dāng)前的尸值減去C值,作為新的尸值,然后將當(dāng)前的。值乘以2,作為新的。值,并將狀態(tài)轉(zhuǎn)換為l;執(zhí)行完上述一次完整的狀態(tài)轉(zhuǎn)換過程后,取j'-l"'/2」,再重復(fù)上述狀態(tài)轉(zhuǎn)換過程,直至^等于o為止,得到的返回值就是AA^y^全文摘要一種信息安全
技術(shù)領(lǐng)域:
的基于隨機(jī)化帶符號標(biāo)量乘法的橢圓曲線抗旁路攻擊方法。本發(fā)明基于隨機(jī)化帶符號標(biāo)量乘法的橢圓曲線抗旁路攻擊方法,首先將橢圓曲線密碼的二進(jìn)制密鑰表示為隨機(jī)化帶符號二進(jìn)制數(shù)形式,然后基于橢圓曲線點(diǎn)乘的隨機(jī)化加法減法鏈,得到實(shí)現(xiàn)隨機(jī)化帶符號標(biāo)量點(diǎn)乘的有限狀態(tài)機(jī),再基于該有限狀態(tài)機(jī)完成橢圓曲線點(diǎn)乘運(yùn)算,實(shí)現(xiàn)了橢圓曲線密碼抵抗旁路攻擊能力的提高。本發(fā)明提高了方法實(shí)現(xiàn)的安全性,可以用于密碼理論、密碼破解、安全芯片設(shè)計(jì)、智能卡設(shè)計(jì)等領(lǐng)域。文檔編號H04L9/30GK101197668SQ20071017187公開日2008年6月11日申請日期2007年12月6日優(yōu)先權(quán)日2007年12月6日發(fā)明者周質(zhì)彬,張愛新申請人:上海交通大學(xué)