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

壓縮的ecdsa簽名的制作方法

文檔序號:7680000閱讀:183來源:國知局
專利名稱:壓縮的ecdsa簽名的制作方法
技術領域
本發(fā)明涉及密碼方案并且在數(shù)字簽名算法中尤其實用。
背景技術
消息的數(shù)字簽名是依賴于某些只有簽名者知道的秘密的數(shù),此外,該數(shù)又依賴于被簽名的消息的內容。簽名應當是可驗證的。如果對一方是否對文檔進行了簽名出現(xiàn)爭議(由于簽名者試圖否認其確實創(chuàng)建的簽名,或者由于欺騙性聲明而導致),無偏的第三方應當能公正地解決這件事,而不需要訪問簽名者的秘密信息(例如,私有密鑰)。
數(shù)字簽名在信息安全中具有很多應用,特別地,它們被使用在密碼方案中。 一些應用包括認證、數(shù)據(jù)完整性和不可否認性。數(shù)字簽名的一種特別重要的應用是驗證大型網(wǎng)絡中的公共密鑰。對于可信的第三方,驗證是一種將用戶的身份與公共密鑰綁定的方式,使得在以后某個時間,其它實體可以對公共密鑰進行認證而無需來自可信第三方的幫助。
被稱為數(shù)字簽名算法(DSA)的密碼方案基于公知的且經(jīng)常討論的離散對數(shù)問題的難解決性。DSA由美國國家標準和技術學會(NIST)于1991年提出并己經(jīng)成為美國聯(lián)邦信息處理標準(FIPS 186),稱為數(shù)字簽名標準(DSS)。該算法是公知的ElGamal簽名方案的變型,并且可以被分類為具有附錄的數(shù)字簽名(即一種依賴于密碼散列(hash)函數(shù)而不是定制冗余函數(shù)的數(shù)字簽名)。
橢圓曲線數(shù)字簽名算法(ECDSA)是一種可以應用于橢圓曲線密碼系統(tǒng)且具有類似于DSA的屬性的簽名方案。它通常被認為是最廣泛標準化的基于橢圓曲線的簽名方案,出現(xiàn)在ANSIX9.62, FIPS 186-2,正EE 1363-2000和ISO/IEC 15946-2標準以及多個草案標準中。
ECDSA簽名生成過程對若干域參數(shù)、私有密鑰"和消息m進行
4運算。輸出是簽名(r,",其中簽名分量r和S是整數(shù),并且如下進 行處理。
1、 選擇隨機整數(shù)A^[1,^1],"是域參數(shù)之一 。
2、 計算K7-(X,,")并且將X/轉換為整數(shù)^,其中G是在橢圓曲 線£上的點并且是域參數(shù)之一。
3、 計算^= i, mod",其中如果f0,則返回步驟l。
4、 計算6 = /7(^),其中7/代表密碼散列(hash)函數(shù),其輸出具 有不超過"的比特長度(如果不滿足該條件,則可以截斷/Z的輸出)。
5、 計算^ = ^^+ c^)modm其中a是簽名者的長期私有密鑰。
如果
f0,則返回步驟l。
6、 將(r, s)對作為消息m的ECDSA簽名輸出。 ECDSA簽名驗證過程對若干域參數(shù)、長期公共密鑰g(其中0 =
a戶)、消息w以及以上導出的簽名(r,"進行運算。ECDSA簽名驗 證輸出對簽名的拒絕或接受,并且如下進行處理。
1、 驗證r和s是區(qū)間[l,n-l]中的整數(shù)。如果驗證失敗,則返回拒絕。
2、 計算e^7/(m)
3、 計算w = , mod "
4、 計算mi = ew mod "以及w2 = , mod w
5、 計算/ -w,尸+ M2g^^O尸+ r0 (根據(jù)以上3和4)
6、 如果i -oo,則拒絕該簽名
7、 將/ 的x坐標x;轉換為整數(shù)^;計算v- ^ mod"
8、 如果y二 r,則接受該簽名,否則拒絕該簽名
為了提高ECDSA簽名驗證的效率,在上面包括s的倒置在內的 特定步驟5中,已知通過省略2b比特來截斷s而對ECDSA簽名進行 了壓縮。這樣的壓縮的代價是額外的驗證步驟,已知其代價為驗證者 近似22b次額外的橢圓曲線組運算。
在帶寬節(jié)約極為重要而且驗證者可以容易地處理額外密碼運算 的密碼應用中特別需要簽名壓縮。 一個示例是二維條形碼,其中帶寬非常有限而驗證者的處理器可能較快。另一個示例是RFID標簽,RFID
標簽需要來自射頻場的功率以便傳輸數(shù)據(jù),并因此非常希望低傳輸帶寬。
需要一種ECDSA簽名壓縮的方案,該方案中驗證者所付出的代 價低于上述這種壓縮方案。
因此,本發(fā)明的目的是消除或減輕至少一個上述缺點。

發(fā)明內容
一方面,提供了一種對消息的數(shù)字簽名進行壓縮的方法,所述簽 名包括一對簽名分量r、 s,所述方法包括獲得與s在數(shù)學上相關的 一對值c、 d, c、 d中的一個值小于s;使用所述一個值來替代數(shù)字簽 名中的簽名分量s;以及將所述簽名轉發(fā)給接收者。
在另一方面,提供了一種密碼系統(tǒng),用于根據(jù)一對簽名分量r、 s 來生成壓縮的簽名,所述系統(tǒng)具有算術單元,用于提供與s在數(shù)學
上相關的一對值C、 d;以及簽名生成器,用于使用C、 d中的一個值
來替代簽名s。
在另一方面,提供了一種密碼系統(tǒng),用于驗證從使用如上所述系
統(tǒng)的發(fā)送者接收的簽名r、 c,所述密碼系統(tǒng)包括算術單元,用于恢 復c、 d中的另一個值并將所述另一個值與預定準則進行比較。
在另一方面,提供了一種對數(shù)字簽名(r,s)進行壓縮的方法,包括
以下步驟使用小于S的值C來替代值S,值C是根據(jù)S和另一個值d 導出的,值d足夠小使得C小于S;以及使用值c來替代值s以獲得壓 縮的簽名(r,c)。
在另一方面,提供了一種對壓縮的簽名進行驗證的方法,所述壓
縮的簽名包括值c,值c用于替代完整簽名(r,s)中的值s,所述方法包 括以下步驟使用所述壓縮的簽名的參數(shù)并使用消息來計算值d,值c 是根據(jù)值d和值s導出的;以及在根據(jù)預定準則找到d值的情況下驗 證所述壓縮的簽名。


6現(xiàn)在參考附圖,描述僅作為示例的本發(fā)明的實施例,其中 圖1是密碼通信系統(tǒng);
圖2是示意簽名壓縮方案和壓縮簽名的簽名驗證方案的一個實施 例的流程圖3是示意簽名壓縮方案和壓縮簽名的簽名驗證方案的另一個實 施例的流程圖。
具體實施例方式
因此,參考圖1,密碼通信系統(tǒng)總體上由數(shù)字IO表示。系統(tǒng)10 具有第一通信對端12和第二通信對端14,它們可以通過通信信道16 互相進行通信。通信信道16可能是安全的,也可能是不安全的。每個 通信對端分別具有密碼模塊18和20,用于執(zhí)行密碼運算。
每個密碼模塊18和20能夠執(zhí)行橢圓曲線密碼運算,如ECDSA 簽名生成和對橢圓曲線E進行運算的驗證方案,其中E定義在域Fg上。
這里描述的實施例特別適用于ECDSA算法,在該算法中,例如,可 以以驗證者需要執(zhí)行額外密碼運算為代價而對簽名(r,s)中的整數(shù)s進
行壓縮。
在圖2中示例的第一實施例中,通信對端12可以被稱為"簽名者", 而通信對端14可以被稱為"驗證者"。如上所述產(chǎn)生由簽名者12為消 息m生成的ECDSA簽名(r,s)。為了減少帶寬,通過例如用更小的值c 來替代s,可以對簽名進行壓縮。這個示例中,值s和c由表達式
^E上modw相關,選擇d的值使得c是小于s的值。d的值的可能范圍
或"界"是系統(tǒng)參數(shù)的一部分并且在用于確定恢復的d是否可接受的驗 證步驟中使用。
可以通過使用擴展Euclidean算法的變型來獲得c和d的值,以 發(fā)現(xiàn)形如ds+un=c的等武。更精確地,擴展Euclidean算法中的中間步 驟計算值x、 y和z,使得xs+yi^z。通常,擴展Euclidean算法從小的 x和y (取值0或1)和大的z (如n或s那樣大)開始,以大的x和 y (分別約為n和s大小)和小的z (通常是l,除非n和s具有針對ECDSA中的n和s的選擇不會出現(xiàn)的公因數(shù))結束。在本實施例中, 擴展Euclidean算法到一定程度停止,以獲得中間大小的x和y的值, 并分別滿足對d和c的要求。
使用針對c而獲得的值來替代簽名中的s,以提供壓縮的簽名(r,c)。 隨后,簽名者發(fā)送該簽名給接收者。
通過計算點R,接收者可以驗證壓縮的簽名(r,c),其中R可以從 r恢復。從r恢復R可以為R提供多種可能性,在這種情形下,驗證 者14可以為每個這樣的R嘗試以下驗證方案??蛇x地,可在簽名或 消息m中嵌入額外的信息,或者與簽名或消息m —起發(fā)送額外的信 息,以指示哪個可能的值是對于R的正確選擇。例如這可以是R的y 坐標值的第一個比特或類似技術。對于每個這樣的R,當且僅當 7 = ,(6尸+ /^)時,完整簽名(r,s)定義為有效,根據(jù)上面的標記法, A = 1 (eP + 等價于ci = + rg)。
為了驗證簽名(r,c),驗證者14首先計算『^^尸+ rg,這可以通過 使用對接收者可用的公共信息來完成。如上面所討論的,通常將e計 算為消息m的散列,例如^/Z(m)。通過利用d小于簽名者和驗證者 為壓縮簽名而商定的預定界的知識,驗證者14隨后嘗試計算 d = logjci0。如果在該界內沒能找到這樣的d,則該壓縮的簽名(r,c) 無效而被拒絕。類似地,如果所獲得的d值滿足所商定的界,則該簽 名被認為通過驗證。這樣的離散對數(shù)算法通?;ㄙM與V^成比例的時 間。如果V^足夠小,則對于驗證者14來說,使用這樣的算法是非常 實用的。 一旦(并且如果)驗證者14獲得d,則通過計算s^c/dmod" 可以恢復完整簽名(r,s),允許驗證者14使用或驗證完整簽名(如果他 希望這樣做)。
在圖3所示的另一個實施例中,壓縮的簽名可以是(r,d),其中d 是上面的標記法中使用的值d,在這種情況下,恢復的c值需要滿足 特定大小范圍,即是"足夠小"。
類似于上面的實施例,首先計算值『=^尸+ 〃2,然后驗證者14 使用用于選擇R的任何合適方法來嘗試計算c^logJc/『),如果c足 夠小則可以實現(xiàn)這一計算。如果沒有找到這樣的c,則壓縮的簽名(r,d)無效而被拒絕。
一旦(并且如果)獲得C,則該簽名可以被認為通過
驗證,雖然通過計算^c/"mo^可以恢復完整簽名(r,s)(如果驗證者 14希望使用或驗證完整簽名(r,s))。
在許多實際應用中,R的選擇通常被縮小到在兩個值(例如R和 -R)之間選擇,而不考慮r。通常,用于求解R和某點W之間的離散 對數(shù)的算法也將找到-R和W之間的對數(shù),這是因為如果第一個對數(shù) 是例如u,則另一個是-u。典型地,檢查-u足夠小較為容易,因此, 對于每一對候選的(R,-R),計算一個離散對數(shù)通常是足夠的。
通過以驗證者14執(zhí)行額外的"次橢圓曲線組運算為代價來去除 2b個比特,上面的壓縮方案可以有效地壓縮ECDSA簽名,其中b是 由簽名者選擇的預定值。對于已知壓縮技術,節(jié)約2b個比特的代價是 ^次額外的簽名驗證,對與適中大小的b而言這是相當大的額外代價。
應當注意,ECDSA簽名(r,s)的驗證、壓縮和解壓縮可以在不使用 私有密鑰的情況下完成。從安全的角度來看,這意味著壓縮的ECDSA 簽名在很大程度上保證如完整簽名一樣安全,這是因為無需私有密鑰 來壓縮和解壓縮完整簽名。從實用的角度來看,這意味著第三方可以 通過使用包括上述方案在內的方法來驗證壓縮的簽名,從而提供服務。 例如,CA可以作為中間媒介來壓縮簽名者創(chuàng)建的簽名并將其轉發(fā)給 接收者,在接收者處對其進行驗證。
雖然參考特定具體實施例描述了本發(fā)明,但是,對于本領域技術 人員來說,在不脫離所附權利要求中所述的本發(fā)朋的精神和范圍的前 提下,本發(fā)明各種變型將是顯而易見的。例如,該技術可以與其它離 散對數(shù)簽名算法一起使用,所述其它離散對數(shù)簽名算法使用短暫的私 有密鑰來生成隨后與消息綁定的第一簽名分量并使用簽名者的長期私 有密鑰來生成第二簽名分量。
權利要求
1、一種對消息的數(shù)字簽名進行壓縮的方法,所述簽名包括一對簽名分量r、s,所述方法包括獲得與s在數(shù)學上相關的一對值c、d,c、d中的一個值小于s;使用所述一個值來替代數(shù)字簽名中的簽名分量s;以及將所述簽名轉發(fā)給接收者。
2、 根據(jù)權利要求1所述的方法,其中,所述值c,d滿足預定準則。
3、 根據(jù)權利要求2所述的方法,其中,所述d值被要求落入預定的界內。
4、 根據(jù)權利要求3所述的方法,其中,所述值c小于所述分量s。
5、 根據(jù)權利要求4所述的方法,其中,所述分量r、s表示ECDSA簽名。
6、 根據(jù)權利要求1所述的方法,其中,s、 c和d相關,使得s=c/d mod n。
7、 根據(jù)權利要求6所述的方法,其中,所獲得的所述值c、 d滿足預定準則。
8、 根據(jù)權利要求7所述的方法,其中,所述值c、 d是通過應用擴展Euclidean算法來獲得的,所述算法的迭代在滿足所述預定準則時終止。
9、 根據(jù)權利要求6所述的方法,其中,所述一個值對應于c。
10、 根據(jù)權利要求6所述的方法,其中,所述一個值對應于d。
11、 一種對根據(jù)權利要求1而生成的簽名進行驗證的方法,包括從所述簽名恢復與所述值c、 d中的另一個值相等的值,并確定所恢復的值是否滿足定義的準則。
12、 根據(jù)權利要求11所述的方法,其中,所述另一個值的恢復是通過對所述簽名分量進行組合而獲得的。
13、 根據(jù)權利要求12所述的方法,其中,從所述消息獲得中間值,并將所述中間值與從所述簽名分量獲得的值組合,以恢復所述另一個值。
14、 根據(jù)權利要求11所述的方法,其中,所述另一個值被要求落入定義的界內。
15、 根據(jù)權利要求11所述的方法,包括以下步驟如果所述另一個值不滿足所述預定準則,則拒絕所述簽名。
16、 根據(jù)權利要求11所述的方法,包括以下步驟如果所述另一個值滿足所述預定準則,則接受所述簽名。
17、 根據(jù)權利要求16所述的方法,其中,對原始簽名執(zhí)行進一步驗證,所述原始簽名是通過將所述一個值和所述接收者恢復的所述另一個值應用至所述接收者接收的所述簽名而獲得的。
18、 一種密碼系統(tǒng),用于根據(jù)一對簽名分量r、 s來生成壓縮的簽名,所述系統(tǒng)具有算術單元,用于提供與S在數(shù)學上相關的一對值C、 d;以及簽名生成器,用于使用C、 d中的一個值來替代所述簽名S。
19、 一種密碼系統(tǒng),用于驗證從使用根據(jù)權利要求18所述的系統(tǒng)的發(fā)送者接收的簽名r、 C,所述密碼系統(tǒng)包括算術單元,用于恢復c、 d中的另一個值并將所述另一個值與預定準則進行比較。
全文摘要
本發(fā)明提供了一種用于壓縮ECDSA簽名的改進壓縮方案。對于簽名(r,s),所述方案使用小于s的值c來替代(r,s)中的整數(shù)s。值c是根據(jù)s和另一個值d來導出的,d足夠小使得c小于s。通過使用r和e來計算值,e是消息m的散列,并使用所述值和從r恢復的值R來導出值d,從而驗證壓縮的簽名(r,c)。隨后可以恢復值s并且隨后恢復并驗證完整簽名。
文檔編號H04L9/32GK101647229SQ200780041946
公開日2010年2月10日 申請日期2007年11月13日 優(yōu)先權日2006年11月13日
發(fā)明者斯科特·A·范斯騰 申請人:塞爾蒂卡姆公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
威宁| 军事| 梅河口市| 鸡泽县| 桂东县| 莫力| 凌源市| 白玉县| 迭部县| 永和县| 绍兴县| 淮南市| 福安市| 吉林市| 石林| 怀仁县| 萨嘎县| 普兰店市| 萨迦县| 天门市| 安阳县| 阳江市| 沙洋县| 游戏| 六安市| 无棣县| 纳雍县| 保亭| 水富县| 阳朔县| 陵川县| 阆中市| 乌拉特后旗| 通渭县| 甘泉县| 颍上县| 孟连| 中方县| 繁昌县| 会东县| 东阿县|