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

用于抵御錯(cuò)誤曲線攻擊的ecdsa方法

文檔序號(hào):9846495閱讀:1216來(lái)源:國(guó)知局
用于抵御錯(cuò)誤曲線攻擊的ecdsa方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及信息安全領(lǐng)域,特別是涉及一種用于抵御錯(cuò)誤曲線攻擊的ECDSA(橢 圓曲線數(shù)字簽名算法)方法。
【背景技術(shù)】
[0002] 橢圓曲線數(shù)字簽名算法(E⑶SA)理論介紹。數(shù)字簽名對(duì)應(yīng)于手寫簽名的數(shù)字化, 可以提供數(shù)據(jù)來(lái)源認(rèn)證、具有數(shù)據(jù)完整性及不可否認(rèn)性的特點(diǎn)。橢圓曲線數(shù)字簽名算法就 是數(shù)字簽名的橢圓曲線版本。ECDSA具體流程如下:
[0003] 輸入?yún)?shù)組D = (q,F(xiàn)R, S,a,b,P,n,h),私鑰d,消息m。其中,q為域的階,F(xiàn)R為 域表示,S為種子,a,b為橢圓曲線參數(shù),P為基點(diǎn),η為點(diǎn)P的階,h為余因子。
[0004] 輸出簽名對(duì)(r,s)。
[0005] 第1步、隨機(jī)選擇k e [1,n-1]。
[0006] 第2步、運(yùn)算kP = (X1, Y1),之后把X1轉(zhuǎn)化為整數(shù),其中,(X1, Y1)為計(jì)算結(jié)果的橫 坐標(biāo)與縱坐標(biāo)的值。
[0007] 第3步、計(jì)算r = X1Iiiod η,如果r = 0,那么跳回步驟1。
[0008] 第4步、計(jì)算e = H(m),其中,H(X)為哈希函數(shù)。
[0009] 第5步、計(jì)算s = k Ve+diOmod η,如果s = 0,那么跳回步驟1。
[0010] 第6步、輸出簽名對(duì)(r,s)。
[0011] 那么得到這個(gè)簽名對(duì)的其他用戶就可以通過(guò)公鑰與簽名對(duì)(r,s)判定是否為確 定用戶的簽名了。
[0012] 對(duì)原E⑶SA方案的錯(cuò)誤曲線攻擊。原E⑶SA是有可能通過(guò)錯(cuò)誤曲線的攻擊獲取私 鑰,這對(duì)于用戶的信息是非常不安全的。假設(shè)對(duì)基點(diǎn)P的y坐標(biāo)進(jìn)行故障攻擊,使其坐標(biāo)從 (xp,yp)變?yōu)椋▁p,yp'),記為點(diǎn)P',設(shè)它落在的橢圓曲線為y 2 = x3+ax+b',設(shè)其中a與之 前的值不變,則存在
[0016] 由簽名對(duì)可以得到r,從而得到X1,再根據(jù)不安全的橢圓曲線參數(shù)表達(dá)式得到y(tǒng)i。 由于這是一條安全性不強(qiáng)的橢圓曲線,那么攻擊者很可能在可計(jì)算的時(shí)間內(nèi)求解離散對(duì)數(shù) (知道點(diǎn)P及(Xpy1))來(lái)得到k,再根據(jù)已知的 S,n,e和r可以推導(dǎo)出私鑰d。
[0017] 在ECDSA抵御錯(cuò)誤曲線攻擊的一般方法。通常的對(duì)錯(cuò)誤曲線的攻擊的抵御方案就 是驗(yàn)算點(diǎn)P是否在原安全的橢圓曲線上,但是驗(yàn)算在工程上一般會(huì)做成一個(gè)函數(shù),這樣攻 擊者通過(guò)向芯片注入毛刺是有可能跳過(guò)這步驗(yàn)算。為保證芯片的安全性,就必須多次在運(yùn) 算過(guò)程中進(jìn)行驗(yàn)算,但是過(guò)多的驗(yàn)算會(huì)極大犧牲芯片的運(yùn)行效率。
[0018] 因此如果將運(yùn)算點(diǎn)乘kP改進(jìn),在P遭受到攻擊后,無(wú)法讓攻擊者得到正確的錯(cuò)誤 點(diǎn)乘結(jié)果,那么錯(cuò)誤曲線攻擊就無(wú)法成功。

【發(fā)明內(nèi)容】

[0019] 本發(fā)明要解決的技術(shù)問(wèn)題是提供一種用于抵御錯(cuò)誤曲線攻擊的ECDSA方法,可以 有效地防止攻擊者在ECDSA中通過(guò)錯(cuò)誤曲線攻擊獲取用戶的私鑰。
[0020] 為解決上述技術(shù)問(wèn)題,本發(fā)明的用于抵御錯(cuò)誤曲線攻擊的ECDSA方法,包括如下 步驟:
[0021] 輸入?yún)?shù)組D = (q,F(xiàn)R, S,a,b,P,n,h),私鑰d,消息m ;其中,q為域的階,F(xiàn)R為 域表示,S為種子,a,b為橢圓曲線參數(shù),P為基點(diǎn),η為點(diǎn)P的階,h為余因子;
[0022] 輸出簽名對(duì)(r,s);
[0023] 步驟1,隨機(jī)選擇k e [1,n-1];
[0024] 步驟2,取橢圓曲線的隨機(jī)一點(diǎn)R,計(jì)算M = R+kP ;
[0025] 步驟3,計(jì)算M-R = (X1, Y1),之后把X1轉(zhuǎn)化為整數(shù);
[0026] 步驟4,計(jì)算r = X1Iiiod η,如果r = 0,那么跳回步驟1 ;
[0027] 步驟5,計(jì)算e = H(m),其中,H(X)為哈希函數(shù);
[0028] 步驟6,計(jì)算s = k 1 (e+dr)mod η,如果s = 0,那么跳回步驟1 ;
[0029] 步驟7,輸出簽名對(duì)(r,s)。
[0030] 其中,(X1, Y1)為計(jì)算結(jié)果的橫坐標(biāo)與縱坐標(biāo)的值。
[0031] 執(zhí)行步驟2,在運(yùn)算M = R+kP時(shí),可按照以下方法計(jì)算:
[0032] 輸入:k = (kt !,…k!,k0)2
[0033] 輸出:R+kP ;
[0034] 定義點(diǎn)Q為一個(gè)存儲(chǔ)空間,作為存儲(chǔ)計(jì)算的臨時(shí)值;
[0035] 第 1 步、Q -R;
[0036] 第2步、對(duì)于i從0到t-Ι,重復(fù)執(zhí)行:
[0037] a)右 Ici= 1,則 Q = P+Q ;
[0038] b)P - 2P ;
[0039] 第3步、返回Q。
[0040] 其中,(kt ρ . . . Ic1, kQ)2為k的二進(jìn)制表達(dá)形式。
[0041] 這樣運(yùn)算的好處是以一個(gè)隨機(jī)的橢圓曲線上的點(diǎn)作為起點(diǎn),之后在與基點(diǎn)或基點(diǎn) 的幾倍點(diǎn)進(jìn)行點(diǎn)加,如果基點(diǎn)被攻擊后并不落在此橢圓曲線上,那么點(diǎn)加運(yùn)算就會(huì)在兩個(gè) 不同的橢圓曲線上進(jìn)行,而這樣步驟2計(jì)算出的M是無(wú)法通過(guò)M-R還原出點(diǎn)kP。因此只有 在點(diǎn)P和點(diǎn)R同時(shí)注入故障,并使這兩點(diǎn)都落在相同的錯(cuò)誤曲線上,錯(cuò)誤曲線攻擊才有可能 成功,這樣的防護(hù)方法無(wú)疑極高的增加了攻擊者的難度。同時(shí)這種方案相對(duì)于多次在程序 中插入檢驗(yàn)P是否落在正確的橢圓曲線上,安全性也會(huì)更高。因?yàn)樵邳c(diǎn)乘運(yùn)算中,攻擊者不 能選擇跳過(guò)這些點(diǎn)乘程序,否則攻擊者無(wú)法獲取正確的錯(cuò)誤結(jié)果。因此本發(fā)明可以有效地 防止攻擊者在ECDSA中通過(guò)錯(cuò)誤曲線攻擊獲取用戶的私鑰。
[0042] 同時(shí)本發(fā)明的實(shí)現(xiàn)不會(huì)太多地浪費(fèi)效率,因?yàn)檫@種方法就比普通點(diǎn)乘方法多了一 步:將點(diǎn)乘的結(jié)果與點(diǎn)-R進(jìn)行點(diǎn)加。
【附圖說(shuō)明】
[0043] 下面結(jié)合附圖與【具體實(shí)施方式】對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明:
[0044] 附圖是所述抵御錯(cuò)誤曲線攻擊的E⑶SA方法流程圖。
【具體實(shí)施方式】
[0045] 結(jié)合附圖所示,美國(guó)國(guó)家標(biāo)準(zhǔn)技術(shù)研究院(NIST)推薦了 5套參數(shù)用于素?cái)?shù)域的橢 圓曲線密碼。本實(shí)施例中采用其中的一套參數(shù),具體如下:
[0046] 在有限域Fp中,有橢圓曲線E,其定義如下:
[0047] E :y2 = x3+ax2+b
[0048] 其中
[0049] p = Oxfffffffffffffffffffffffffffffffeffffffffffffffff ;
[0050] a = Oxfffffffffffffffffffffffffffffffefffffffffffffffc
[0051] b = 0x64210519e59c80e70fa7e9ab72243049feb8deeccl46b9bl
[0052] 基點(diǎn)G的坐標(biāo)為
[0053] [0xl88da80eb03090f67cbf20eb43al8800f4ff0afd82ffl012,0x07192b95ffc8da7 8631011ed6b24cdd573f977alle794811]
[0054] 取點(diǎn) R
[0055] [0x79680B8E20EDCDB6B85DlCBFB6E83858CAA7BA83D3C3CFB3,0xEAEF626AA6A8EA2 93D39ABF2FA32FC04AD3E483844B3CD07]假設(shè)私鑰 d 為
[0056] d = 0x79d280ca6646596bl85134d44d99d50dcda801265c2c4d56
[0057] 步驟一,隨機(jī)選擇k e [
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
寿光市| 宁南县| 上饶市| 大同市| 梓潼县| 临洮县| 陇川县| 石城县| 太仓市| 阆中市| 平顶山市| 崇文区| 仙游县| 商都县| 马尔康县| 博野县| 梅河口市| 怀安县| 安西县| 博湖县| 习水县| 阿尔山市| 吉隆县| 麻江县| 呼玛县| 溧阳市| 巫山县| 东乡族自治县| 普洱| 彰化市| 昭觉县| 资中县| 汨罗市| 蒲城县| 晴隆县| 中山市| 晋宁县| 革吉县| 桦南县| 阆中市| 措勤县|