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

數(shù)字簽名和驗證數(shù)字簽名的方法、系統(tǒng)、設備和生成器的制作方法

文檔序號:7664951閱讀:322來源:國知局
專利名稱:數(shù)字簽名和驗證數(shù)字簽名的方法、系統(tǒng)、設備和生成器的制作方法
技術(shù)領域
本發(fā)明涉及通信領域,特別涉及一種數(shù)字簽名和驗證數(shù)字簽名的方法、系統(tǒng)、設備和生 成器。
背景技術(shù)
傳統(tǒng)的公鑰密碼體制包括加密、簽名和密鑰協(xié)商技術(shù),這些技術(shù)多數(shù)基于某些數(shù)論難題, 例如整數(shù)分解問題(IFP, Integer Factoring Problem)、離散對數(shù)問題(DLP, Discrete Logarithm Problem),以及其在橢圓曲線上擴展的橢圓曲線上的離散對數(shù)問題(ECDLP, Elliptic Curve Discrete Logarithm Problem)。然而,在量子計算環(huán)境下,這些問題可以通過多項式時間復雜 度和多項式空間復雜度解決。為了增強公鑰密碼體制在量子計算環(huán)境下的安全性,現(xiàn)有技術(shù) 提出了一些新的公鑰密碼學平臺,其中包括基于辮子群等非交換群上的一些公鑰密碼系統(tǒng)。
基于辮子群或者其它非交換群上的密碼方案通常基于兩類難題共軛搜索難題(CSP, Conjugacy Search Problem)和求根難題(RP, Root Problem),以及由兩類難題所演變出的問 題。
上述基于辮子群或者其它非交換群上的密碼方案有兩個特點 一是定義在無限階非交換
群上;二是基于純代數(shù)的方法,對數(shù)論難題的依賴比較少,既不依賴于大整數(shù)分解,也不依 賴于離散對數(shù)計算?;谶@兩個特點,這些密碼方案在將來可能能夠抵抗量子計算機的攻擊。
現(xiàn)有技術(shù)中有兩種基于辮子群的數(shù)字簽名方案, 一個方案是基于匹配共軛搜索問題 (MCSP, Matching Conjugacy Search Problem),該方案的缺陷是將兩個通過正常途徑獲得的 己知的兩個消息的簽名乘起來,就能得到一個新的有效的簽名。另一個方案是基于匹配三元 共軛搜索問題(MTSP, Matching Triple conjugacy Search Problem),該方案的簽名計算和驗 證計算比較復雜。另外,這兩個方案均沒有被證明可以達到數(shù)字簽名的標準安全性要求,即 自適應選擇消息攻擊下存在性不可偽造(EUF-CMA, Existentially Unforgeable against Chosen Message Attack)。所謂選擇消息攻擊下存在性不可偽造是指允許攻擊者詢問(即經(jīng)過合法 途徑獲得)他所自適應地選擇的消息的簽名,在這樣的前提下,該攻擊者能夠輸出一個成功 的偽造簽名的概率仍然是可以忽略的。

發(fā)明內(nèi)容
為了增強簽名的安全性,本發(fā)明實施例提供了一種數(shù)字簽名和驗證數(shù)字簽名的方法、系 統(tǒng)、設備和抗碰撞哈希函數(shù)生成器。所述技術(shù)方案如下 一種數(shù)字簽名的方法,所述方法包括
從系統(tǒng)參數(shù)所確定的辮子群中隨機選擇第一辮子W,作為私鑰;
以所述第一辮子W為共軛子的共軛對(P, P')作為公鑰,所述公鑰包括第二辮子P和 第三辮子P';
將包括欲簽名的消息m的數(shù)據(jù)經(jīng)哈希變換后與所述公鑰中的第二辮子P連接; 以所述私鑰W作為共軛子,與連接結(jié)果進行共軛,生成簽名辮子R; 根據(jù)所述簽名辮子R生成所述欲簽名的消息m的簽名。 本發(fā)明實施例還提供了 一種驗證數(shù)字簽名的方法,所述方法包括 解析簽名,得到包括欲簽名的消息的數(shù)據(jù)和簽名辮子;
對所述包括欲簽名的消息的數(shù)據(jù)進行哈希變換,得到第一驗證辮子,所述哈希變換與簽 名者采用的哈希變換相同;
對簽名者公鑰中的第三辮子進行逆運算后與所述簽名辮子連接得到第二驗證辮子; 判斷所述第一驗證辮子是否與所述第二驗證辮子共軛;
用簽名者公鑰中的第二辮子與所述第一驗證辮子連接,判斷連接結(jié)果是否與所述簽名辮 子共軛;
如果所述第一驗證辮子與所述第二驗證辮子共軛,且所述第二辮子和所述第一驗證辮子
連接結(jié)果與所述簽名辮子共軛,所述簽名驗證通過。
進一步地,本發(fā)明實施例還提供了一種數(shù)字簽名系統(tǒng),所述系統(tǒng)包括
簽名設備,用于從系統(tǒng)參數(shù)所確定的辮子群中隨機選擇第一辮子W,作為私鑰;以所述
第一辮子W為共軛子的共軛對(P, P')作為公鑰,所述公鑰包括第二辮子P和第三辮子P';
將包括欲簽名的消息m的數(shù)據(jù)經(jīng)哈希變換后與所述公鑰中的第二辮子P連接;以所述私鑰W
作為共軛子,與連接結(jié)果進行共軛,生成簽名辮子R;根據(jù)所述簽名辮子R生成所述欲簽名
的消息m的簽名;
簽名驗證設備,用于解析所述簽名設備的簽名,得到所述包括欲簽名的消息的數(shù)據(jù)和簽 名辮子;對所述包括欲簽名的消息的數(shù)據(jù)進行哈希變換,得到第一驗證辮子,所述哈希變換 與所述簽名設備采用的哈希變換相同;對所述簽名設備公鑰中的第三辮子進行逆運算后與所 述簽名辮子連接得到第二驗證辮子;判斷所述第一驗證辮子是否與所述第二驗證辮子共軛;用所述簽名設備公鑰中的第二辮子與所述第一驗證辮子連接,判斷連接結(jié)果是否與所述簽名 辮子共軛;如果所述第一驗證辮子與所述第二驗證辮子共軛,且所述第二辮子和所述第一驗 證辮子連接結(jié)果與所述簽名辮子共軛,所述簽名驗證通過。 本發(fā)明實施例還提供了一種簽名設備,所述設備包括
密鑰生成模塊,用于從系統(tǒng)參數(shù)所確定的辮子群中隨機選擇第一辮子W,作為私鑰;以 所述第一辮子W為共軛子的共軛對(P, P')作為公鑰,所述公鑰包括第二辮子P和第三辮 子P';
簽名辮子生成模塊,用于將包括欲簽名的消息m的數(shù)據(jù)經(jīng)哈希變換后與所述密鑰生成模 塊生成的公鑰中的第二辮子P連接;以所述私鑰W作為共軛子,與連接結(jié)果進行共軛,生成 簽名辮子R;
簽名生成模塊,用于根據(jù)所述簽名辮子生成模塊所生成的簽名辮子R生成所述欲簽名的
消息m的簽名。
本發(fā)明實施例還提供了一種簽名驗證設備,所述設備包括 解析簽名模塊,用于解析簽名,得到包括欲簽名的消息的數(shù)據(jù)和簽名辮子; 第一驗證辮子生成模塊,用于對所述解析簽名模塊解析出的包括欲簽名的消息的數(shù)據(jù)進
行哈希運算,得到第一驗證辮子;
第二驗證辮子生成模塊,用于對簽名者公鑰中的第三辮子進行逆運算后與所述簽名辮子
連接得到第二驗證辮子;
驗證模塊,用于判斷所述第一驗證辮子是否與所述第二驗證辮子共軛;用所述簽名者公
鑰中的第二辮子與所述第一驗證辮子連接,判斷連接結(jié)果是否與所述簽名辮子共軛;如果所
述第一驗證辮子與所述第二驗證辮子共軛,且所述第二辮子和所述第一驗證辮子連接結(jié)果與
所述簽名辮子共軛,所述簽名驗證通過。
本發(fā)明實施例還提供了一種抗碰撞哈希函數(shù)生成器,所述生成器包括 中間消息生成模塊,用于將欲做哈希變換的消息映射為預定長度的中間消息; 基礎辮子生成模塊,用于將所述中間消息劃分為等長的多個段,將每段作為一個生成辮
子,根據(jù)所述生成辮子得到基礎辮子;
目標辮子生成模塊,用于將所述基礎辮子生成模塊中每段的生成辮子用所述基礎辮子連
接,形成目標辮子;
哈希函數(shù)生成模塊,用于將欲做哈希變換的消息為輸入,所述目標辮子生成模塊中的目 標辮子為輸出,生成抗碰撞哈希函數(shù)。本發(fā)明實施例提供的技術(shù)方案的有益效果是
通過基于共軛連接操作進行數(shù)字簽名,其安全性基礎是共軛連接問題的難解性,被證明 可以達到數(shù)字簽名的標準安全性要求。
由于充分利用了辮子群運算非交換的特點,沒有相應的私鑰就無法正確實施共軛連接操 作,即使把兩個通過正常途徑獲得的己知的兩個消息的簽名乘起來,也是不正確的共軛連接, 即不能得到一個新的有效的簽名,因而更加安全。同時,本發(fā)明實施例所述的技術(shù)方案的簽 名計算和驗證計算簡單,在效率上優(yōu)于現(xiàn)有技術(shù)的方案。


圖1是本發(fā)明實施例1提供的數(shù)字簽名的方法流程圖2是本發(fā)明實施例2提供的驗證數(shù)字簽名的方法流程圖3是本發(fā)明實施例3提供的數(shù)字簽名的系統(tǒng)的結(jié)構(gòu)示意圖4是本發(fā)明實施例4提供的簽名設備的結(jié)構(gòu)示意圖5是本發(fā)明實施例5提供的簽名驗證設備的結(jié)構(gòu)示意圖6是本發(fā)明實施例6提供的抗碰撞哈希函數(shù)生成器的結(jié)構(gòu)示意圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進 一步地詳細描述。
本發(fā)明實施例基于辮子群或一般非交換群的非交換性的特點,提出了一個新的基于辮子 群的密碼學難題——基于共軛連接問題(CAP, ConjugacyAdjonProblem),基于此共軛連接 問題,提出了一種數(shù)字簽名方法、系統(tǒng)、設備和生成器。
所謂共軛連接問題是指給定三個辮子p, q和c,其中辮子q和辮子p共軛,即存在某 個辮子s為共軛子,使將辮子p跟辮子c連接起來,即辮子p和c的乘積pc;用 pc與上述辮子s進行共軛,求得辮子r,使得辮子r與辮子pc共軛,用公式表述為r = 其中,s是未公開的,為用戶的私鑰。
顯然,對于擁有私鑰的人來說,這個問題很容易求解;而對于沒有私鑰的人來說,要解 此問題就相當困難??梢宰C明,這個問題和共軛搜索問題(CSP) —樣難。
實施例1
本實施例提供了一種數(shù)字簽名的方法,利用私鑰對欲簽名的消息進行共軛連接操作,生成簽名辮子,并根據(jù)簽名辮子生成欲簽名的消息的簽名。參見圖1,該方法具體包括以下步 驟
步驟101:選擇系統(tǒng)參數(shù),具體選擇的系統(tǒng)參數(shù)如下
選擇n為系統(tǒng)安全參數(shù),即辮子群數(shù),n取正整數(shù),n取值越高,安全性越高。 Bn為辮子群,辮子群數(shù)為n,后續(xù)所有辮子的操作均在辮子群Bn上進行。 消息空間和簽名空間分別為(0,lf和(0,l"xBn,其中,消息空間指定了欲簽名的消息的
長度,簽名空間指定了簽名后輸出結(jié)果的長度。設每個消息的長度為k(通常k為大于64位)。 哈希函數(shù)H:{0,l}k+Bn為一個抗碰撞的Hash函數(shù),該抗碰撞的哈希函數(shù)H用于把一個k
位的隨機比特串映射成一個辮子,該抗碰撞哈希函數(shù)H的生成過程如下
1) 使用某個公開的抗碰撞哈希函數(shù)Ho將消息映射為某個定長的中間消息;
如通過Ho將任意長度的消息映射為L位的二進制串,本實施例中的Ho可以選擇現(xiàn)有技 術(shù)中的任何一個沒有被攻破(或抗碰撞)的哈希函數(shù),如選擇SHA256,此處L=256;或 SHA384,此處L:384;或SHA512,此處L-512;或者FORK256, L:256等。
2) 將中間消息劃分為等長的若干小段,每段表示某個生成辮子,即某個Artin生成子或 者其逆辮子;
3) 將每段表示成的生成辮子用基礎辮子連接,即用基礎辮子將生成辮子乘起來,形成目 標辮子;
4) 目標辮子就是最終的哈希函數(shù)的輸出。
將上述l)中消息作為輸入,將目標辮子作為輸出,就生成了抗碰撞的Hash函數(shù)。 例如對于給定的k位長的消息的二進制串bib2…bk,先用&映射1)11>2...1^為1^位二進 制串CiC2…Cl;
設to為不超過log2ll的最大正整數(shù),并令t^to+l;
再將dC2…cl從左(即最高位)到右(即最低位),每t位劃分成一段,共得U段,此處
u為不超過L/t的最大正整數(shù)。最后一段如果不足t位,可按照固定的方式補足t位,如在該 段的前面或者后面補0或1,或者在該段的某個固定位填充0或1。本實施例中在后面補l。 將得到的每段t位的二進制串的第一位看作正負號(如0為正,1為負),將后面t-l位看 作0到n-l中間的某個值的二進制編碼,則得到一個數(shù)+i(或者一i),其中i在0和n-l之間。 把這個t位的二進制串看作為o",(或者o",—。,即第i個Artin生成子(或者第i個Artin生成 子的逆);
得到的u個Artin生成子(或者其逆)分別為C7 ,1或者_1, &=1,2,...,u,令H(b山2…bk)為如下辮子
其中A為基礎辮子,即 '
△ = (°V. .°Vl CT _2 )…(0"CT2
可以證明,對于上述方法構(gòu)造的哈希函數(shù)H: {0,l}k^Bn, H的一個碰撞等價為Ho的一 個碰撞。因此,Ho的抗碰撞屬性保證了H的抗碰撞屬性。
步驟102:根據(jù)系統(tǒng)參數(shù)生成公鑰和私鑰;具體過程如下
從辮子群Bn中隨機選擇兩個辮子,分別為第一辮子W和第二辮子P,將第一辮子W作 為共軛子,根據(jù)該共軛子獲取與第二辮子P共軛的第三辮子P',下面用Q來表示P'。這里可
以通過Q:W"PW計算得到。得到公鑰pk:(P,Q)和私鑰Sk:W。公鑰由兩部分組成,即
用兩個共軛的辮子作為公鑰,而將其共軛子作為私鑰。
步驟103:采用步驟101中生成的抗碰撞哈希函數(shù)對欲簽名的消息m進行哈希運算得到 消息辮子H(m)。
步驟104:利用公鑰中的第二辮子P和私鑰W對消息辮子H(m)進行共軛連接操作,生 成簽名辮子。具體過程為
將第二辮子P與消息辮子H(m)連接起來,即進行乘積運算,得到中間辮子PH(m); 將私鑰W作為共軛子,獲取與中間辮子PH(m)共軛的簽名辮子R-W"PH(m)W。 步驟105:根據(jù)簽名辮子R生成欲簽名的消息m的簽名。 將欲簽名的消息m和簽名辮子組合起來,得到簽名(m,R)。
采用上述數(shù)字簽名的方法,由于充分利用了辮子群運算非交換的特點,沒有相應的私鑰 就無法正確實施共軛連接操作,因而更加安全。
上述簽名方法是對固定長度的消息進行的簽名,屬于確定性的,根據(jù)實際需要,可以按照 下列方式簡單地改為概率性的
把原消息空間中的某些比特位看作隨機填充位,例如原消息空間設定為k位,取出ko 位作為隨機填充位,新的消息空間現(xiàn)在變?yōu)閗-ko位,即欲簽名的消息m的長度變?yōu)閗-ko位, 如果還有多余的。進行消息簽名時,先選擇ko位長度的隨機比特串c,再將欲簽名的消息m(長 度為k-ko位)與c拼接起來,即mllc,然后令簽名辮子為I^W-^H(mllc)W,其余步驟同上。 最后,完整的消息簽名是(m,c,R)。
采用上述填充ko位長度的隨機比特串的方法,由于每次簽名時,比特串的內(nèi)容不同,因 此每次的簽名也不同,能夠抵抗存儲消息攻擊。ko位長度長度需要預先設置,這樣在后續(xù)驗 證的時候可以按照該長度區(qū)分出欲簽名的消息和隨機填充的數(shù)據(jù)。
10實際應用時,如果消息的長度小于k位時,則在消息的頭部或尾部補充O或者1;使消 息的長度為k位。當消息的長度大于k位時,將消息劃分為多個段,每個段的長度為k位, 當最后一段不足k位時,通過在最后一段中添加O或l補足為k位,依次對每一段應用上述 步驟104中的方法生成簽名辮子,再將(m, R)作為該段消息的簽名依次發(fā)送給對端。
當消息的長度大于k位時,也可以應用后一種方式,將原消息空間中的ko位作為隨機填 充位。將消息劃分多個段,每個段的長度為k-ko位,進行消息簽名時,在每一段后面添加ko 位的隨機比特串c,依次對添加比特串后的每一段應用上述步驟104中的方法生成簽名辮子, 再將(m, c, R)作為該段消息的簽名發(fā)送給對端。
上述對不足k位的消息補充0或1的規(guī)則需要提前設定,以及作為隨機填充位的ko位在 消息頭部或尾部也需要提前設定。
實施例2
參見圖2,本實施例提供了一種驗證數(shù)字簽名的方法,包括以下步驟 步驟201:解析簽名(m,R),解析出欲簽名消息m和簽名辮子R。
當簽名為(m,c,R)時,本步驟對(m, c, R)進行解析,解析出的欲簽名的消息m、比特串c 和簽名辮子R。
步驟202:采用與簽名時相同的抗碰撞哈希函數(shù)對欲簽名的消息m進行哈希運算,得到 第一驗證辮子C= H(m)。
當步驟201解析簽名的結(jié)果為欲簽名的消息m、比特串c和簽名辮子R時,本步驟可以 將欲簽名的消息m和比特串c進行拼接;對拼接的結(jié)果進行哈希運算,得到第一驗證辮子C= H(mllc)。下面敘述中以C-H(m)為例,C= H(mllc)的執(zhí)行步驟與之相似,不再贅述。
步驟203:對簽名者公鑰pk中的第三辮子Q進行逆運算,并將運算結(jié)果Q"與簽名辮子 R進行乘積運算得到第二驗證辮子R'^RQ—^W"PH(m)WQ'1 。
步驟204:用簽名者公鑰中的第二辮子P與第一驗證辮子C連接,即相乘,得到PC-PH(m), 判斷連接的結(jié)果是否與簽名辮子R共軛;以及判斷第一驗證辮子C是否與第二驗證辮子R' 共軛;如果都共軛,執(zhí)行步驟205;否則,執(zhí)行步驟206。
步驟205:簽名驗證通過。
步驟206:簽名驗證不通過。
下面以其它用戶得到上述簽名(m, R)為例,簡單介紹一下對簽名驗證設備具體驗證過

1)將簽名(m,R)作為輸入,計算兩個辮子C二H(m)和R^RQ";2) 判斷辮子P和辮子C的連接是否與辮子R共軛;以及判斷辮子C是否和辮子R'共軛, 用公式表示為R PC和R' C。
3) 當如果R PC和R' C共軛關(guān)系同時成立,則該簽名正確,并輸出1;否則,該簽 名錯誤,并輸出0。
實施例3
參見圖3,本實施例提供了一種數(shù)字簽名系統(tǒng),包括
簽名設備301,用于從系統(tǒng)參數(shù)所確定的辮子群中隨機選擇第一辮子W,作為私鑰;以
第一辮子W為共軛子的共軛對(P, P')作為公鑰,該公鑰包括第二辮子P和第三辮子P';
將包括欲簽名的消息m的數(shù)據(jù)經(jīng)哈希變換后與上述公鑰中的第二辮子P連接;以私鑰W作 為共軛子,與連接結(jié)果進行共軛,生成簽名辮子R;根據(jù)簽名辮子R生成欲簽名的消息m的 簽名;
簽名驗證設備302,用于解析簽名設備301的簽名,得到包括欲簽名的消息的數(shù)據(jù)和簽 名辮子;對包括欲簽名的消息的數(shù)據(jù)進行哈希變換,得到第一驗證辮子,該哈希變換與簽名 設備301采用的哈希變換相同;對簽名設備301公鑰中的第三辮子進行逆運算后與簽名辮子 連接得到第二驗證辮子;判斷第一驗證辮子是否與第二驗證辮子共軛;用簽名設備301公鑰 中的第二辮子與第一驗證辮子連接,判斷連接結(jié)果是否與簽名辮子共軛;如果第一驗證辮子 與第二驗證辮子共軛,且第二辮子和第一驗證辮子連接結(jié)果與簽名辮子共軛,簽名驗證通過。
實施例4
參見圖4,本實施例提供了一種簽名設備,包括
密鑰生成模塊401,用于從系統(tǒng)參數(shù)所確定的辮子群中隨機選擇第一辮子W,作為私鑰; 以第一辮子W為共軛子的共軛對(P, P')作為公鑰,該公鑰包括第二辮子P和第三辮子P';
簽名辮子生成模塊402,用于將包括欲簽名的消息m的數(shù)據(jù)經(jīng)哈希變換后與密鑰生成模 塊401生成的公鑰中的第二辮子P連接;以私鑰W作為共軛子,與連接結(jié)果進行共軛,生成 簽名辮子R;
簽名生成模塊403,用于根據(jù)簽名辮子生成模塊402所生成的簽名辮子R生成欲簽名的 消息m的簽名。 實施例5
參見圖5,本實施例提供了一種簽名驗證設備,包括
解析簽名模塊501,用于解析簽名,得到包括欲簽名的消息的數(shù)據(jù)和簽名辮子; 第一驗證辮子生成模塊502,用于對解析簽名模塊501解析出的包括欲簽名的消息的數(shù)
12據(jù)進行哈希運算,得到第一驗證辮子;
第二驗證辮子生成模塊503,用于對簽名者公鑰中的第三辮子進行逆運算后與簽名辮子 連接得到第二驗證辮子;
驗證模塊504,用于判斷第一驗證辮子是否與第二驗證辮子共軛;用簽名者公鑰中的第 二辮子與第一驗證辮子連接,判斷連接結(jié)果是否與簽名辮子共軛;如果第一驗證辮子與第-二 驗證辮子共軛,且第二辮子和第一驗證辮子連接結(jié)果與簽名辮子共軛,簽名驗證通過。
實施例6
參見圖6,本實施例提供了一種抗碰撞哈希函數(shù)生成器,包括
中間消息生成模塊601,用于將包括簽名消息的數(shù)據(jù)經(jīng)抗碰撞哈希函數(shù)映射為預定長度 的中間消息;
基礎辮子生成模塊602,用于將上述中間消息劃分為等長的多個段,將每段作為一個生 成辮子,根據(jù)生成辮子得到基礎辮子;
目標辮子生成模塊603,用于將基礎辮子生成模塊602中每段的生成辮子用基礎辮子連 接,形成目標辮子。
上述方案中的全部或部分步驟可以通過指令控制相應的硬件完成,該指令可以存儲于存 儲介質(zhì)中,存儲介質(zhì),如計算機或服務器的硬盤和內(nèi)存中。
在本發(fā)明實施例利用辮子群密碼體制具有的非交換性特點,提出了新的基于辮子的密碼 學難題假設,即共軛連接問題;并基于此假設設計了一種新的數(shù)字簽名方案,該方案增強了 數(shù)字簽名的安全性和高效性,并且其安全性可以被驗證。
以上僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi), 所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1. 一種數(shù)字簽名的方法,其特征在于,從系統(tǒng)參數(shù)所確定的辮子群中隨機選擇第一辮子W,作為私鑰;以所述第一辮子W為共軛子的共軛對第二辮子P和第三辮子P′作為公鑰;將包括欲簽名的消息m的數(shù)據(jù)經(jīng)哈希變換后與所述公鑰中的第二辮子P連接;以所述私鑰W作為共軛子,與連接結(jié)果進行共軛,生成簽名辮子R;根據(jù)所述簽名辮子R生成所述欲簽名的消息m的簽名。
2. 如權(quán)利要求1所述的數(shù)字簽名的方法,其特征在于,所述哈希變換為抗碰撞哈希變換。
3. 如權(quán)利要求2所述的數(shù)字簽名的方法,其特征在于,對欲簽名的消息進行哈希變換的 步驟具體包括將欲簽名的消息經(jīng)抗碰撞哈希函數(shù)Ho映射為預定長度的中間消息;將所述中間消息劃分為等長的多個段,將每段作為一個生成辮子,根據(jù)所述生成辮子得到基礎辮子;將所述每段的生成辮子用所述基礎辮子連接。
4. 如權(quán)利要求1或2所述的數(shù)字簽名的方法,其特征在于,還包括 選擇系統(tǒng)安全參數(shù)n, n取正整數(shù);根據(jù)所述系統(tǒng)安全參數(shù)n確定辮子群Bn;所述第一辮子W、第二辮子P屬于所述辮子 群Bn。
5. 如權(quán)利要求1或2所述的數(shù)字簽名的方法,其特征在于,所述包括欲簽名的消息m的數(shù)據(jù)為由欲簽名消息構(gòu)成的數(shù)據(jù)或在欲簽名消息m后拼接預設長度的比特串構(gòu)成的數(shù)據(jù)。
6. —種驗證數(shù)字簽名的方法,其特征在于,所述方法包括 解析簽名,得到包括欲簽名的消息的數(shù)據(jù)和簽名辮子;對所述包括欲簽名的消息的數(shù)據(jù)進行哈希變換,得到第一驗證辮子,所述哈希變換與簽 名者采用的哈希變換相同;對簽名者公鑰中的第三辮子進行逆運算后與所述簽名辮子連接得到第二驗證辮子; 判斷所述第一驗證辮子是否與所述第二驗證辮子共軛;用簽名者公鑰中的第二辮子與所述第一驗證辮子連接,判斷連接結(jié)果是否與所述簽名辮 子共軛;如果所述第一驗證辮子與所述第二驗證辮子共軛,且所述第二辮子和所述第一驗證辮子 連接結(jié)果與所述簽名辮子共軛,所述簽名驗證通過。
7. 如權(quán)利要求6所述的驗證數(shù)字簽名的方法,其特征在于,所述包括欲簽名的消息m的數(shù)據(jù)為由欲簽名消息構(gòu)成的數(shù)據(jù)或在欲簽名消息m后拼接預設長度的比特串構(gòu)成的數(shù)據(jù)。
8. —種數(shù)字簽名系統(tǒng),其特征在于,所述系統(tǒng)包括簽名設備,用于從系統(tǒng)參數(shù)所確定的辮子群中隨機選擇第一辮子W,作為私鑰;以所述 第一辮子W為共軛子的共軛對(P, P')作為公鑰,所述公鑰包括第二辮子P和第三辮子P'; 將包括欲簽名的消息m的數(shù)據(jù)經(jīng)哈希變換后與所述公鑰中的第二辮子P連接;以所述私鑰W 作為共軛子,與連接結(jié)果進行共軛,生成簽名辮子R;根據(jù)所述簽名辮子R生成所述欲簽名 的消息m的簽名;簽名驗證設備,用于解析所述簽名設備的簽名,得到所述包括欲簽名的消息的數(shù)據(jù)和簽 名辮子;對所述包括欲簽名的消息的數(shù)據(jù)進行哈希變換,得到第一驗證辮子,所述哈希變換 與所述簽名設備采用的哈希變換相同;對所述簽名設備公鑰中的第三辮子進行逆運算后與所 述簽名辮子連接得到第二驗證辮子;判斷所述第一驗證辮子是否與所述第二驗證辮子共軛; 用所述簽名設備公鑰中的第二辮子與所述第一驗證辮子連接,判斷連接結(jié)果是否與所述簽名 辮子共軛;如果所述第一驗證辮子與所述第二驗證辮子共軛,且所述第二辮子和所述第一驗 證辮子連接結(jié)果與所述簽名辮子共軛,所述簽名驗證通過。
9. 一種簽名設備,其特征在于,所述設備包括密鑰生成模塊,用于從系統(tǒng)參數(shù)所確定的辮子群中隨機選擇第一辮子W,作為私鑰;以 所述第一辮子W為共軛子的共軛對第二辮子P和第三辮子P'作為公鑰;簽名辮子生成模塊,用于將包括欲簽名的消息m的數(shù)據(jù)經(jīng)哈希變換后與所述密鑰生成模 塊生成的公鑰中的第二辮子P連接;以所述私鑰W作為共軛子,與連接結(jié)果進行共軛,生成 簽名辮子R;簽名生成模塊,用于根據(jù)所述簽名辮子生成模塊所生成的簽名辮子R生成所述欲簽名的 消息m的簽名。
10. —種簽名驗證設備,其特征在于,所述設備包括解析簽名模塊,用于解析簽名,得到包括欲簽名的消息的數(shù)據(jù)和簽名辮子; 第一驗證辮子生成模塊,用于對所述解析簽名模塊解析出的包括欲簽名的消息的數(shù)據(jù)進 行哈希運算,得到第一驗證辮子;第二驗證辮子生成模塊,用于對簽名者公鑰中的第三辮子進行逆運算后與所述簽名辮子 連接得到第二驗證辮子;驗證模塊,用于判斷所述第一驗證辮子是否與所述第二驗證辮子共軛;用所述簽名者公 鑰中的第二辮子與所述第一驗證辮子連接,判斷連接結(jié)果是否與所述簽名辮子共軛;如果所 述第一驗證辮子與所述第二驗證辮子共軛,且所述第二辮子和所述第一驗證辮子連接結(jié)果與 所述簽名辮子共軛,所述簽名驗證通過。
11. 一種抗碰撞哈希函數(shù)生成器,其特征在于,所述生成器包括中間消息生成模塊,用于將欲包括簽名的消息的數(shù)據(jù)經(jīng)抗碰撞哈希函數(shù)映射為預定長度 的中間消息;基礎辮子生成模塊,用于將所述中間消息劃分為等長的多個段,將每段作為一個生成辮 子,根據(jù)所述生成辮子得到基礎辮子;目標辮子生成模塊,用于將所述基礎辮子生成模塊中每段的生成辮子用所述基礎辮子連 接,形成目標辮子。
全文摘要
本發(fā)明公開了一種數(shù)字簽名和驗證數(shù)字簽名的方法、系統(tǒng)、設備和生成器,屬于通信領域。其方法包括隨機選擇第一辮子作為私鑰;以第一辮子為共軛子的共軛對作為公鑰,公鑰包括第二辮子和第三辮子;將包括欲簽名的消息的數(shù)據(jù)經(jīng)哈希變換后與第二辮子連接;以私鑰作為共軛子,與連接結(jié)果進行共軛生成簽名辮子;根據(jù)簽名辮子生成簽名。系統(tǒng)包括簽名設備和簽名驗證設備。簽名設備包括密鑰生成模塊、簽名辮子生成模塊和簽名生成模塊。簽名驗證設備包括解析簽名模塊、第一驗證辮子生成模塊、第二驗證辮子生成模塊和驗證模塊。本發(fā)明通過共軛連接操作進行數(shù)字簽名,其安全性基礎是共軛連接問題的難解性,增強了簽名的安全性和有效性。
文檔編號H04L9/28GK101425898SQ200710176648
公開日2009年5月6日 申請日期2007年10月31日 優(yōu)先權(quán)日2007年10月31日
發(fā)明者位繼偉, 曹珍富, 王勵成, 董曉蕾 申請人:上海交通大學;華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
西城区| 江陵县| 泽普县| 仁化县| 信宜市| 固原市| 额济纳旗| 长武县| 苍南县| 西平县| 无棣县| 武穴市| 天津市| 益阳市| 镇江市| 开原市| 建阳市| 宁陕县| 凤城市| 泗水县| 游戏| 大竹县| 南皮县| 长岛县| 田阳县| 孝义市| 南昌县| 南京市| 杭锦后旗| 盐城市| 白玉县| 鸡西市| 新乐市| 监利县| 巴楚县| 腾冲县| 桂阳县| 镇康县| 吴旗县| 新宁县| 五莲县|