用于驗(yàn)證電子簽名的方法和數(shù)據(jù)處理設(shè)備的制作方法
【專利摘要】本發(fā)明描述一種用于驗(yàn)證電子簽名的方法,其包括:確定由簽名給出的剩余類;確定具有剩余類的整數(shù);根據(jù)有限域到整數(shù)集的預(yù)先確定的映射來確定有限域的域元素,從而使得域元素對應(yīng)于整數(shù);確定域元素是否滿足預(yù)先確定的規(guī)范,以及基于域元素是否滿足預(yù)先確定的規(guī)范來判斷簽名是否有效。
【專利說明】用于驗(yàn)證電子簽名的方法和數(shù)據(jù)處理設(shè)備
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及用于驗(yàn)證電子簽名的方法和數(shù)據(jù)處理設(shè)備。
【背景技術(shù)】
[0002]為了在電子數(shù)據(jù)通信中確保被傳輸數(shù)據(jù)的完整性,在發(fā)送數(shù)據(jù)之前可以對數(shù)據(jù)進(jìn)行簽名,典型地是使用私有密鑰簽名。接收器繼而可以核對簽名是否有效,并且從而通過利用發(fā)射器的公鑰來核對數(shù)據(jù)是否被第三方或者被通信的錯(cuò)誤所改變。為了確保高安全性,使用具有高位數(shù)的私鑰和公鑰。從而,簽名驗(yàn)證的計(jì)算成本可能很高。因此,期望降低簽名驗(yàn)證的計(jì)算成本和復(fù)雜度。
【發(fā)明內(nèi)容】
[0003]根據(jù)本發(fā)明的一個(gè)實(shí)施例,提供一種用于驗(yàn)證電子簽名的方法,其包括:確定由簽名給出的剩余類;確定具有剩余類的整數(shù);根據(jù)預(yù)先確定的有限域到整數(shù)集的映射來確定有限域的域元素,從而使得域元素對應(yīng)于所述整數(shù);確定域元素是否滿足預(yù)先確定的規(guī)范,并且基于域元素是否滿足預(yù)先確定的規(guī)范來判斷簽名是否有效。
[0004]根據(jù)本發(fā)明的另一個(gè)實(shí)施例,根據(jù)上述用于驗(yàn)證電子簽名的方法來提供一種數(shù)據(jù)處理設(shè)備。
【專利附圖】
【附圖說明】
[0005]在附圖中,通篇不同的視圖中相似的標(biāo)記總體上表示相同的部分。附圖不必按比例繪制,而是將重點(diǎn)大致放在說明本發(fā)明的原理上。在下列說明中,參照下列附圖描述各個(gè)方面,其中:
[0006]圖1示出根據(jù)一個(gè)實(shí)施例的通信裝置。
[0007]圖2示出根據(jù)一個(gè)實(shí)施例的流程圖。
[0008]圖3示出根據(jù)一個(gè)實(shí)施例的數(shù)據(jù)處理設(shè)備。
[0009]圖4示出根據(jù)一個(gè)實(shí)施例的流程圖。
【具體實(shí)施方式】
[0010]以下詳細(xì)說明參考附圖,附圖通過圖示來示出本公開中的可以實(shí)踐本發(fā)明的具體細(xì)節(jié)和方面。本公開的這些方面描述的足夠詳細(xì),以使本領(lǐng)域技術(shù)人員能夠?qū)嵺`本發(fā)明??梢栽诓槐畴x本發(fā)明的范圍的情況下,利用本公開的其它方面,并且做出結(jié)構(gòu)的、邏輯的和電子的改變。本公開的各個(gè)方面并不必然相互排斥,因?yàn)楸景l(fā)明的一些方面可以與本發(fā)明的一個(gè)或多個(gè)其它方面組合,以形成新的方面。
[0011]圖1示出根據(jù)一個(gè)實(shí)施例的通信裝置100。
[0012]通信裝置100包括第一通信設(shè)備101和第二通信設(shè)備102,它們經(jīng)由通信網(wǎng)絡(luò)103(例如,經(jīng)由互聯(lián)網(wǎng))耦合。[0013]通信設(shè)備101、102可以是例如計(jì)算機(jī)、移動(dòng)通信設(shè)備(例如,智能電話)、芯片卡等。
[0014]通信設(shè)備101、102可以經(jīng)由通信網(wǎng)絡(luò)103交換數(shù)據(jù)。例如,第一通信設(shè)備101可以借助于通信網(wǎng)絡(luò)103使用通信服務(wù)(諸如,電子郵件)以消息105的形式,向第二通信設(shè)備102發(fā)射數(shù)據(jù)104。重要的或者說是被期望的是,確保數(shù)據(jù)104的完整性,例如避免第三方修改數(shù)據(jù)104而不被第二通信設(shè)備102發(fā)覺。這可以使用加密電子簽名方案來實(shí)現(xiàn)。在這一方案中,第一通信設(shè)備101在發(fā)射消息105之前對數(shù)據(jù)104進(jìn)行簽名,即將取決于數(shù)據(jù)104的簽名106包括在消息105中;并且第二通信設(shè)備102核對所接收的簽名106對于數(shù)據(jù)104是否有效。當(dāng)?shù)谌揭呀?jīng)在傳輸過程中改變了數(shù)據(jù)104時(shí),簽名106將無效。
[0015]簽名方案例如基于橢圓曲線,例如簽名方案E⑶SA (橢圓曲線數(shù)字簽名算法)、ECGDSA (橢圓曲線德國數(shù)字簽名算法)和橢圓曲線-厄格瑪爾算法(EC-ElGamal )。所有這些簽名方案都是最早由TaherRlGamal描述的簽名協(xié)議的變化形式。
[0016]有限域上的橢圓曲線形成用于現(xiàn)代公鑰加密的重要方案(諸如以上加密方案)的數(shù)學(xué)基礎(chǔ)。由大體上形式如下的三次方程所限定的橢圓曲線:
[0017]E: y2+a1xy+a3y=x3+a2X2+a4X+a6
[0018]系數(shù)B1,…,a6是(有限)域K的元素。
[0019]橢圓曲線E的點(diǎn)是所有對(X,y) e K X K的集,其滿足以上對于E的方程。橢圓曲線被稱作是在K上(或者限定在K上)的曲線。橢圓曲線的點(diǎn)P的坐標(biāo)對(x,y)被稱作點(diǎn)P 的仿身寸表不(affine representation)。
[0020]有限域是一個(gè)數(shù) 學(xué)結(jié)構(gòu),其包括元素的有限集以及通常稱作加
[0021]法、減法、乘法和除法的四個(gè)運(yùn)算,其中實(shí)數(shù)的算數(shù)法則對于這些運(yùn)算形式上有效。限定在以下域類型中的一個(gè)類型上的橢圓曲線在加密上有特別重要的實(shí)際意義。
[0022].K=GP(p),其中P是素?cái)?shù)。GP(p)的對象(即域元素)是整數(shù)0,1,2,...,p_l。運(yùn)算是模加法、模減法、模乘法和模除法。
[0023].K=GF(2n),其中η是自然數(shù)。在這一情況下,對象(即域元素)是長度的二進(jìn)制向量η。加法是按位異或。減法與加法相同。乘法可以借助于移位寄存器運(yùn)算實(shí)現(xiàn)。
[0024]以上有限域類型的共有特性是,域元素除法比域元素乘法成本(就計(jì)算資源而言)高得多。計(jì)算成本上的差異通常大約是一個(gè)量級。
[0025]除了仿射表示還存在射影表示(projective representation),其中以(x:y:x)的形式使用三個(gè)坐標(biāo)來表示橢圓曲線的點(diǎn)。所述兩個(gè)表示的關(guān)系如下:
[0026]?點(diǎn)的仿射表示可以根據(jù)(X,y) — ( λ X: λ y: λ )而映射到射影表示,其中λ古O是K的任意兀素。
[0027].點(diǎn)的仿射表示可以根據(jù)(Χ:Υ:Ζ) — (Χ/Ζ, Υ/Ζ)而映射到射影表示。
[0028]類似基于橢圓曲線在加密方案中進(jìn)行的運(yùn)算的在橢圓曲線上的算數(shù)運(yùn)算包括有大量域運(yùn)算的序列,其包括高成本的域元素除法。
[0029]射影表示允許減少將進(jìn)行的除法的數(shù)量,例如減少到用于驗(yàn)證簽名的單一減法。
[0030]在下文中,使K為有限域;E為在K上的橢圓曲線;P e E為在橢圓曲線E上的點(diǎn),其用素?cái)?shù)階以及由P生成的E的子集的β = I〈P〉I素?cái)?shù)階來生成(根據(jù)橢圓曲線的點(diǎn)的加法)橢圓曲線的循環(huán)子集。
[0031]為了實(shí)施針對橢圓曲線的點(diǎn)的運(yùn)算(例如,點(diǎn)的加法),需要針對有限域K的算法。如所述,在有限域算法的實(shí)施方式中,除法總體上比乘法(和平方)成本高得多。在經(jīng)優(yōu)化的實(shí)施方式中差別可以高達(dá)40倍。因此,為了將簽名生成和簽名驗(yàn)證所需要的時(shí)間最小化,可以進(jìn)行以下:
[0032]?對在橢圓曲線上的點(diǎn)使用射影表示。所有中間結(jié)果以分?jǐn)?shù)表示。這就允許避免針對在點(diǎn)乘法的中間結(jié)果的計(jì)算的域元素除法。所得的公式比有除法的公式更復(fù)雜,并且需要更多的乘法和平方運(yùn)算。但通常所得的實(shí)施方式還是更有效率。
[0033].在點(diǎn)運(yùn)算結(jié)束時(shí)進(jìn)行單一域除法(或求逆),以將射影表示下的結(jié)果轉(zhuǎn)換為仿射表示的。用仿射表示,可以繼而進(jìn)行簽名驗(yàn)證。
[0034]在下文中描述這一方法,針對根據(jù)E⑶SA的電子簽名驗(yàn)證的方案的示例。
[0035]驗(yàn)證方案的輸入是哈希值(hash value) h,其中h為整數(shù)(例如數(shù)據(jù)104的哈希值),Q e E為簽名生成器(例如第一通信設(shè)備101)的公鑰,(r, s)為簽名(或簽名值)其中r和s為整數(shù)。
[0036]方案輸出的信息為簽名有效或無效(例如對于數(shù)據(jù)104)。
[0037]在這一示例中,進(jìn)行下列幾點(diǎn):
[0038]1.核對是否O≤h〈 β ;如果否,則簽名無效。
[0039]2.核對是否0〈Κβ ;如果否,則簽名無效。
[0040]3.核對是否0〈8〈β ;如果否,則簽名無效。
[0041]4.確定 t=l/s modβ ;u=h*t modβ 并且 v=r*t modβ。
[0042]5.通過E在K上的算數(shù)運(yùn)算來確定點(diǎn)(u*P+v*Q)的仿射x坐標(biāo)W。
[0043]6.通過恰當(dāng)?shù)赜成涞秸麛?shù)z來將域元素w進(jìn)行映射。
[0044]7.核對方程r=z mod^是否被滿足;如果是,則簽名有效;如果否,則簽名無效。
[0045]在5.中,確定中間結(jié)果的仿射X坐標(biāo)W,因?yàn)橄铝性?.中的到整數(shù)的映射以及模歸約階數(shù)β導(dǎo)致在不同的數(shù)學(xué)結(jié)構(gòu)中的連續(xù)運(yùn)算,所述連續(xù)運(yùn)算的執(zhí)行順序不可以被改變,并且針對所述連續(xù)運(yùn)算分配律沒有被滿足。從而,不能在不產(chǎn)生錯(cuò)誤結(jié)果的情況下簡單地在代數(shù)上改變簽名驗(yàn)證的最后步驟。
[0046]根據(jù)一個(gè)實(shí)施例,提供一種用于驗(yàn)證電子簽名的方法(例如,根據(jù)上述簽名方案中的一個(gè)簽名方案),其中沒有將在射影表示下的點(diǎn)最后轉(zhuǎn)換到仿射表示是必要的。因此,在一個(gè)實(shí)施方式中(例如,在第二通信設(shè)備102中),用于在橢圓曲線基于其的域K中的除法(或求逆)算法的實(shí)施方式不是必要的。
[0047]圖2示出根據(jù)一個(gè)實(shí)施例的流程圖200。
[0048]流程圖200示出用于驗(yàn)證電子簽名的方法。
[0049]在201中,確定具有簽名值r的剩余類的整數(shù)。
[0050]在202中,根據(jù)有限域到整數(shù)集的預(yù)先確定的映射來確定有限域的域元素,從而使得域元素對應(yīng)于整數(shù)。
[0051]在203中,確定域元素是否滿足預(yù)先確定的規(guī)范。
[0052] 在204中,基于域元素是否滿足預(yù)先確定規(guī)范,來判斷簽名是否有效。
[0053]換句話講,根據(jù)一個(gè)實(shí)施例,簽名驗(yàn)證方案中的最后核對被倒轉(zhuǎn):代替,例如,基于規(guī)范確定域元素,以及代替確定域元素的圖像是否屬于由簽名給出的剩余類,而確定其圖像屬于剩余類的域的一個(gè)或多個(gè)候選項(xiàng),并且核對這些候選項(xiàng)的任意一個(gè)候選項(xiàng)是否滿足規(guī)范。
[0054]簽名是例如由基于橢圓曲線的簽名生成方案而生成的簽名。
[0055]有限域是例如在其上限定橢圓曲線的域。
[0056]例如,有限域是GF (P)或GF (2n)。
[0057]剩余類是例如以生成橢圓曲線的循環(huán)子群的點(diǎn)P的以階數(shù)β為模的整數(shù)剩余類。
[0058]例如,簽名是用點(diǎn)P生成的簽名。
[0059]根據(jù)一個(gè)實(shí)施例,如果域元素滿足預(yù)先確定的規(guī)范,則判斷簽名有效。
[0060]根據(jù)一個(gè)實(shí)施例,該方法包括,確定具有剩余類的多個(gè)整數(shù);根據(jù)有限域到整數(shù)集的預(yù)先確定的映射,針對所述多個(gè)整數(shù)中的每一個(gè)整數(shù)確定有限域的域元素,從而使得域元素對應(yīng)于整數(shù);確定是否域元素的任意域元素滿足預(yù)先確定的規(guī)范;并且基于是否域元素的任意域元素滿足預(yù)先確定的規(guī)范來判斷簽名是否有效。
[0061]例如,如果域元素的任意域元素滿足預(yù)先確定的規(guī)范,則簽名有效。
[0062]多個(gè)整數(shù)例如包括對應(yīng)于剩余類并且小于有限域階數(shù)的所有整數(shù)
[0063]該方法例如包括,如果沒有一個(gè)域元素滿足預(yù)先確定的規(guī)范,則判斷簽名不是有效的。
[0064]根據(jù)一個(gè)實(shí)施例,該方法進(jìn)一步包括確定在射影表示下的橢圓曲線的點(diǎn),并且規(guī)范是域元素是否等于橢圓曲線的點(diǎn)的仿射坐標(biāo)。
[0065]域到整數(shù)集的預(yù)先確定的映射是例如域到整數(shù)集的從零到有限域階數(shù)減一的映射。
[0066]規(guī)范是例如域元素是否滿足多項(xiàng)式方程為零。
[0067]根據(jù)一個(gè)實(shí)施例,該方法包括接收包括給出剩余類的整數(shù)的簽名值。
[0068]該方法可以進(jìn)一步包括,接收數(shù)據(jù),并且確定針對所接收的數(shù)據(jù)的哈希值,并且基于所述哈希值確定規(guī)范。
[0069]例如,判斷針對數(shù)據(jù)的簽名是否有效。
[0070]在圖2中所示的方法是由例如圖3所示的數(shù)據(jù)處理設(shè)備進(jìn)行的。
[0071]圖3示出根據(jù)一個(gè)實(shí)施例的用于驗(yàn)證電子簽名的數(shù)據(jù)處理設(shè)備300。
[0072]數(shù)據(jù)處理設(shè)備300例如對應(yīng)于第二通信設(shè)備102。
[0073]數(shù)據(jù)處理設(shè)備300包括確定器301,其被配置用于,確定由簽名所給出的剩余類;確定具有剩余類的整數(shù);根據(jù)有限域到整數(shù)集的預(yù)先確定的映射來確定有限域的域元素,從而使得域元素對應(yīng)于所述整數(shù);并且確定域元素是否滿足預(yù)先確定的規(guī)范。
[0074]數(shù)據(jù)處理設(shè)備300進(jìn)一步包括判斷器302,其被配置用于基于域元素是否滿足預(yù)先確定的規(guī)范來判斷簽名是否有效。
[0075]應(yīng)當(dāng)注意到,在參照圖2描述的方法的情形中所描述的實(shí)施例對于數(shù)據(jù)處理設(shè)備300類似有效的,并且反之亦然。
[0076]數(shù)據(jù)處理設(shè)備的部件(例如,確定器和判斷器)可以例如由一個(gè)或多個(gè)電路實(shí)施?!半娐贰笨梢岳斫鉃槿魏畏N類的邏輯實(shí)施實(shí)體,其可以是專用電路系統(tǒng)或者存儲(chǔ)在存儲(chǔ)器、固件或其任意組合中的處理器執(zhí)行軟件。從而,“電路”可以是硬件布線邏輯電路或者諸如可編程處理器的可編程邏輯電路,例如微處理器(例如,復(fù)雜指令集計(jì)算機(jī)(CISC)處理器或者精簡指令集計(jì)算機(jī)(RISC)處理器)?!半娐贰边€可以是處理器執(zhí)行軟件,例如任意種類的計(jì)算機(jī)程序,例如使用虛擬機(jī)器代碼(舉例來說諸如Java)的計(jì)算機(jī)程序。將在下文更詳細(xì)描述的相應(yīng)功能的任何其它種類的實(shí)施方式也可以理解為“電路”。
[0077]在下文中更詳細(xì)地描述用于簽名的驗(yàn)證的示例。
[0078]在下文中描述的實(shí)施例可以被視為利用適合于簽名方案的橢圓曲線以及強(qiáng)加密橢圓曲線的特性。對于簽名方案的安全性要求是,循環(huán)子群的階數(shù)〈P〉足夠大,以便使得針對橢圓曲線的離散對數(shù)問題的算法困難。實(shí)際上這就意味著,取決于應(yīng)用,子群〈P〉通常具有至少216°或更多個(gè)點(diǎn)。為了使得引起的簽字方案具有高性能,橢圓曲線E被典型地選擇,從而使得對于在橢圓曲線上的所有的點(diǎn)滿足條件:IE I =k* I〈P〉I其中被稱為余子式的k為小整數(shù)(典型地k〈5)。對于在素?cái)?shù)域GF(P)上的橢圓曲線,k=l是最佳的。對于在擴(kuò)展域GF(2n)上的橢圓曲線,k=2是最佳的。
[0079]由于數(shù)字|E|和β=|〈Ρ>|只相差小的因子k,根據(jù)哈斯定理(hasse
|i:| , \K\^ k\K\, 2k
theorem),在不等式 = ~ +\ K [+1-1yJl K \K ^J\ K \-2 成立的橢圓曲線上,
|[|+1-丑間[1+1 + 2.^對于可能數(shù)目的點(diǎn)|E|成立。
[0080]因此,對于實(shí)際意義的大小,僅存在k+1個(gè)域元素W1,…,wk+1 e K,其可能作為仿射X坐標(biāo)的中間結(jié)果出現(xiàn)在上述給出的驗(yàn)證方案的5.中,從而使得按照根據(jù)6.的、域K到整數(shù)集的映射的圖像集中的它們的圖像Z1,…,zk+1對于I≤i≤k+Ι,滿足r=Zi mod^。
[0081]因此,根據(jù)一個(gè)實(shí)施例,代替通過在域K中的除法確定中間結(jié)果的仿射X坐標(biāo),并且為了核對其在整數(shù)中的圖像是否滿足有r的同余式,構(gòu)造k+Ι個(gè)域元素力,…,wk+1 e K,其圖像滿足有r的同余式(作為針對仿射X坐標(biāo)的可能候選項(xiàng)),并且核對這些域元素中的一個(gè)域元素是否對應(yīng)于在射影表示下的中間結(jié)果的X坐標(biāo)。為了這個(gè)核對,最多需要k+1個(gè)域乘法。該方法有效率地適用于例如上述簽名方案,對于其域元素到整數(shù)集的映射可以有效率地被倒轉(zhuǎn)。用這種方法,可以實(shí)施不需要任何域除法或求逆的用于簽名驗(yàn)證的方案。
[0082]根據(jù)一個(gè)實(shí)施例,在實(shí)際實(shí)施方式中,用于中間結(jié)果(即點(diǎn)u*P+v*Q)的仿射X坐標(biāo)的候選項(xiàng)^,…,wk+1 e K被單獨(dú)地構(gòu)造,并且被測試以將所需要的存儲(chǔ)器空間和耗費(fèi)(即計(jì)算成本)最小化。
[0083]令(X,Z)為中間結(jié)果u*P+v*Q的射影X坐標(biāo),即仿射x坐標(biāo)的射影表示。代替在5.中計(jì)算在上述方案中的這個(gè)點(diǎn)在仿射表示下的X坐標(biāo),6.和7.例如被如圖4所示的流程所替換。
[0084]圖4示出根據(jù)一個(gè)實(shí)施例的流程圖400。 [0085]在401中,用整數(shù)r初始化整數(shù)變量z。
[0086]在402中,核對是否z〈|K|。如果不是這種情況,則判斷簽名是無效的。如果是這種情況,則在403中根據(jù)域到整數(shù)的映射,確定對應(yīng)于整數(shù)ζ的域元素W。
[0087]在404中,確定在域K中方程w*Z=X是否滿足。如果是這種情況,則判斷簽名有效。如果不是這種情況,則由ζ+β替換ζ的值,并且過程繼續(xù)(返回至)402。
[0088]在402中的判斷可以視為實(shí)施當(dāng)ζ〈|Κ|時(shí)403至405的當(dāng)型循環(huán)(while loop),只有如果在404中的核對為肯定,即已經(jīng)找到對應(yīng)于在射影表示(X,Z)下的X坐標(biāo)的候選項(xiàng)時(shí)才中斷該循環(huán)。[0089]由于以下原因,基于在圖4中示出的方法的驗(yàn)證是正確的。在有限域中,方程X=w*Z成立,其中w是對應(yīng)于在射影表示(X, Z)下的X坐標(biāo)的仿射X坐標(biāo)。如果存在整數(shù)O≤j≤k,從而使得整數(shù)zj+1=r+j* β是符合X=Wj*Z的域元素Wj e K的圖像,其遵從w」=w。相反地,其遵從域K和在整數(shù)中的算數(shù)模β的性質(zhì),其中其在整數(shù)集中的圖像滿足同余式r=z modulo β的每個(gè)域元素w需要針對適當(dāng)數(shù)O≤j < k具有z=r+j* β的形式。
[0090]上述示例給出根據(jù)E⑶SA的簽名驗(yàn)證方案的實(shí)施方式。雖然上述方法,例如參照圖2,并不限于這一方案,但是可以類似地被變換為基于橢圓曲線的其它ElGamal型的簽名方案。還應(yīng)注意到,該方法可以用于在具有各種特性的有限域上的橢圓曲線。
[0091]上述方法具有下列性質(zhì):
[0092].其允許在橢圓曲線上驗(yàn)證ElGamal型簽名的實(shí)施方式,其中沒有在有限域中的除法是必須的。這就減小了實(shí)施方式的代碼大小。
[0093].其允許有效率的簽名驗(yàn)證,因?yàn)槭紫?,在?qiáng)加密橢圓曲線的情況下,余子式k= IE I / I <Ρ> ,其確定待測試的情況的數(shù)目(即針對點(diǎn)u*P+v*Q的仿射坐標(biāo)的可能候選項(xiàng)的數(shù)目)很?。徊⑶移浯?,待測試的每一個(gè)情況下(即每一個(gè)候選項(xiàng)是否等于點(diǎn)u*P+v*Q的仿射X坐標(biāo)的核對),僅需要一次整數(shù)加法、對應(yīng)于整數(shù)的域元素的確定、域乘法以及比較。在有限域和恰當(dāng)?shù)臋E圓曲線的算數(shù)的所有實(shí)際上相關(guān)的實(shí)施方式中,以這種方式用于驗(yàn)證給定的簽名的耗費(fèi)(即計(jì)算成本)比執(zhí)行單次域除法的耗費(fèi)更小。
[0094].其允許正 確的實(shí)施方式。
[0095].其允許驗(yàn)證按照標(biāo)準(zhǔn)所生成的電子簽名。
[0096]在下文中描述用于驗(yàn)證ECDSA簽名的方案的另一個(gè)示例,其允許有效率并緊湊的實(shí)施方式
[0097]令X (P)為點(diǎn)P的X坐標(biāo),其生成階數(shù)β的循環(huán)子群〈P〉,并且令X (Q) SAQeE的X坐標(biāo)。點(diǎn)Q是簽名生成器的公鑰,簽名生成器例如第一通信設(shè)備101的用戶。
[0098]驗(yàn)證方案的輸入為哈希值h,其中h為整數(shù)(例如數(shù)據(jù)104的哈希值),x(Q)為簽名生成器(例如,第一通信設(shè)備101)的公鑰Q e E的X坐標(biāo),(r, s)為簽名(或簽名值),其中r和s都是整數(shù)。
[0099]方案輸出的信息是簽名有效或無效(例如對于數(shù)據(jù)104)。
[0100]在這個(gè)示例中,進(jìn)行下列幾點(diǎn):
[0101]1.核對是否0<1ι〈β ;如果否,則確定簽名無效。
[0102]2.核對是否0〈Κβ ;如果否,則確定簽名無效。
[0103]3.核對是否0〈8〈β ;如果否,則確定簽名無效。
[0104]4.確定 t=l/s modβ ;u=h*t modβ 并且 v=r*t modβ。
[0105]5.通過在K上的E的算數(shù)運(yùn)算來確定點(diǎn)u*P的射影X坐標(biāo)(X1, Z1)。
[0106]6.通過在K上的E的算數(shù)運(yùn)算來確定點(diǎn)v*Q的射影X坐標(biāo)(X2, Z2)。
[0107]7.用r初始化變量ζ。
[0108]8.當(dāng) z〈 |K| 時(shí),進(jìn)行
[0109]9.確定在整數(shù)集中的圖像是ζ的域元素w
[0110]10.如果對于多項(xiàng)式F(AXpZDXhZ2)=O成立,接受簽名為有效,并且停止當(dāng)型循環(huán)。[0111]11.將 Z 增加 β。
[0112]12.0d (結(jié)束當(dāng)型循環(huán))
[0113]13.由于無效而拒絕簽名。
[0114]在5.和6.中,點(diǎn)乘法的結(jié)果的射影X坐標(biāo)是用例如蒙哥馬利(Montgomery)階梯算法確定的。多項(xiàng)式F是在w中的二次多項(xiàng)式,其具體形式取決于有限域K的特性。
[0115]對于特性2,即對于K=GF (2n),多項(xiàng)式F例如具有形式F (w, X1, Z1, X2, Z2) =w2 (X1ZfX,zy+iX2+^ X1X2Z1Z^bZ12Z22其中域元素b是限定橢圓曲線的恒定曲線參數(shù)(在對于特性2的簡短Weierstra β表示下),即對應(yīng)于在上文給出的橢圓曲線的表示下的a6。
[0116]對于特性3,多項(xiàng)式例如具有形式 F (w,X1, Z1, X2, Z2) =W2 (X1Z2-X2Z1) 2+w (X1X2 (X1Z2J2Z「a2ZiZ2) -B6Z12Z22) +X12X2La6Z1Z2 (X1Z^X2Zfa2Z1Z2),具有如上文給出的橢圓曲線的表示下的
a6 ο
[0117]對于大于3的特性,多項(xiàng)式F具有例如形式F (w,X1, Z1, X2, Z2) =W2 (X1Z2-X2Z1) 2-2w ((aAZfX1X2) (X1ZJX2Z1)+Sa6Z12Z22)+ (X1X2I4Z1Z2)2Ia6Z1Z2 (X1ZfX2Z1),具有如上文給出的橢圓曲線的表示下的a2, a4和a6。
[0118]在對于特性2的有限域 使用唯一確定的平方根而不是曲線參數(shù)b的情況下,可以使用8個(gè)域乘法和I個(gè)平方運(yùn)算來確定多項(xiàng)式F的值。
[0119]下列幾點(diǎn)被示出:當(dāng)且僅當(dāng)簽名是針對哈希值根據(jù)簽名方案E⑶SA或ECElGamal而已經(jīng)生成的有效簽名時(shí),上述方案接受針對哈希值h的簽名。令0〈α〈β為已經(jīng)用于創(chuàng)建公鑰Q=a*P的私鑰。給出哈希值h,并且給出被上述方案所接受的簽字(r,s)的針對哈希值h的有效簽名。方案在5.和6.中確定點(diǎn)Y1=WsW和V2=r/s*Q= (a*r/s) *P的x坐標(biāo)X(V1), X(V2)。接著,方案搜索整數(shù)z,以便域元素X(V1)、x(V2)和w (其具有在整數(shù)集中的圖像z=r+j*i3 )滿足F為零的方程。從F為零的方程的性質(zhì),以及在點(diǎn)子群中的群運(yùn)算完整性,由此得出w=x(R)為點(diǎn)Re〈P〉的X坐標(biāo)。令w=k*P,其中O≤k〈 β。然后,通過構(gòu)造多項(xiàng)式F, X (R) =x (V^V2) =x ((h+a*r) /s*P 或者 x (R) =x (V1 — V2) =x ((h_a*r) /s*P)成立。這些條件等效于 k_ (h+a*r) /S=Omod β , k+ (h+a*r) /S=Omod β , k_ (h_a*r) /S=Omod β 或者 k+ (h_a*r) /S=Omodβ ο
[0120]將這些方程變換,得到s=± 1/k*(h+a*r)modβ 或者 s=± 1/k*(h_a*r)modβ,其中r=x(k*P)modβ 。
[0121 ] 所述方程對應(yīng)于根據(jù)E⑶SA標(biāo)準(zhǔn)或EC-ElGamal標(biāo)準(zhǔn)使用私鑰α而生成的有效簽名的定義。對此應(yīng)注意到,在兩個(gè)簽名方案中值s對β模運(yùn)算的符號改變對如ECDSA或EC-ElGamal簽名的簽名有效性沒有影響。這是由點(diǎn)和V1 — V2僅判斷χ坐標(biāo)的上述方案的性質(zhì)的直接后續(xù)結(jié)果。
[0122]因此,上述方案的輸出與標(biāo)準(zhǔn)E⑶SA方法相比的差別是,哈希值h對β模運(yùn)算的符號對于簽名的有效性沒有關(guān)聯(lián)。這就意味著,是對于哈希值h的有效簽名的簽名(r,S),也是對于哈希值_h mod^的有效簽名。從而,上述方案接受根據(jù)E⑶SA標(biāo)準(zhǔn)針對哈希值h所生成的簽名作為有效簽名;但進(jìn)一步接受針對哈希值_h mod^的簽名,對于該哈希值簽名不是根據(jù)E⑶SA的有效簽名,而是根據(jù)EC-ElGamal的有效簽名(并且反之亦然)。
[0123]除了上述方法的性質(zhì),上述包括1.至13.的方案還具有以下性質(zhì):
[0124].在用于驗(yàn)證電子簽名的整個(gè)方案中,只使用點(diǎn)的χ坐標(biāo)。從而,不需要用于確定點(diǎn)V1和V2的Y坐標(biāo)的程序部分。
[0125].通過使用多項(xiàng)式F,不需要用于確定點(diǎn)V1與V2之和的χ坐標(biāo)的程序部分。
[0126]?所需的用于存儲(chǔ)點(diǎn)P和Q的存儲(chǔ)器(舉例來說,諸如閃存或EEPROM的非易失性存儲(chǔ)器)需求更小,因?yàn)閮H需要這些點(diǎn)的X坐標(biāo)。
[0127]以上方案可以例如被實(shí)施在以2.2K字節(jié)代碼的16位微控制器上,例如在芯片卡上。
[0128]雖然已經(jīng)描述了特定的方面,但是本領(lǐng)域技術(shù)人員應(yīng)注意到,可以在不背離由所附權(quán)利要求書所限定的本公開各方面的精神和范圍的情況下,對本公開作各種形式和細(xì)節(jié)上的改動(dòng)。因此范圍應(yīng)由所附權(quán)利要求書來指示,并且從而意在包含在權(quán)利要求書的法律等同的含義和范圍內(nèi)的所有改變。
【權(quán)利要求】
1.一種用于驗(yàn)證電子簽名的方法,包括: 確定由所述簽名給出的剩余類; 確定具有所述剩余類的整數(shù); 根據(jù)有限域到整數(shù)集的預(yù)定的映射來確定所述有限域的域元素,使得所述域元素對應(yīng)所述整數(shù); 確定所述域元素是否滿足預(yù)定的規(guī)范;以及 基于所述域元素是否滿足所述預(yù)定的規(guī)范,判斷所述簽名是否有效。
2.根據(jù)權(quán)利要求1所述的方法,其中所述簽名是由基于橢圓曲線的簽名生成方案所生成的簽名。
3.根據(jù)權(quán)利要求2所述的方法,其中所述有限域是在其上限定所述橢圓曲線的域。
4.根據(jù)權(quán)利要求2所述的方法,其中所述有限域是GF(p)或GF(2n)。
5.根據(jù)權(quán)利要求2所述的方法,其中所述剩余類是整數(shù)剩余類對生成所述橢圓曲線的循環(huán)子群的點(diǎn)P的階數(shù)的模運(yùn)算。
6.根據(jù)權(quán)利要求5所述的方法,其中所述簽名是使用所述點(diǎn)P所生成的簽名。
7.根據(jù)權(quán)利要求1所述的方法,包括如果所述域元素滿足所述預(yù)定的規(guī)范,則判斷所述簽名有效。
8.根據(jù)權(quán)利要求1所述的方法,包括 確定具有所述剩余類的多個(gè)整數(shù); 針對所述多個(gè)整數(shù)中的每個(gè)整數(shù),根據(jù)所述有限域到所述整數(shù)集的預(yù)定的映射來確定所述有限域的域元素,使得所述域元素對應(yīng)所述整數(shù); 確定所述域元素中的任意域元素是否滿足所述預(yù)定的規(guī)范;以及 基于所述域元素中的任意域元素是否滿足所述預(yù)定的規(guī)范,判斷簽名是否有效。
9.根據(jù)權(quán)利要求8所述的方法,包括如果所述域元素中的任意域元素滿足所述預(yù)定的規(guī)范,則判斷所述簽名有效。
10.根據(jù)權(quán)利要求8所述的方法,其中所述多個(gè)整數(shù)包括對應(yīng)于所述剩余類的并且比所述有限域的所述階數(shù)更小的所有整數(shù)。
11.根據(jù)權(quán)利要求8所述的方法,包括如果沒有所述域元素滿足所述預(yù)定的規(guī)范,則判斷所述簽名不是有效的。
12.根據(jù)權(quán)利要求2所述的方法,其中所述方法進(jìn)一步包括確定在射影表示下的橢圓曲線的點(diǎn),以及所述規(guī)范是所述域元素是否等于所述橢圓曲線的所述點(diǎn)的所述仿射坐標(biāo)。
13.根據(jù)權(quán)利要求1所述的方法,其中所述域到所述整數(shù)集的所述預(yù)定的映射是所述域到所述整數(shù)集的從零到所述有限域的所述階數(shù)減一的單射。
14.根據(jù)權(quán)利要求1所述的方法,其中所述規(guī)范是所述域元素是否滿足多項(xiàng)式為零的方程。
15.根據(jù)權(quán)利要求1所述的方法,還包括接收包括給出所述剩余類的整數(shù)的簽名值。
16.根據(jù)權(quán)利要求1所述的方法,還包括接收數(shù)據(jù)并且針對所述接收的數(shù)據(jù)確定哈希值,以及基于所述哈希值確定所述規(guī)范。
17.根據(jù)權(quán)利要求16所述的方法,其中判斷所述簽名針對所述數(shù)據(jù)是否有效。
18.一種用于驗(yàn)證電子簽名的數(shù)據(jù)處理設(shè)備,包括:確定器,被配置用于確定由所述簽名給出的剩余類,確定具有所述剩余類的整數(shù),根據(jù)所述有限域到所述整數(shù)集的預(yù)定的映射來確定有限域的域元素,使得所述域元素對應(yīng)所述整數(shù),并且確定所述域元素是否滿足預(yù)定的規(guī)范;以及 判斷器,被配置用于基于所述域元素是否滿足所述預(yù)定的規(guī)范,判斷所述簽名是否有效。
【文檔編號】H04L9/32GK103973446SQ201410040162
【公開日】2014年8月6日 申請日期:2014年1月27日 優(yōu)先權(quán)日:2013年1月29日
【發(fā)明者】B·邁耶, E·赫斯 申請人:英飛凌科技股份有限公司