專利名稱::一種公鑰認(rèn)證加密方法及數(shù)字簽名方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及信息安全
技術(shù)領(lǐng)域:
,尤其涉及一種公鑰認(rèn)證加密方法及數(shù)字簽名方法。
背景技術(shù):
:量子計算機的發(fā)展,對傳統(tǒng)公鑰密碼體制如RSA等構(gòu)成了極大的威脅。為此,具有抗量子計算機攻擊的公鑰密碼受到了廣泛的關(guān)注,目前提出的抗Shor量子算法攻擊的公鑰密碼,主要有NTRU,0TU2000,以及多變量二次多項式(簡稱MQ)公鑰密碼體制等類型。NTRU在多個國家注冊了專利,其中已于2004年獲得了中國知識產(chǎn)權(quán)局的授權(quán),十五期間我國也開展了對NTRU的理論研究,但沒有產(chǎn)生具有自主知識產(chǎn)權(quán)的基礎(chǔ)性研究成果;0TU2000產(chǎn)生密鑰過程需要計算離散對數(shù),速度很慢,使得該密碼體制的實用性不夠;近年來MQ公鑰密碼引起了密碼界的極大興趣,被認(rèn)為是取代RSA的最佳選擇之一,其安全性是基于有限域上二次多變量方程組的難解性,除了抗量子計算外,它的最大優(yōu)點是實現(xiàn)效率高,不需要密碼協(xié)處理器,非常適合智能卡。這些優(yōu)點是RSA、DLOG、ECC等傳統(tǒng)密碼體制所無法比擬的。2003年被NESSIE工程選定的SFLASH(IST-1999-12324)就是專門為智能卡等嵌入式系統(tǒng)的特殊應(yīng)用而設(shè)計的一種快速簽名算法。它在簽名方面比RSA快。不幸的是,2007年Dubois等人利用差分攻擊成功攻破了SFLASH簽名算法。其它的MQ簽名算法如Square、TTM等也相應(yīng)被證明是不安全的。此外,目前所有MQ公鑰密碼只能用于簽名,而不具安全加密的加密功能。
發(fā)明內(nèi)容針對上述存在的技術(shù)問題,本發(fā)明的目的是提供一種公鑰認(rèn)證加密方法及數(shù)字簽名方法,將哈希認(rèn)證技術(shù)引入到MQ公鑰密碼系統(tǒng)中,以提出一種安全的MQ公鑰認(rèn)證加密方法及安全高效的MQ認(rèn)證數(shù)字簽名方法。為達(dá)到上述目的,本發(fā)明采用如下的技術(shù)方案一種公鑰認(rèn)證加密方法,包括以下步驟(I)系統(tǒng)建立選擇一個輸出至少160位的標(biāo)準(zhǔn)哈希函數(shù)H(·)和有限域GF(q),其中q=2k、整數(shù)k小于哈希函數(shù)H(·)的輸出值長度;根據(jù)用戶安全性需求指定整數(shù)參數(shù)η、δ和μ的值(0<μ<δ<η);隨機選取GF(q)上的η維仿射雙射變換U、η+μ維仿射雙射變換T以及η維可逆多變量二次非線性變換F,其中F表示為(tl...,tn)=F(z1;···,zn)=(^(Z1,...,zn),fn(z1zn))其中,&為η元二次多項式函數(shù),形式如下Mzl,··.,zn)=CijkZjZk+biJzJ+l<j<fc<n1<j<n將非線性變換F擴展為加密方案的中心映射F'隨機選取μ個形如&的η元二次多項式tn+i=fn+i(Z1,…,zn),(1彡i彡μ)連接到F后構(gòu)成F';構(gòu)造基于哈希函數(shù)Η(·)的可逆壓縮變換L:(yi,…,yn)—(Xl,…,xn,xn+1,…,Xn+6),<formula>formulaseeoriginaldocumentpage5</formula>其中xn+i=Hk(X11IX21I…IIXn_s+H),1彡i彡δ、Hk(·)表示取H(·)輸出值的前k位、“II,,表示將兩個比特串連接起來、系數(shù)αi興O(1彡i彡η+δ),其它系數(shù)為隨機選??;系統(tǒng)的公鑰為上述4個映射Τ、F'、U以及L的復(fù)合,SPG'=ToF'οUοL,公鑰G'是有限域GF(q)上η+δ輸入變量、η+μ輸出的二次多項式方程組,私鑰為映射Τ、F'、U以及L的相應(yīng)逆變換組成,即D={U-1,Γ1,F(xiàn)-1,L-1};(II)用公鑰加密過程假設(shè)要加密的明文已編碼為(X1,…,Xn),然后利用哈希函數(shù)結(jié)合上述方法將其擴展為(X1,…,xn+s)、并代入公鑰方程G',得到相應(yīng)的密文(y1;…,Yn+U、‘(III)用私鑰解密過程包括4個子步驟(1)用私鑰Γ1計算得到(V..,tn+J=Tly1…,yn+J,然后丟掉加密時是增加的μ個冗余信息tn+l,…,tn+uο(2)用私鑰F—1計算得到(Zl,…,zn)=F-1U1,…,tn);(3)用私鑰U-1計算得到Qi1,…,hn)=Γ1(Z1,…,zn);(4)用私鑰L—1計算便可得到相應(yīng)明文(Xl···,xn)=Γ1(hi;…,hn)。所述哈希函數(shù)H(·)分別選用哈希函數(shù)標(biāo)準(zhǔn)MD5、SHA-USHA-2、SHA-3中的任一種。一種數(shù)字簽名方法,包括以下步驟(I)設(shè)加密方案中的參數(shù)μ滿足μ<0,中心映射F'是通過刪除F的后μ個多項式構(gòu)成,中心映射F':(ti;…,tn_M)—(ζι;-,zn);(II)簽名過程假設(shè)對長度為η-ΙμI的消息向量(y1;…,yn_M)進行簽名,則簽名過程包括以下4個子步驟(1)隨機選取yn_M+ieGF(q)(1^i^|μ|)與消息向量級聯(lián)起來,構(gòu)成GF(q)上的η維向量(y1;…,yn),并用私鑰Τ—1計算得到(V",tn)=T1(Y1-^yn);(2)用私鑰F—1計算得到(Zl,…,zn)=廣化,…,tn);(3)用私鑰U-1計算得到Qi1,…,hn)=Γ1(ζι;…,zn);(4)用私鑰L—1計算得到相應(yīng)的簽名(Χι···,χη+δ)=L-1Qll,…,hn);(III)驗證簽名過程包括以下兩個子步驟(1)用哈希函數(shù)對簽名(Xl,…,χη+δ)進行認(rèn)證,每個分量要滿足xn+i=Hk(X11IX21I…IIχη_δ+Η),1≤i≤δ否則拒絕簽名;(2)若步驟(1)認(rèn)證通過,則繼續(xù)用其公鑰G'驗證<formula>formulaseeoriginaldocumentpage6</formula>如果上式方程左右兩邊相等,則接受簽名,否則拒絕簽名。本發(fā)明具有以下優(yōu)點和積極效果1)本發(fā)明是一種安全性很高的公鑰加密方案(或數(shù)字簽名方案),其安全性性能主要基于MQ公鑰密碼體制和使用的哈希函數(shù),二者結(jié)合提供了雙重安全性保護,MQ公鑰密碼是一種公認(rèn)的能抵抗量子計算機攻擊的密碼系統(tǒng),另外,目前廣泛使用的哈希函數(shù)均是采用大量邏輯運算構(gòu)造,具有很高的安全性,也能抵抗量子計算機的攻擊。因此本發(fā)明能抵抗量子計算機的攻擊;2)本發(fā)明是一種高效輕量的公鑰加密方案(或數(shù)字簽名方案),其運算主要為哈希值運算和有限域上的乘法運算,目前廣泛使用的哈希函數(shù)均是采用大量邏輯運算構(gòu)造,因此具有較低的計算復(fù)雜性,如果我們選擇較小的域參數(shù)如GF(28),則乘法可采用查表,效率較高,本方案可廣泛應(yīng)用于計算能力有限的嵌入式設(shè)備中;3)本發(fā)明公鑰加密方案(或數(shù)字簽名方案)具有很大的靈活性,哈希函數(shù)可以自由選擇。圖1是本發(fā)明提供的公鑰認(rèn)證加密方法的公鑰結(jié)構(gòu)圖。具體實施例方式本發(fā)明提出的公鑰認(rèn)證加密方法及數(shù)字簽名方法,將安全的MQ公鑰認(rèn)證加密方法采用MQ公鑰密碼方法為主體部分,結(jié)合哈希函數(shù)認(rèn)證技術(shù),通過二者有效結(jié)合來提供雙重安全性保護。圖1中哈希Tame變換為本發(fā)明所敘述的基于hash函數(shù)構(gòu)造的可逆變換L;仿射變換U和T為隨機選取,中心映射F'為所選MQ密碼系統(tǒng)的中心映射;上述四個變換的復(fù)合組成本發(fā)明的公鑰加密(或簽名)方案的公鑰,即G'=ToF'QUoL0圖1顯示了利用公鑰G'的加密過程,它本質(zhì)上是通過4個變換T、F'、U*L依次計算所得,解密時只要用它們的逆變換依次計算便可。本發(fā)明提出的公鑰認(rèn)證加密方法,具體步驟如下(I)系統(tǒng)建立選擇一個輸出至少160位的標(biāo)準(zhǔn)哈希函數(shù)H(·)和有限域GF(q),其中q=2k、整數(shù)k小于哈希函數(shù)H(·)的輸出值長度;根據(jù)用戶安全性需求指定整數(shù)參數(shù)η、δ和μ的值(0<μ<δ<η);隨機選取GF(q)上的η維仿射雙射變換U、η+μ維仿射雙射變換T以及η維可逆多變量二次非線性變換F,其中F表示為<formula>formulaseeoriginaldocumentpage6</formula>其中,&為η元二次多項式函數(shù),形式如下<formula>formulaseeoriginaldocumentpage7</formula>將非線性變換F擴展為加密方案的中心映射F'隨機選取μ個形如&的η元二次多項式tn+i=fn+i(Z1,…,zn),(1彡i彡μ)連接到F后構(gòu)成F';構(gòu)造基于哈希函數(shù)Η(·)的可逆壓縮變換L<formula>formulaseeoriginaldocumentpage7</formula><formula>formulaseeoriginaldocumentpage7</formula>其中χηΗ=Hk(X11IX21I…IIXn_s+H),1彡i彡δ、Hk(·)表示取H(·)輸出值的前k位、“II,,表示將兩個比特串連接起來、系數(shù)αi興0(1彡i彡η+δ),其它系數(shù)為隨機選?。幌到y(tǒng)的公鑰為上述4個映射T、F'、U以及L的復(fù)合,即G'=ToF'οUοL,公鑰G'是有限域GF(q)上η+δ輸入變量、η+μ輸出的二次多項式方程組,私鑰為映射Τ、F'、U以及L的相應(yīng)逆變換組成,即D={U-1,Γ1,Γ1,L-1};(II)用公鑰加密過程假設(shè)要加密的明文已編碼為(X1,…,xn),然后利用哈希函數(shù)結(jié)合上述方法將其擴展為(X1,…,xn+s)、并代入公鑰方程G',得到相應(yīng)的密文(y1;…,Yn+u、‘(III)用私鑰解密過程包括4個子步驟(1)用私鑰Γ1計算得到(v..,tn+j=Tly1…,yn+J,然后丟掉加密時是增加的μ個冗余信息tn+l,…,tn+uο(2)用私鑰F—1計算得到(Zl,…,zn)=廣化,…,tn);(3)用私鑰U-1計算得到Qi1,…,hn)=Γ1(Z1,…,zn);(4)用私鑰L-1計算便可得到相應(yīng)明文(X1…,xn)=L-1(hi;…,hn)。一種數(shù)字簽名方法,包括以下步驟(I)設(shè)加密方案中的參數(shù)μ滿足μ<0,中心映射F'是通過刪除F的后μ個多項式構(gòu)成,中心映射F':(ti;…,tn_M)—(ζι;-,zn);(II)簽名過程假設(shè)對長度為η-ΙμI的消息向量(y1;…,yn_M)進行簽名,則簽名過程包括以下4個子步驟(1)隨機選取yn_M+ieGF(q)(1^i^|μ|)與消息向量級聯(lián)起來,構(gòu)成GF(q)上的η維向量(y1;…,yn),并用私鑰Τ—1計算得到(V",tn)=T1(Y1-^yn);(2)用私鑰F—1計算得到(Zl,…,zn)=廣化,…,tn);(3)用私鑰U-1計算得到Qi1,…,hn)=Γ1(Z1,…,zn);(4)用私鑰L—1計算得到相應(yīng)的簽名(Χι···,χη+δ)=L-1Qll,…,hn);(III)驗證簽名過程包括以下兩個子步驟(1)用哈希函數(shù)對簽名(Xl,…,χη+δ)進行認(rèn)證,每個分量要滿足xn+i=Hk(X11IX21I…IIχ“+η),1彡i彡δ否則拒絕簽名;(2)若步驟(1)認(rèn)證通過,則繼續(xù)用其公鑰G'驗證<formula>formulaseeoriginaldocumentpage8</formula>如果上式方程左右兩邊相等,則接受簽名,否則拒絕簽名??疾霱Q認(rèn)證加密方案的公鑰G'=ToF'οUοL,雖然L是基于hash函數(shù)的非線性可逆變換,但若將擴展變量Xn+i,μ看成新的輸入變量,則L是一個線性壓縮變換,因此兩個線性變換U,L可復(fù)合成一個線性變換U'=UoL,也即公鑰G'=ToF'oU',這顯示本發(fā)明的MQ認(rèn)證加密方案與傳統(tǒng)MQ公鑰方案相比,構(gòu)造結(jié)構(gòu)本質(zhì)上是相同的。從公鑰G'中分離出私鑰信息Τ,F(xiàn)',U'屬于IP問題,是計算上不可行的。其次,本發(fā)明采用基于hash函數(shù)的可逆變換并結(jié)合傳統(tǒng)的加方法,將傳統(tǒng)MQ密碼的公鑰G(η元置換二次方程組),偽裝成為η+δ個變量、η+μ(O^μ<δ)個方程的不定方程組G'(新公鑰),且從新公鑰G'中分離出G是不可行的,因此恢復(fù)明文需要解公鑰方程組G'。假設(shè)給定密文向量Y=(Y1,…,yn+J,對于攻擊者而言,由于不知道合法用戶的私鑰,且又無法從公鑰G'中分解出來,因此恢復(fù)明文X需要求解方程G'(χ)=γ。從形式上看,由于O彡μ<δ,所以公鑰方程G'為不定方程。顯然密文Y關(guān)于方程G'的解的個數(shù)為O(一1),即使假設(shè)攻擊者能夠容易地求解公鑰方程G'(事實上這是不可行的),則確定這些解中唯一合法明文的概率大約為P=l/q8-"。因此,只要選取適當(dāng)?shù)膮?shù)值q,δ,μ,便能抵抗直接解方程的攻擊。目前,求解類似公鑰G'(不定方程組)的常用方法是先固定一些輸入變量的值、將公鑰方程轉(zhuǎn)化為置換方程組甚至是超定方程組,然后用F5算法求解,然而準(zhǔn)確評估該算法的計算復(fù)雜度仍是一個開放難題問題,直接攻擊方法并不十分有效。如果用凡表示尋找一個X'使得G'(X')=Y的計算復(fù)雜性(對于解不定方程組而言,求解難度主要取決方程的個數(shù)),顯然攻擊者恢復(fù)明文的復(fù)雜性為<formula>formulaseeoriginaldocumentpage8</formula>顯然根據(jù)公鑰G'直接解出消息所對應(yīng)合法簽名也是不可性的。但對于簽名方案而言,往往不必解出合法明文,只要找到一個等價明文便能偽造簽名。由于應(yīng)用了減方法(此時-δ<μ彡0),新公鑰G'為η+δ個變量、η-1μI個方程的不定方程組,給定一個消息向量Y,它關(guān)于公鑰G'的原像個數(shù)為0(一-1叫,亦即一個消息對應(yīng)多個簽名,在簽名時,通常采用引入隨機性的方法來產(chǎn)生唯一合法的簽名。因此,對于攻擊者而言,偽造簽名滿足公鑰G'的復(fù)雜度為假設(shè)隨機選取一個η+δ維向量X=(Χι,…,Xn+S)eGF(q)n,則它滿足簽名認(rèn)證的概率為P'=1/V,也即從W)個簽名中隨機選取一個偽造簽名。由于驗證簽名步驟(1)和步驟(2)具有乘積密碼的性質(zhì),亦即偽造簽名通過合法簽名驗證的復(fù)雜性為<formula>formulaseeoriginaldocumentpage8</formula>這表明本發(fā)明將傳統(tǒng)MQ簽名方案的安全性提高了倍,也即MQ簽名方案與hash認(rèn)證技術(shù)結(jié)合提供了雙重安全性保護。因此,只要選取適當(dāng)?shù)膮?shù)便可構(gòu)造安全的數(shù)字簽名方案。下面結(jié)合具體實施例來描述本發(fā)明提出的公鑰認(rèn)證加密方法及數(shù)字簽名方法實施例1本實施例為本發(fā)明提供的公鑰認(rèn)證加密方法的實施過程,具體步驟如下(I)系統(tǒng)建立標(biāo)準(zhǔn)哈希函數(shù)Η(·)選用SHA-1,有限域參數(shù)k=8;指定系統(tǒng)參數(shù)n=20、S=I7和μ=6;隨機選取有限域GF(28)上的20維仿射雙射變換U、26維仿射雙射變換T以及20維可逆多變量二次非線性變換F,其中F表示為(ti···,t20)=F(Z1--^Z20)=(^(Z1,···,z20),...,Ifn(Z1H^Z20))其中,&為20元二次多項式函數(shù),形式如下力(幻,..·,220)=ΣcijkZjZk+bijZj+O1l<j<fc<20l<j<20將非線性變換F擴展為加密方案的中心映射F'隨機選取μ個形如&的20元二次多項式t2Q+i=f20+i(ζι;…,z20),(1彡i彡6)連接到F后構(gòu)成F';構(gòu)造基于哈希函數(shù)Η(·)的可逆壓縮變換L:(yi,…,y2Q)—(X1,…,x2Q,x21,…,<formula>formulaseeoriginaldocumentpage9</formula>其中x2Q+i=H8OqIX2I···Ix2+i),1^i≤17、H8(·)表示取H(·)輸出值的前8位、“ιι”表示將兩個比特串連接起來、系數(shù)αi乒0(1≤i≤37),其它系數(shù)為隨機選?。幌到y(tǒng)的公鑰為上述4個映射T、F'、U和L的復(fù)合,即G'=ToF'οUοL,公鑰G'是有限域GF(q)上37輸入變量、26輸出的二次多項式方程組,需存儲空間為18.8Kbyte,私鑰為映射T、F'、U以及L的相應(yīng)逆變換組成,即D={U-1,Γ1,F(xiàn)-1,L-1},需存儲空間為3.9Kbyte;(II)用公鑰加密過程假設(shè)要加密的明文已編碼為(X1,…,x2Q),然后利用哈希函數(shù)結(jié)合上述方法將其擴展為(Xl,…,X37)、并代入公鑰方程G',得到相應(yīng)的密文(y1;…,y26);(III)用私鑰解密過程包括4個子步驟(1)用私鑰Γ1計算得到(V··,t26)=T-Hy1…,y26),然后丟掉加密時是增加的6個冗余信息t21,··,L26O(2)用私鑰F-1計算得到(Z1,…,z20)=F-1U1,…,t20);(3)用私鑰U-1計算得到Qi1,…,h20)=U-^z1,…,Z20);(4)用私鑰L-1計算便可得到相應(yīng)明文(X1…,x20)=L-1Qll,…,h20)實施例2本實施例為本發(fā)明提供的數(shù)字簽名方法的實施過程,具體包括以下步驟(I)系統(tǒng)建立標(biāo)準(zhǔn)哈希函數(shù)Η(·)選用SHA-1,有限域參數(shù)k=8;指定系統(tǒng)參數(shù)η=31、δ=10和μ=-5;隨機選取有限域GF(28)上的31維仿射雙射變換U、26維仿射雙射變換T以及31維可逆多變量二次非線性變換F,其中F表示為U1...,t31)=F(Z1H^Z31)=(Kz1H^z31),...,Ifn(Z1H^Z31))其中,&為31元二次多項式函數(shù),形式如下協(xié)1,·’231)=c^jkZjZk+bijZj+U1l<i<fc<311<J<31將非線性變換F縮減為加密方案的中心映射F'刪除F的后5個二次多項式t25+i=f25+i(Zl,…,z31),(1≤i≤5)構(gòu)成F';構(gòu)造基于哈希函數(shù)Η(·)的可逆壓縮變換L:(yi,…,y31)—(X1,-,x31,X32,…,X41),<formula>formulaseeoriginaldocumentpage10</formula>其中x31+i=H8OqIX2I···Ix20+i),1≤i≤10、H8(·)表示取H(·)輸出值的前8位、“ιι”表示將兩個比特串連接起來、系數(shù)αi乒0(1≤i≤41),其它系數(shù)為隨機選??;系統(tǒng)的公鑰為上述4個映射T、F'、U*L的復(fù)合,即G'=TοF'οUοL,公鑰G'是有限域GF(28)上41輸入變量、26輸出的二次多項式方程組,需存儲空間為22.9Kbyte,私鑰為映射T、F'、U以及L的相應(yīng)逆變換組成,即D={U-1,Γ1,F(xiàn)-1,L-1},需存儲空間為4.9Kbyte;(II)用私鑰簽名過程假設(shè)對消息向量(y1;…,y26)進行簽名,分以下4個子步驟(1)隨機選取5個變量y26+ieGF(28),1≤i≤5與消息向量級聯(lián)起來,構(gòu)成有限域GF(28)上31維向量(Υι,…,y31),并用私鑰Γ1計算得到(V··,t31)=T1(Y1-≤y31);(2)用私鑰F—1計算得到(Zl,…,Z31)=F-1U1,…,t31);(3)用私鑰U-1計算得到Qi1,…,h31)=Γ1(Z1-,z31);(4)用私鑰L—1計算便可得到相應(yīng)簽名(Xl···,x41)=L-1Qll,…,h31)(III)驗證簽名過程包括以下兩個子步驟(1)用哈希函數(shù)對簽名(Xl,…,X41)進行認(rèn)證,每個分量要滿足x31+i=H8(X1Ix2II-IIX20J,1≤i≤10否則拒絕簽名;(2)若步驟(1)認(rèn)證通過,則繼續(xù)用其公鑰G'驗證(yi,.·.,y26)lG/(x1,···,x4i)如果上式方程左右兩邊相等,則接受簽名,否則拒絕簽名實例1和實例2的安全性水平約為0(2,,其主要的運算是有限域GF(28)上的乘法運算,由于有限域較小可以預(yù)運算并造表存儲,于是乘法運算可轉(zhuǎn)化為查表運算;其次分別需17、10次SHA-I運算,代價小。因此實現(xiàn)效率高,適合軟硬件實現(xiàn)。權(quán)利要求一種公鑰認(rèn)證加密方法,其特征在于,包括以下步驟(I)系統(tǒng)建立選擇一個輸出至少160位的標(biāo)準(zhǔn)哈希函數(shù)H(·)和有限域GF(q),其中q=2k、整數(shù)k小于哈希函數(shù)H(·)的輸出值長度;根據(jù)用戶安全性需求指定整數(shù)參數(shù)n、δ和μ的值(0<μ<δ<n);隨機選取GF(q)上的n維仿射雙射變換U、n+μ維仿射雙射變換T以及n維可逆多變量二次非線性變換F,其中F表示為(t1…,tn)=F(z1,…,zn)=(f1(z1…,zn),…,fn(z1…,zn))其中,fi為n元二次多項式函數(shù),形式如下<mrow><msub><mi>f</mi><mi>i</mi></msub><mrow><mo>(</mo><msub><mi>z</mi><mn>1</mn></msub><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>z</mi><mi>n</mi></msub><mo>)</mo></mrow><mo>=</mo><munder><mi>Σ</mi><mrow><mn>1</mn><mo>≤</mo><mi>j</mi><mo>≤</mo><mi>k</mi><mo>≤</mo><mi>n</mi></mrow></munder><msub><mi>c</mi><mi>ijk</mi></msub><msub><mi>z</mi><mi>j</mi></msub><msub><mi>z</mi><mi>k</mi></msub><mo>+</mo><munder><mi>Σ</mi><mrow><mn>1</mn><mo>≤</mo><mi>j</mi><mo>≤</mo><mi>n</mi></mrow></munder><msub><mi>b</mi><mi>ij</mi></msub><msub><mi>z</mi><mi>j</mi></msub><mo>+</mo><msub><mi>a</mi><mi>i</mi></msub></mrow>將非線性變換F擴展為加密方案的中心映射F′隨機選取μ個形如fi的n元二次多項式tn+i=fn+i(z1,…,zn),(1≤i≤μ)連接到F后構(gòu)成F′;構(gòu)造基于哈希函數(shù)H(·)的可逆壓縮變換L(y1,…,yn)←(χ1,…,χn,χn+1,…,χn+δ),<mfencedopen='{'close=''><mtable><mtr><mtd><msub><mi>y</mi><mn>1</mn></msub><mo>=</mo><msub><mi>α</mi><mn>1</mn></msub><msub><mi>x</mi><mn>1</mn></msub><mo>+</mo><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>y</mi><mrow><mi>n</mi><mo>-</mo><mi>δ</mi></mrow></msub><mo>=</mo><msub><mi>α</mi><mrow><mi>n</mi><mo>-</mo><mi>δ</mi></mrow></msub><msub><mi>x</mi><mrow><mi>n</mi><mo>-</mo><mi>δ</mi></mrow></msub><mo>+</mo><msub><mi>β</mi><mrow><mi>n</mi><mo>-</mo><mi>δ</mi></mrow></msub></mtd></mtr><mtr><mtd><msub><mi>y</mi><mrow><mi>n</mi><mo>-</mo><mi>δ</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>α</mi><mrow><mi>n</mi><mo>-</mo><mi>δ</mi><mo>+</mo><mn>1</mn></mrow></msub><msub><mi>x</mi><mrow><mi>n</mi><mo>-</mo><mi>δ</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>+</mo><msub><mi>α</mi><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msub><msub><mi>x</mi><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>+</mo><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><mo>+</mo><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>y</mi><mi>n</mi></msub><mo>=</mo><msub><mi>α</mi><mi>n</mi></msub><msub><mi>x</mi><mi>n</mi></msub><mo>+</mo><msub><mi>α</mi><mrow><mi>n</mi><mo>+</mo><mi>δ</mi></mrow></msub><msub><mi>x</mi><mrow><mi>n</mi><mo>+</mo><mi>δ</mi></mrow></msub><mo>+</mo><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><mo>+</mo><msub><mi>β</mi><mi>n</mi></msub></mtd></mtr></mtable></mfenced>其中χn+i=Hk(χ1||χ2||…||χn-δ+i-1),1≤i≤δ、Hk(·)表示取H(·)輸出值的前k位、“||”表示將兩個比特串連接起來、系數(shù)αi≠0(1≤i≤n+δ),其它系數(shù)為隨機選?。幌到y(tǒng)的公鑰為上述4個映射T、F′、U和L的復(fù)合,即G′=TоF′оUоL,公鑰G′是有限域GF(q)上n+δ輸入變量、n+μ輸出的二次多項式方程組,私鑰為映射T、F′、U以及L的相應(yīng)逆變換組成,即D={U-1,T-1,F(xiàn)-1,L-1};(II)用公鑰加密過程假設(shè)要加密的明文已編碼為(χ1,…,χn),然后利用哈希函數(shù)結(jié)合上述方法將其擴展為(χ1,…,χn+δ)、并代入公鑰方程G′,得到相應(yīng)的密文(y1,…,yn+μ);(III)用私鑰解密過程包括4個子步驟(1)用私鑰T-1計算得到(t1…,tn+μ)=T-1(y1…,yn+μ),然后丟掉加密時是增加的μ個冗余信息tn+1,…,tn+μ。(2)用私鑰F-1計算得到(z1,…,zn)=F-1(t1,…,tn);(3)用私鑰U-1計算得到(h1,…,hn)=U-1(z1,…,zn);(4)用私鑰L-1計算便可得到相應(yīng)明文(χ1…,χn)=L-1(h1,…,hn)。2.根據(jù)權(quán)利要求1所述的公鑰認(rèn)證加密方法,其特征在于所述哈希函數(shù)H()分別選用哈希函數(shù)標(biāo)準(zhǔn)MD5、SHA-1、SHA-2、SHA-3中的任一種。3.一種數(shù)字簽名方法,其特征在于,包括以下步驟(I)設(shè)加密方案中的參數(shù)P滿足P<0,中心映射F'是通過刪除F的后y個多項式構(gòu)成,中心映射F':(、,tnHu|)一(Zl,,、);(II)簽名過程假設(shè)對長度為n-|u|的消息向量(yi,…,ynHu|)進行簽名,則簽名過程包括以下4個子步驟(1)隨機選取7+|+1GGF(q)(1^i^|U|)與消息向量級聯(lián)起來,構(gòu)成GF(q)上的n維向量(yi,…,yn),并用私鑰r1計算得到(V",tn)=r1(y1-,yn);(2)用私鑰r1計算得到(Zl,…,Zn)=廣(、,-,tn);⑶用私鑰U—1計算得到(hp...,hn)=滬(21,...,zn);(4)用私鑰L—1計算得到相應(yīng)的簽名(、,xn+5)二廣他,…,hn);(III)驗證簽名過程包括以下兩個子步驟(1)用哈希函數(shù)對簽名(xn…,xn+5)進行認(rèn)證,每個分量要滿足<formula>formulaseeoriginaldocumentpage3</formula>否則拒絕簽名;(2)若步驟(1)認(rèn)證通過,則繼續(xù)用其公鑰G'驗證<formula>formulaseeoriginaldocumentpage3</formula>如果上式方程左右兩邊相等,則接受簽名,否則拒絕簽名。4.根據(jù)權(quán)利要求3所述的數(shù)字簽名方法,其特征在于所述哈希函數(shù)H()分別選用哈希函數(shù)標(biāo)準(zhǔn)MD5、SHA-1、SHA-2、SHA-3中的任一種。全文摘要本發(fā)明涉及信息安全
技術(shù)領(lǐng)域:
,尤其涉及一種公鑰認(rèn)證加密方法及數(shù)字簽名方法。本發(fā)明采用多變量公鑰密碼系統(tǒng)為主體部分、結(jié)合哈希函數(shù)認(rèn)證技術(shù),通過二者有效化合來提供雙重安全性保護,運用此方案加密或數(shù)字簽名時,具有實現(xiàn)效率高、不需要密碼算法協(xié)處理器、高度安全性、抗量子計算機的攻擊等優(yōu)點,在智能卡、無線傳感網(wǎng)絡(luò)等安全領(lǐng)域、比傳統(tǒng)公鑰密碼算法如RSA、ECC等有優(yōu)勢。本發(fā)明提供的方法可廣泛應(yīng)用于網(wǎng)絡(luò)安全、電子商務(wù)、票據(jù)以及身份認(rèn)證等信息安全系統(tǒng)領(lǐng)域。文檔編號H04L9/30GK101834724SQ20101016230公開日2010年9月15日申請日期2010年4月27日優(yōu)先權(quán)日2010年4月27日發(fā)明者張煥國,王后珍申請人:武漢大學(xué)