專利名稱::數(shù)字簽名方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及信息安全
技術(shù)領(lǐng)域:
,尤其涉及一種數(shù)字簽名方法。
背景技術(shù):
:二十一世紀(jì)是信息的時(shí)代。除了電子信息科學(xué)技術(shù)繼續(xù)高速發(fā)展之外,量子和生物等新型信息科學(xué)正在建立和發(fā)展。量子信息科學(xué)的研究和發(fā)展催生了量子計(jì)算機(jī)、量子通信和量子密碼的出現(xiàn)。目前量子計(jì)算機(jī)的研發(fā)工作已取得了突破性的進(jìn)展,如2001年IBM公司率先研制成功了7量子比特的示例性量子計(jì)算機(jī)等。1994年Shor提出了著名的Shor算法,這是一種專用的密碼搜索破譯算法,其擴(kuò)展算法能以多項(xiàng)式時(shí)間攻擊所有能夠轉(zhuǎn)換為廣義離散傅里葉變換的公鑰密碼,包括RSA、ElGamal和ECC。這意味著一旦量子計(jì)算機(jī)走向?qū)嵱?,那么這些廣泛應(yīng)用的公鑰密碼體制將不再安全。隨著整數(shù)分解技術(shù)的發(fā)展(如二次篩法和數(shù)域篩法),RSA類體制為了保證其安全性就必須使用逐漸增大的參數(shù)。使用大模數(shù)的RSA體制的計(jì)算量很大,降低了該體制的加密和解密效率。因此這種體制對(duì)于資源有限的計(jì)算設(shè)備如蜂窩電話、智能卡等是不太適合的,更不用說無線傳感器網(wǎng)絡(luò)和射頻標(biāo)簽RFID。其次,下一代互聯(lián)網(wǎng)IPv6為了提高服務(wù)的安全性,引入大量的加密和認(rèn)證技術(shù),對(duì)于用戶而言,傳統(tǒng)公鑰密碼算法效率較低、加解密消耗的CPU時(shí)間會(huì)使用戶的服務(wù)相應(yīng)速度變慢。
發(fā)明內(nèi)容針對(duì)上述存在的技術(shù)問題,本發(fā)明的目的是提供一種輕量級(jí)新型數(shù)字簽名方法,其特征是基于矩陣分解的困難性、并結(jié)合哈希函數(shù)認(rèn)證技術(shù)構(gòu)造的新型數(shù)字簽名方法。為達(dá)到上述目的,本發(fā)明采用如下的技術(shù)方案(I)系統(tǒng)建立選擇一個(gè)輸出至少160位的標(biāo)準(zhǔn)哈希函數(shù)H()和有限域GF(q),其中q=2k、整數(shù)k小于哈希函數(shù)H()的輸出值長(zhǎng)度;xn+8),根據(jù)用戶安全性需求指定整數(shù)參數(shù)n、S和r的值(0<8,r<n);隨機(jī)選取GF(q)上的n維仿射雙射變換T;構(gòu)造基于哈希函數(shù)H(*)的可逆壓縮變換L:(Zl,…,zn)—(Xl,…,xn,xn+1,其中A為n-S維可逆方陣,系數(shù)Yi乒0(1彡i彡2S),而系數(shù)aij(1彡i彡6,1彡j彡n-1)以及常數(shù)項(xiàng)、(1彡i彡n)為隨機(jī)選擇;xn+i(l彡i彡6)為擴(kuò)展變量,它是向量(Xl,…,xn)前(n-6+i-l)個(gè)分量的哈希值,即其中Hk(0表示依次取出H(0輸出值的前k位,“||”表示將兩個(gè)比特串連接起來;令T—表示依次取出T的n-r行所構(gòu)成的變換,系統(tǒng)的公鑰為上述兩個(gè)映射T_和L的復(fù)合,G=roL,公鑰G是有限域GF(q)上n+S個(gè)輸入變量、n-r個(gè)輸出的線性不定方程組;私鑰為映射T和L的逆變換組成,D={T1,L—1};其中,逆變換L—1由A—1、B、a彡i彡n)、7廣(1<j<句以及Y八S+1彡j彡2S)組成。(II)簽名過程為假設(shè)用戶A對(duì)用戶B的消息向量(yi,…,yn_r)進(jìn)行簽名,則用戶A的簽名過程分以下兩個(gè)步驟①隨機(jī)選取r個(gè)變量GGF(q)(1^i^r)與消息向量級(jí)聯(lián)起來,構(gòu)成GF(q)上的n維向量(yi,…,yn),并用私鑰T—1計(jì)算得到(Zl…,zn)②用私鑰L-1計(jì)算便可得到相應(yīng)簽名(V,xn+5)=L_i(Zl,…,zn);(III)驗(yàn)證簽名過程用戶B收到用戶A對(duì)消息的簽名后,分以下兩個(gè)步驟①用哈希函數(shù)對(duì)簽名(Xl,…,xn+5)進(jìn)行認(rèn)證,即每個(gè)分量要滿足否則拒絕簽名;②若步驟①認(rèn)證通過,則繼續(xù)用用戶A的公鑰G驗(yàn)證,即(yi,,yn-r)=G{xi,-■■,xn+s)如果上式方程左右兩邊相等,則接受簽名,否則拒絕簽名。所述哈希函數(shù)H()分別可選用MD5、SHA-1、SHA-2、SHA-3等標(biāo)準(zhǔn)哈希函數(shù)。本發(fā)明具有以下優(yōu)點(diǎn)和積極效果1)本發(fā)明是一種安全性很高的數(shù)字簽名方案。其安全性性能主要取決所使用的哈希函數(shù),目前廣泛使用的哈希函數(shù)均是采用大量邏輯運(yùn)算構(gòu)造,具有很高的安全性,能抵抗量子計(jì)算機(jī)的攻擊;2)本發(fā)明是一種高效輕量的數(shù)字簽名方案,其運(yùn)算主要為哈希值運(yùn)算和有限域上的乘法運(yùn)算,目前廣泛使用的哈希函數(shù)均是采用大量邏輯運(yùn)算構(gòu)造,因此具有較低的計(jì)算復(fù)雜性,如果我們選擇較小的域參數(shù)如GF(28),則乘法可采用查表,效率較高,本方案可廣泛應(yīng)用于計(jì)算能力有限的嵌入式設(shè)備中;3)本發(fā)明簽名方法具有很大的靈活性,哈希函數(shù)可以自由選擇。具體實(shí)施例方式下面以具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明本發(fā)明的數(shù)字簽名方案的安全性基于矩陣分解的困難性,也即從公鑰G=T_oL中成功分解出私鑰信息T和L是計(jì)算上不可行的。而L本質(zhì)上是一個(gè)基于哈希函數(shù)的非線性可逆變換,線性變換T起隱藏L的作用,因此通過兩個(gè)變換的化合,將系統(tǒng)的安全性轉(zhuǎn)化為依賴于哈希函數(shù)的安全性。4為了充分理解本發(fā)明簽名方案,我們給出一個(gè)安全性水平約為0(28Q)的具體實(shí)例(I)系統(tǒng)建立選擇標(biāo)準(zhǔn)哈希函數(shù)SHA-1作為H()、系統(tǒng)參數(shù)n=31、S=12、r=10以及k=8。隨機(jī)選取有限域GF(28)上的31維仿射雙射變換T;構(gòu)造基于SHA-1的可逆壓縮變換L:(Zl,...,z31)—(Xl,…,x31,x32,...,x43),其中A為19維可逆方陣,系數(shù)乒0(1彡i彡24),而系數(shù)aij(l彡i彡12,1彡j彡30)以及常數(shù)項(xiàng)、(1彡i彡31)為隨機(jī)選擇;xn+i(l彡i彡12)為擴(kuò)展變量,它是向量(Xl,…,x31)前(18+i)個(gè)分量的哈希值,即其中H8(0表示依次取出H(0輸出值的前8位,“||”表示將兩個(gè)比特串連接起來;令T—表示依次取出T的21行所構(gòu)成的變換。系統(tǒng)的公鑰為上述兩個(gè)映射T—和L的復(fù)合,G=roL,公鑰G是有限域GF(28)上43個(gè)輸入變量、21個(gè)輸出的線性不定方程組;系統(tǒng)私鑰為映射T和L的逆變換組成,D={T1,L—1};其中,逆變換L—1由k-1、B、Qi(l彡i彡31).7"1(1Sj幺12)以及Yj(13^j彡24)組成。根據(jù)上述基于SHA-1的可逆變換L可得其逆變換1^:,y21)進(jìn)行簽名,則用(II)簽名過程為假設(shè)用戶A對(duì)用戶B的消息向量(yi,戶A的簽名過程分以下兩個(gè)步驟①隨機(jī)選取10個(gè)變量y21+iGGF(28)(1彡i彡10)與消息向量級(jí)聯(lián)起來,構(gòu)成GF(28)上的31維向量(Yl,…,y31),并用私鑰T—1計(jì)算得到(▽..,。=T-1(yi…,y31);②用私鑰L-1計(jì)算便可得到相應(yīng)簽名(Xl…,x43)=L_i(Zl,…,z31);(III)驗(yàn)證簽名過程用戶B收到用戶A對(duì)消息的簽名后,分以下兩個(gè)步驟①用哈希函數(shù)對(duì)簽名(Xl,…,x43)進(jìn)行認(rèn)證,即每個(gè)分量要滿足x31+i=H8(Xl||x2||...||x18+i),1^i^12否則拒絕簽名;②若步驟①認(rèn)證通過,則繼續(xù)用用戶A的公鑰G驗(yàn)證,即當(dāng)系統(tǒng)參數(shù)n=31、6=12、r=10以及k=8時(shí),則系統(tǒng)的公鑰大小約為0.88Kbyte、公鑰大小約為1.65Kbyte,安全性水平約為0(2’,并且主要的運(yùn)算是有限域GF(28)上的乘法運(yùn)算,由于有限域較小可以預(yù)運(yùn)算并造表存儲(chǔ),于是乘法運(yùn)算可轉(zhuǎn)化為查表運(yùn)算;其次大約10次SHA-1運(yùn)算。因此實(shí)現(xiàn)效率高,適合軟硬件實(shí)現(xiàn)。權(quán)利要求一種數(shù)字簽名方法,其特征在于,包括以下步驟(I)系統(tǒng)建立選擇一個(gè)輸出至少160位的標(biāo)準(zhǔn)哈希函數(shù)H(·)和有限域GF(q),其中q=2k、整數(shù)k小于哈希函數(shù)H(·)的輸出值長(zhǎng)度;根據(jù)用戶安全性需求指定整數(shù)參數(shù)n、δ和r的值(0<δ,r<n);隨機(jī)選取GF(q)上的n維仿射雙射變換T;構(gòu)造基于哈希函數(shù)H(·)的可逆壓縮變換L(z1,…,zn)←(x1,…,xn,xn+1,…,xn+δ),<mfencedopen='{'close=''><mtable><mtr><mtd><mfencedopen='('close=')'><mtable><mtr><mtd><msub><mi>z</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><msub><mi>z</mi><mrow><mi>n</mi><mo>-</mo><mi>δ</mi></mrow></msub></mtd></mtr></mtable></mfenced><mo>=</mo><mi>A</mi><mo>·</mo><mfencedopen='('close=')'><mtable><mtr><mtd><msub><mi>x</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><msub><mi>x</mi><mrow><mi>n</mi><mo>-</mo><mi>δ</mi></mrow></msub></mtd></mtr></mtable></mfenced><mo>+</mo><mfencedopen='('close=')'><mtable><mtr><mtd><msub><mi>α</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><msub><mi>α</mi><mrow><mi>n</mi><mo>-</mo><mi>δ</mi></mrow></msub></mtd></mtr></mtable></mfenced></mtd></mtr><mtr><mtd><mfencedopen='('close=')'><mtable><mtr><mtd><msub><mi>z</mi><mrow><mi>n</mi><mo>-</mo><mi>δ</mi><mo>+</mo><mn>1</mn></mrow></msub></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><msub><mi>z</mi><mi>n</mi></msub></mtd></mtr></mtable></mfenced><mo>=</mo><mfencedopen='('close=')'><mtable><mtr><mtd><msub><mi>γ</mi><mn>1</mn></msub><mo>·</mo><msub><mi>x</mi><mrow><mi>n</mi><mo>-</mo><mi>δ</mi><mo>+</mo><mn>1</mn></mrow></msub></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><msub><mi>γ</mi><mi>δ</mi></msub><mo>·</mo><msub><mi>x</mi><mi>n</mi></msub></mtd></mtr></mtable></mfenced><mo>+</mo><mfencedopen='('close=')'><mtable><mtr><mtd><msub><mi>γ</mi><mrow><mi>δ</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>·</mo><msub><mi>x</mi><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msub></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><msub><mi>γ</mi><mrow><mn>2</mn><mi>δ</mi></mrow></msub><mo>·</mo><msub><mi>x</mi><mrow><mi>n</mi><mo>+</mo><mi>δ</mi></mrow></msub></mtd></mtr></mtable></mfenced><mo>+</mo><mfencedopen='('close=')'><mtable><mtr><mtd><munderover><mi>Σ</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>n</mi><mo>-</mo><mi>δ</mi></mrow></munderover><msub><mi>a</mi><mrow><mn>1</mn><mi>j</mi></mrow></msub><msub><mi>x</mi><mi>j</mi></msub></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><munderover><mi>Σ</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>a</mi><mi>δj</mi></msub><msub><mi>x</mi><mi>j</mi></msub></mtd></mtr></mtable></mfenced><mo>+</mo><mfencedopen='('close=')'><mtable><mtr><mtd><msub><mi>α</mi><mrow><mi>n</mi><mo>-</mo><mi>δ</mi><mo>+</mo><mn>1</mn></mrow></msub></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><msub><mi>α</mi><mi>n</mi></msub></mtd></mtr></mtable></mfenced></mtd></mtr></mtable></mfenced>其中A為n-δ維可逆方陣,系數(shù)γi≠0(1≤i≤2δ),而系數(shù)aij(1≤i≤δ,1≤j≤n-1)以及常數(shù)項(xiàng)αi(1≤i≤n)為隨機(jī)選擇;xn+i(1≤i≤δ)為擴(kuò)展變量,它是向量(x1,…,xn)前(n-δ+i-1)個(gè)分量的哈希值,即xn+i=Hk(x1‖x2‖…‖xn-δ+i-1),1≤i≤δ其中Hk(·)表示依次取出H(·)輸出值的前k位,“‖”表示將兩個(gè)比特串連接起來;令T-表示依次取出T的n-r行所構(gòu)成的變換,系統(tǒng)的公鑰為上述兩個(gè)映射T-和L的復(fù)合,G=T-оL,公鑰G是有限域GF(g)上n+δ個(gè)輸入變量、n-r個(gè)輸出的線性不定方程組;私鑰為映射T和L的逆變換組成,D={T-1,L-1);其中,逆變換L-1由A-1、B、αi(1≤i≤n)、以及γj(δ+1≤j≤2δ)組成。(II)簽名過程為假設(shè)用戶A對(duì)用戶B的消息向量(y1,…,yn-r)進(jìn)行簽名,則用戶A的簽名過程分以下兩個(gè)步驟①隨機(jī)選取r個(gè)變量yn-r+i∈GF(q)(1≤i≤r)與消息向量級(jí)聯(lián)起來,構(gòu)成GF(q)上的n維向量(y1,…,yn),并用私鑰T-1計(jì)算得到(z1…,zn)=T-1(y1…,yn);②用私鑰L-1計(jì)算便可得到相應(yīng)簽名(x1…,xn+δ)=L-1(z1,…,zn);(III)驗(yàn)證簽名過程用戶B收到用戶A對(duì)消息的簽名后,分以下兩個(gè)步驟①用哈希函數(shù)對(duì)簽名(x1,…,xn+δ)進(jìn)行認(rèn)證,即每個(gè)分量要滿足xn+i=Hk(x1‖x2‖…‖xn-δ+i-1),1≤i≤δ否則拒絕簽名;②若步驟①認(rèn)證通過,則繼續(xù)用用戶A的公鑰G驗(yàn)證,即<mrow><mrow><mo>(</mo><msub><mi>y</mi><mn>1</mn></msub><mo>,</mo><mo>·</mo><mo>·</mo><mo>·</mo><mo>,</mo><msub><mi>y</mi><mrow><mi>n</mi><mo>-</mo><mi>r</mi></mrow></msub><mo>)</mo></mrow><mover><mo>=</mo><mo></mo></mover><mi>G</mi><mrow><mo>(</mo><msub><mi>x</mi><mn>1</mn></msub><mo>,</mo><mo>·</mo><mo>·</mo><mo>·</mo><mo>,</mo><msub><mi>x</mi><mrow><mi>n</mi><mo>+</mo><mi>δ</mi></mrow></msub><mo>)</mo></mrow></mrow>如果上式方程左右兩邊相等,則接受簽名,否則拒絕簽名。FSA00000110680700012.tif2.根據(jù)權(quán)利要求1所述的數(shù)字簽名方法,其特征在于所述哈希函數(shù)Η(·)分別選用哈希函數(shù)標(biāo)準(zhǔn)MD5、SHA-1、SHA-2、SHA-3。全文摘要本發(fā)明涉及信息安全
技術(shù)領(lǐng)域:
,尤其涉及一種數(shù)字簽名方法。本發(fā)明基于矩陣分解的困難性、并結(jié)合哈希函數(shù)認(rèn)證技術(shù)構(gòu)造的一種新型輕量級(jí)數(shù)字簽名方案,它可廣泛應(yīng)用于網(wǎng)絡(luò)安全、電子商務(wù)、票據(jù)以及身份認(rèn)證等信息安全系統(tǒng)領(lǐng)域,運(yùn)用此方案進(jìn)行簽名認(rèn)證時(shí),具有實(shí)現(xiàn)效率高、不需要密碼算法協(xié)處理器、高度安全性、抗量子計(jì)算機(jī)的攻擊等優(yōu)點(diǎn),尤其適合在智能卡、無線傳感網(wǎng)絡(luò)、蜂窩電話、射頻標(biāo)簽RFID等信息安全領(lǐng)域。文檔編號(hào)H04L9/32GK101867474SQ20101016119公開日2010年10月20日申請(qǐng)日期2010年4月26日優(yōu)先權(quán)日2010年4月26日發(fā)明者張煥國(guó),王后珍申請(qǐng)人:武漢大學(xué)