專利名稱:一種基于新難題的輕量級消息摘要提取方法
技術(shù)領(lǐng)域:
消息摘要提取方法(也稱為單向散列算法或雜湊算法,縮寫為Hash)屬于密碼技術(shù)和計算機(jī)技術(shù)領(lǐng)域,是數(shù)字簽名、身份認(rèn)證、電子金融安全、電子商務(wù)安全、電子政務(wù)安全的核心技術(shù)之一。
背景技術(shù):
密碼技術(shù)的發(fā)展經(jīng)歷了古典密碼技術(shù)、對稱密碼技術(shù)和公鑰密碼技術(shù)三個階段。 1976年,美國學(xué)者Diffie和Hellman提出公鑰密碼的思想,標(biāo)志著公鑰密碼技術(shù)的來臨。公鑰密碼技術(shù)包括加密和數(shù)字簽名兩部分。常用的數(shù)字簽名方案有RSA、ElGamal 和ECC等。ECC是ElGamal方案在橢圓曲線上的快速模擬實現(xiàn)。對一個消息進(jìn)行數(shù)字簽名時,為了提高簽名速度,人們往往用消息摘要來取代消息。消息摘要應(yīng)該能夠唯一地代表該消息(相當(dāng)于該消息的數(shù)字指紋),并且,對于任意兩個不同的消息,消息摘要幾乎是不同的。這對消息摘要提取方法提出了很高要求。目前,普遍使用的消息摘要提取方法有MD5、SHA-U SHA-256等(參見《應(yīng)用密碼學(xué)》,美國Bruce khneier著,吳世忠、祝世雄等譯,機(jī)械工業(yè)出版社,2000年01月,第 307-320頁)。這些方法均是美國人發(fā)明的。隨著人們對MD5、SHA-I、SHA-256等方法越來越深入的了解以及計算機(jī)速度的越來越快,它們的安全性越來越受到挑戰(zhàn)。更令人擔(dān)憂的是,隨著輕量級數(shù)字簽名技術(shù)的出現(xiàn),它們的使用場合已越來越受到限制,甚至,根本就不能使用。例如,當(dāng)一個輕量級數(shù)字簽名方案的模數(shù)長度為80比特時,上述消息摘要提取方法就是不能使用的。
發(fā)明內(nèi)容
本發(fā)明用于消息摘要即數(shù)字指紋的生成,是公鑰數(shù)字簽名技術(shù)的基礎(chǔ),可廣泛應(yīng)用于電子金融、電子商務(wù)、電子政務(wù)、票據(jù)防偽、證書防偽和商品防偽中。本發(fā)明希望我們國家在消息摘要提取方法即Hash算法領(lǐng)域能夠擁有自己的核心技術(shù),以確保國家的信息安全、經(jīng)濟(jì)安全和主權(quán)安全,同時提高我國防范金融和稅務(wù)欺詐的技術(shù)手段。本節(jié)內(nèi)容略去了對有關(guān)性質(zhì)和結(jié)論的證明,如果需要補(bǔ)上,我們將立即呈交。在本文中,乘法運(yùn)算“xXy”簡寫成“xy”,“ % ”代表模運(yùn)算mod,"gcd(x, y) ”代表最大公約數(shù),“ 11X11 ”代表元素M的階,“一”表示變量的賦值,“E”表示兩邊對模數(shù)求余相等,“V”表示任意選取,“ e ”表示左邊變量的值屬于某個區(qū)間或集合,“XI y”表示X整除 y,“x I/’表示χ不能整除y,「x1代表取χ的上整數(shù),Igx表示χ對2求對數(shù),參數(shù)P代表互素序列中被允許的最大素數(shù)。3.1三個基本概念3. 1. 1互素序列的定義與性質(zhì)定義1 假設(shè)A1,...,Αη> 1是η個兩兩不同的整數(shù),且V4+、A」(i乒j)滿足gccKApAj) = 1 或者 gcd (Ai ,Aj) = H 乒 1,而W “、j e [ 1,η]有(為 / H) i ▲和⑷ / H) f Λ,則稱這
些整數(shù)為一個互素序列,記為{A1; . . .,AJ,簡記為{AJ。性質(zhì)1:如果從{A1;...,An}中隨機(jī)選取me [1,η]個元素,構(gòu)造一個子序列或子集{ΑΧι,...,Α、},那么,子集積G = ΠΓ=ιΑ = A··· Axm被唯一地確定,即從G到{AXl,... , AxJ的映射是一對一的。證明略。3. 1.2杠桿函數(shù)定義2 對于素域GF (M)上的公鑰體制或信息摘要提取方案,變換式中的秘密參數(shù)l(i)被稱為杠桿函數(shù),如果它具有下列特性①1(.)是一個單射函數(shù),其定義域為[l,n],值域Ω為(1,M)的子集,這里η <M;②i和1 (i)之間的映射被隨機(jī)確定,且不存在任何顯性的從1 (.)到公鑰的映射;③當(dāng)試圖從公開信息提取私有信息時,任何敵手不得不考慮Ω中元素的所有排列;④當(dāng)解密或數(shù)字簽名時(Μ需取值適當(dāng)),私有信息擁有者只需考慮Ω中元素的累加和。顯然,{l(i)}是在“公開”一端計算量大,在“私有”一端計算量小,它正好起到了 “杠桿”的作用。性質(zhì)2(1(.)的不確定性)令C {1,...,邳、Ci ^ AiW1⑴(% Μ) (i = 1,···, n),則邳和辦、少、ze [l,n]附帶ζ乒x、y,有①當(dāng)ι (χ) +ι (y) = ι (ζ)時,有φ)+m+m+m 本Φ)+m (% 鄉(xiāng)②當(dāng)l(x)+l(y)興l(z)時,總存在Cx = A' xff' " (χ) ,Cy = A' yff' (y)和 Cz 三 A' zff' " (ζ) (% Μ)滿足/'(τ)+ f(y) = f(z) (% 碭且 k' z 彡 P。證明略。3. 1.3比特影子串設(shè)消息的二進(jìn)制表示Sb1... bn。定義3 令bp . . bn興0是一比特串,按以下規(guī)則生成的I2l. · · b 被稱作比特影子串若bi = 0,則I = ο ;若bi興0,則I2i等于bi前面連續(xù)0的個數(shù)加1 ;若bi是最右邊的 1,則b等于h前后連續(xù)0的個數(shù)加1。例如,若!^···!^- 100001011100,則 h” · — 100005021300。不難理解,有Σ;:力“。性質(zhì)3 令{A1;...,AJ為一個互素序列,b... I2nSb1... bn#0的比特影子串,則從b” · · bn到Π;=,的映射是一對一的。證明略。3. 1. 4非范子集積難題設(shè)b” · · bn為一個消息,IC1, ...,CJ為一個非互素序列。定義4 已知IC1, ...,CJ和山JA歸ΓΙ;=, C產(chǎn)(% M)求原始的W . . bn被稱為非范子集積難題(Anomalous Subset Product Problem, ASPP)。
4
性質(zhì)4 =ASPP在計算難度上至少等價于同一素域中的離散對數(shù)難題(DLP)。證明參見 Asymptotic Granularity Reduction and Its Application 一文 (Theoretical Computer Science, vol. 412(39), Sep.2011, pp.5374-5386. Shenghui Su, Shuwang Lii, and Xiubin Fan)。需要進(jìn)一步說明的是,目前,人們并沒有找到ASPP的亞指數(shù)時間算法。3. 2本發(fā)明的技術(shù)方案注意在本文中,序列{A1; ...,AJ有時簡寫成{AJ,序列IC1, ...,CJ有時簡寫成{CJ,杠桿函數(shù){1 (1),· · ·,1 (η)}有時簡寫成{1⑴}。本發(fā)明是一種基于非范子集積難題的消息摘要提取方法,簡稱JUNA單向散列算法。消息摘要類似于數(shù)字指紋,被用于數(shù)字簽名技術(shù)中。由于該方法可以把比特長度不大于4096的消息轉(zhuǎn)化為比特長度在80至160之間的消息摘要,因此,它被說成是輕量級的。消息摘要提取方法(即單向散列算法)一般需要滿足下面幾個性質(zhì)①單向性給定消息w和摘要提取方法hash,求d = hash (w)容易,但反過來給定 d和hash,求w = hash—1 (d)在計算上是不可行的;②弱無碰撞性給定消息W,要尋找另一個有意義的消息W',滿足hash(w')= hash (w)在計算上是不可行的;③強(qiáng)無碰撞性要尋找任意兩個不同的消息w和W',滿足hash ) = hash (w) 在計算上是不可行的。有時,第③個性質(zhì)對于用戶來說是可選的。根據(jù)該方法,可制造初始值生成芯片和消息摘要提取芯片,或者開發(fā)初始值生成軟件和消息摘要提取軟件等。因此,本發(fā)明是一種制造消息摘要提取產(chǎn)品所必須遵循的基本原理與技術(shù)方案,而不是物理產(chǎn)品本身。本技術(shù)方案,由初始值生成和消息摘要提取等兩部分組成。3. 2.1參數(shù)說明設(shè)η為消息(也可以是另一個單向散列算法的輸出)的比特長度,m為消息摘要的比特長度,且m < η和η < 4096。令Λ = {2,3,· · ·,Ρ}和 Ω 來自{+/-5,+/_7,· · ·,+/-(2η+3)},其中 P 彡 65537, 符號+/_意味著‘ + ’或‘_’被選取。集合Λ和I Ω I是公開的,這里I Ω I是Ω中元素絕對值的集合,但Ω對于公眾來講是未知的。CA(Certificate Authority)證書中心代表公鑰基礎(chǔ)設(shè)施中第三方權(quán)威機(jī)構(gòu),它生成有關(guān)消息摘要提取方法的初始輸入值,且中間變量值不對外公布。3. 2. 2初始值生成部分初始值生成部分供CA證書中心使用,可以僅用一次,用來產(chǎn)生一個非互素序列, 其實現(xiàn)方法是(1)隨機(jī)產(chǎn)生互素序列{、,···,AJ且每個Ai e Λ(2)尋找一個素數(shù)M附帶「lg Ml w并滿足Ml 2是素的,或V q e (1, 2n(2n ) 3))有g(shù)cd( ,Ml 2) - 1(3)任選 δ ,We(\, Μ)使得 gcdO , Μ) = 1 和 |ff| 彡 2n_18
(4)隨機(jī)選取 1(1),... , l(n) e Ω 且V / ,有 1 ⑴乒 1 (j)(5)對于 i = 1,· · ·,n,計算 Ci 一 (AiW1 ⑴)5 % M最后,得到非互素序列IC1, ...,CJ和模數(shù)M沖間值{AJ、{l(i)}、W、δ可以丟棄,但不得外泄。定義5:從CiE (AiWiai) δ (%Μ)尋找原始的{Aj、{l(i)}、W、δ被稱為多變量排 ^ljXtH (Multivariate Permutation Problem, MPP) 性質(zhì)5 =MPP在計算難度上至少等價于同一素域中的DLP。證明略。3. 2. 3消息摘要提取部分消息摘要提取部分既供數(shù)字簽名方使用,也供身份驗證方使用。假設(shè)IC1,...,Cn}是初始值^是模數(shù)……比是??!比特的一個消息。則消息摘要提取部分的實現(xiàn)方法是(1)置過一1,k — 0,i — 1(2)若、=0,令B 1上一0,否則做敘—Λ — 1,k 一 0,dCib· % M⑶令 i 一 i+1⑷若i彡n,轉(zhuǎn)至O)(5)若 bn = 0,做么 _ 4 <—么—f /t, d — d (Cn_k)k % M最后,消息摘要1 ;=,C產(chǎn)(% Μ)被得到,它的比特長度為m,小于η。注意,性質(zhì)4保證了 d的單向性d本身的結(jié)構(gòu)保證了 d的弱無碰撞性、3. 2. 2節(jié)有助于d的強(qiáng)無碰撞性。3. 3優(yōu)點(diǎn)和積極效果3. 3. 1安全性高性質(zhì)4保證了消息摘要d的單向性,性質(zhì)5保證了私有值不可能被推導(dǎo)出、且有助于消息摘要d的強(qiáng)無碰撞性。特別需要指出的是,由于δ e (η,Μ)是相當(dāng)大的,因此,企圖利用連分式方法攻擊私有值也是不可行的。3. 3. 2摘要長度較短當(dāng)消息的比特長度不大于4096時,消息摘要的比特長度在80和160之間,相對 MD5、SHA-U SHA-256等單向散列算法來說,是較短的。3. 3. 3運(yùn)算速度較快本方法的初始值只需要生成一次,且不是實時的,因此,初始值生成部分的時間復(fù)雜性可以不考慮。本方法的消息提取操作只需做0 (η)個模乘運(yùn)算,與η < 4096是線性相關(guān)的,相對來說,還是比較快的。3. 3. 4技術(shù)可以公開本發(fā)明的實現(xiàn)技術(shù)完全可以公開,提取算法的初始值也可以完全向外界公開發(fā)放。只要私有值不泄密,就可以基本保證消息摘要的強(qiáng)無碰撞性。3. 3. 6對國家安全有利
互聯(lián)網(wǎng)是一種開放網(wǎng),顯而易見,在上面?zhèn)鬏數(shù)母鞣N信息必須進(jìn)行加密。由于我國政府、國防、金融、稅務(wù)等重要部門業(yè)已使用互聯(lián)網(wǎng)作為通信工具,因此, 信息安全關(guān)系到國家主權(quán)安全和經(jīng)濟(jì)安全。從密碼制衡的角度來講,一個泱泱大國的信息安全不能建立在外來的密碼方案基礎(chǔ)之上,因此,研究我們完全自主的、原始創(chuàng)新的消息摘要提取方案、公鑰加密方案和數(shù)字簽名方案顯得勢在必行、刻不容緩和具有重大意義。
具體實施例方式基于非范子集積難題的輕量級消息摘要提取方法包括兩個部分,其特點(diǎn)是它能夠產(chǎn)生一個公開的初始值,且從該初始值推導(dǎo)不出中間值,這樣,該初始值有助于消息摘要的強(qiáng)無碰撞性。更為重要的是,該方法輸出的摘要長度非常短,但同時又滿足安全需求。每個用戶可以到指定的CA證書中心取得一個初始值。CA證書中心是對用戶進(jìn)行登記、管理,并對初始值進(jìn)行產(chǎn)生和分發(fā)的一個機(jī)構(gòu)。它利用初始值生成方法輸出用于消息摘要提取的一個非互素序列。本消息摘要提取方法可以用邏輯電路芯片或程序語言來實現(xiàn),它包括兩部分① 根據(jù)3. 2. 2節(jié)開發(fā)出初始值生成芯片或軟件模塊,由CA證書中心使用;②根據(jù)3. 2. 3節(jié)開發(fā)出消息摘要提取芯片或軟件模塊,由數(shù)字簽名用戶和身份驗證用戶使用。
權(quán)利要求
1. 一種基于新難題的輕量級消息摘要提取方法,由初始值生成和消息摘要提取兩個部分組成,初始值生成部分供第三方權(quán)威機(jī)構(gòu)用來產(chǎn)生一個公開的非互素序列,消息摘要提取部分供數(shù)字簽名方和身份驗證方用于提取一個消息的摘要,摘要的長度不大于160比特,其特征在于 初始值生成部分采用了下列步驟1)隨機(jī)產(chǎn)生互素序列IA1,· ·,AJ且每個Ai e A2)尋找一個素數(shù)M附帶「lgMlm并滿足Ml 2是素的,或V2"(2" 4 3)洧gcd(9,Ml 2) 二 13)任選δ,爐 e (1, M)使得 gcdp, Μ) = 1 和 |ff| I ^ 2n_184)隨機(jī)選取1(1),... , 1 (η) e Ω且V /有1⑴乒1 (j)5)對于i = 1,· · ·,n,計算 Ci 一 (AiWiaj) 5 % M最后,得到非互素序列IC1,...,Cn}和模數(shù)M,中間值{AJ、{l(i)}、W、δ可以丟棄,但不得外泄; 消息摘要提取部分采用了下列步驟假設(shè){C” ...,CJ是初始值,M是模數(shù),針對η比特的一個消息b” . . bn做(1)置d— l,k —0,i — 1(2)若、=0,令Α+ ι Ubi 一 0,否則做敘—k \ 1, k — 0,夕―dC,b' % M(3)令i — i+1(4)若i彡n,轉(zhuǎn)至O)(5)若bn = 0,做么 ι—么ι —最后,得到消息摘要山它可用于數(shù)字簽名或身份驗證。
全文摘要
一種基于新難題的輕量級消息摘要提取方法,屬于密碼技術(shù)和計算機(jī)技術(shù)領(lǐng)域;包括初始值生成和消息摘要提取兩個部分;初始值生成部分供第三方權(quán)威機(jī)構(gòu)用來產(chǎn)生一個公開的非互素序列,消息摘要提取部分供數(shù)字簽名方和身份驗證方用于提取一個消息的摘要,即數(shù)字指紋;消息的長度不大于4096比特,摘要的長度不大于160比特,是單向的、弱無碰撞的和被期待強(qiáng)無碰撞的;該方法具有摘要短、安全性高、計算速度快、技術(shù)可以公開等特點(diǎn),可用于數(shù)字簽名和身份驗證,進(jìn)而,可用于電子金融、電子商務(wù)和電子政務(wù)。
文檔編號H04L9/32GK102394750SQ201110331258
公開日2012年3月28日 申請日期2011年10月27日 優(yōu)先權(quán)日2011年10月27日
發(fā)明者呂述望, 蘇盛輝, 蔡吉人 申請人:呂述望, 蘇盛輝, 蔡吉人