專利名稱:基于多變量排列難題和超對(duì)數(shù)難題的數(shù)字簽名方法
技術(shù)領(lǐng)域:
公開(kāi)密鑰數(shù)字簽名方法(簡(jiǎn)稱公鑰數(shù)字簽名方法或簽名方法)屬于密碼技術(shù)和計(jì)
算機(jī)技術(shù)領(lǐng)域,是信息安全的核心技術(shù)之一。
(二)
背景技術(shù):
密碼技術(shù)的發(fā)展經(jīng)歷了古典密碼技術(shù)、對(duì)稱密碼技術(shù)和公鑰密碼技術(shù)三個(gè)階 段。1976年,美國(guó)學(xué)者Diffie和Hellman提出公鑰密碼體制的思想,標(biāo)志著公鑰密碼技 術(shù)的來(lái)臨。目前,普遍使用的數(shù)字簽名技術(shù)有RSA方案、Rabin方案和ElGamal方案(參 見(jiàn)《應(yīng)用密碼學(xué)》,美國(guó)Bruce Schneier著,吳世忠、祝世雄等譯,機(jī)械工業(yè)出版社,2000 年1月,第334-342頁(yè))。為了提高安全性,ElGamal方案常在橢圓曲線上實(shí)現(xiàn),此時(shí),它 口L] ECC(Elliptic CurveCryptogr即hy)方案。另夕卜,還有一個(gè)DSA(Digital Signature Algorithm)簽名方案,它是ElGamal簽名方案的改進(jìn)。 RSA、Rabin和ElGamal等方案都是美國(guó)人發(fā)明的。它們的安全性基于大數(shù)難于計(jì) 算的復(fù)雜性,即在有限的時(shí)間和資源內(nèi),對(duì)大數(shù)進(jìn)行因式分解或離散對(duì)數(shù)求解幾乎是不可 能的。但是,隨著計(jì)算機(jī)運(yùn)算速度的提高,它們的安全參數(shù)不得不變得越來(lái)越大,極大地浪 費(fèi)了存儲(chǔ)空間和降低了簽名效率。
(三)
發(fā)明內(nèi)容
本發(fā)明是對(duì)"REESSE1公鑰密碼體制"(《計(jì)算機(jī)工程與科學(xué)》,2003 (10) ,pp. 13-16) 中簽名方案的一個(gè)根本性的革新。 數(shù)字簽名技術(shù)用于計(jì)算機(jī)網(wǎng)絡(luò)和通信網(wǎng)絡(luò)中雙方身份的認(rèn)證、傳輸內(nèi)容的不可抵 賴性、以及電子商務(wù)、金融交易和文件簽發(fā)中身份的鑒別與確認(rèn)。 本發(fā)明希望我們國(guó)家在公鑰加密與數(shù)字簽名領(lǐng)域能夠擁有自己的核心技術(shù),以確 保國(guó)家的信息安全、經(jīng)濟(jì)安全和主權(quán)安全,同時(shí)提高我國(guó)防范金融欺詐、證書(shū)欺詐和票據(jù)欺 詐的技術(shù)手段。 限于篇幅,本節(jié)內(nèi)容略去了對(duì)有關(guān)性質(zhì)和結(jié)論的證明,如果需要補(bǔ)上,我們將立即呈交。 3. 1兩個(gè)基本概念 3. 1. 1互素序列的定義與性質(zhì) 定義1 :如果A、4.....An是n個(gè)兩兩不同的整數(shù),滿足VA、4附帶i # j,
或者gcd(Ai, Aj) = 1 ;或者gcd(Ai, Aj) ^ 1,但對(duì)任意k ^ i、 j, (A/gcd(J,, 4)) fA且 (4'/gcd(A, 4)HA,那么,這些整數(shù)被稱為互素序列,記為A, A2, . . . , AJ ,簡(jiǎn)記為{AJ 。
在本文中,我們要求每個(gè)Ai > O,且VA、 4帶i ^ j,有g(shù)cd(Ai,Aj) = 1。
性質(zhì)1 :對(duì)于任意正整數(shù)m《n,如果從互素序列{AJ中隨機(jī)選取m個(gè)元素,并構(gòu) 造子集{AXl, Ax2, . . . , Axm},那么互素子集積
G = |AxJ X |Ax2| X. X |Axm
3
被唯一地確定,即從G到{AXl, Ax2, . . . , Axm}的映射是一對(duì)一的。
這里,AxJ表示數(shù)AXi的絕對(duì)值,i = 1,2, . . . , m。
3. 1.2杠桿函數(shù) 在本發(fā)明中,仍需要用到杠桿函數(shù)的概念。設(shè)l(.)是由整數(shù)到整數(shù)的單射函數(shù), 其定義域?yàn)閧1,2,... ,nh值域?yàn)閧5,6,... ,M-lh這里M為模數(shù)。 在"REESSE1公鑰密碼體制" 一文中,我們論述了 當(dāng)從公鑰推導(dǎo)私鑰時(shí),需考慮 {l(i)}的全排列數(shù)n !,這意味著,當(dāng)n足夠大時(shí),窮舉{l(i)}的全排列在多項(xiàng)式時(shí)間內(nèi)是 不可行的;但從私鑰恢復(fù)明文或進(jìn)行數(shù)字簽名時(shí)只需考慮{l(i)}的累加和,使得解密或簽 名在關(guān)于n的多項(xiàng)式時(shí)間內(nèi)可行。因此,{1(1)}是"公開(kāi)"一端計(jì)算量大,"私有"一端計(jì)算 量小。故我們稱具有上述特征的U.)為杠桿函數(shù)。 注意在本文中,{AJ是序列{ApAy. ,An}的簡(jiǎn)寫(xiě),{CJ是序列{CpCy. ,CJ
的簡(jiǎn)寫(xiě)。{l(i)}是n個(gè)杠桿函數(shù)值{l(l),l(2),...,l(n)}的簡(jiǎn)寫(xiě)。另外,在本文中,乘法
"AXB"有時(shí)簡(jiǎn)寫(xiě)成"AB", "mod"代表求余,"gcd"代表最大公約數(shù),"一"代表賦值,"e"表
示兩邊對(duì)M求余相等,} /'表示x不能整除y, " I I x I I "代表x mod M的階,"V,代表比特
的求反運(yùn)算,"e "表示左邊變量的值屬于某個(gè)區(qū)間或集合。n > 80為一個(gè)正整數(shù),Hash為
一個(gè)單向散列函數(shù)。 3. 2數(shù)字簽名的技術(shù)方案 本發(fā)明是一種基于多變量排列難題和超對(duì)數(shù)難題的公鑰數(shù)字簽名方法,簡(jiǎn)稱 REESSEl+數(shù)字簽名方法,根據(jù)該方法,可制造數(shù)字簽名芯片,或開(kāi)發(fā)數(shù)字簽名軟件等。因 此,本發(fā)明是一種生產(chǎn)數(shù)字簽名產(chǎn)品所必須遵循的基本原理與技術(shù)方案,而不是物理產(chǎn)品 本身。 本數(shù)字簽名方案,由密鑰生成、數(shù)字簽名和身份驗(yàn)證等三部分組成。
3. 2. 1數(shù)字簽名與身份驗(yàn)證操作 假設(shè)用戶U欲通過(guò)網(wǎng)絡(luò)向用戶V發(fā)送一個(gè)具有自己數(shù)字簽名的文件或消息F,其操 作過(guò)程如下 密鑰生成首先,用戶U應(yīng)該去第三方權(quán)威機(jī)構(gòu)即CA數(shù)字證書(shū)中心 (CertificateAuthentication)領(lǐng)取由密鑰生成部件輸出的一對(duì)私鑰(Private Key)與公 鑰(Public Key),私鑰必須由U自己保管,不得外泄;公鑰則允許以公鑰證書(shū)的形式向外界 公開(kāi)發(fā)放,以便于驗(yàn)證。 數(shù)字簽名操作用戶U在運(yùn)行數(shù)字簽名部件的機(jī)器上用自己的私鑰對(duì)文件或消息 F進(jìn)行簽名,得到簽名碼,并把文件F連同簽名碼發(fā)送給用戶V。 身份驗(yàn)證操作用戶V從CA中心獲得用戶U的公鑰證書(shū),在運(yùn)行身份驗(yàn)證部件的 機(jī)器上對(duì)接收到的文件F和其簽名碼進(jìn)行驗(yàn)證,以鑒定簽名碼是否為用戶U所為、文件F在 傳輸過(guò)程中是否已被修改。
3. 2. 2密鑰生成 密鑰生成部分供CA認(rèn)證中心使用,用來(lái)產(chǎn)生一對(duì)用戶的私鑰和公鑰。 假設(shè)S、T、f)、 d是兩兩互素的整數(shù),其中f)、 7^2"且^e [5,216]非大,其實(shí)現(xiàn)方法
是 (1)隨機(jī)產(chǎn)生互素序列{An A2, . . . , An},計(jì)算(7 = n;'="/
(2)找到一個(gè)正素?cái)?shù)M使得gcd(S, M-l) = 1和招TI (Af - 1) (3)隨機(jī)選擇W、 S G (l,M),其中S滿足li列-df)r (4)產(chǎn)生兩兩不同的值l(l), 1(2),... , l(n) G {5, 7, , 2n+3} (5)計(jì)算《— —1)rmodM, f rmodM, 1(1) — (WGS)—s(a S—"mod M (6)計(jì)算序列{Q, C2, , Cn| & — (AiW1(i)) smod M} 最后,用戶以({AJ、 {l(i)}、W、 S 、f)、《作為私鑰,以({CJ a 、 13)作為公鑰,S、 T、M共用。 3. 2. 3數(shù)字簽名 發(fā)送方即簽名方以自己的私鑰((Aj、(l(iM、W、 S、S、句作為簽名密鑰。設(shè)F為 待簽文件或消息。 (1)令消息摘要H = Hash(F),其二進(jìn)制形式為b^. bn
(2)計(jì)算^仨5S:imod (M—— (]"f: J,6'/mod
(3)選擇S〈M-l,使得^nAWffgmod(M-l),
其中g(shù)三(5£) + 1 mod (M- 1) (4)計(jì)算i — (^TV(1)力s—1 G。一1 mod M 〃 — (i r、 -1 )G mod M,
# e "B mod M《卄Z;i。1 (5 0" —1 —' (// 0' mod - 1)
(5)任選r e [1,力'勺,使得W 。 mod (M- 1), 其中<~ 0gr mod M (6)若cf f ((『0"—1 +《+ r mod (M- l),轉(zhuǎn)至(5) 算法執(zhí)行后,得到數(shù)字簽名碼(Q、U),其可隨文件F—起發(fā)送給驗(yàn)證者。
根據(jù)雙同余定理,在簽名中,無(wú)需V三(R—、G》Qu S A (mod M),其中 三(n乙爿/'/(modiK),入滿足入S三((WQ)n—丄+ 4 +rUS) ( S Q-冊(cè))(mod M_l),這表明AD | yl。
雙同余定理設(shè)M為素?cái)?shù),s、t滿足gcd(s,t) = l為常數(shù),則聯(lián)立方程xSEa(mod M) 、 ? e b (mod M)有唯一解的充要條件是^ e bs (mod M)。
3. 2. 4身份驗(yàn)證 接收方以發(fā)送方的公開(kāi)密鑰({CJ 、 a 、 |3 )作為驗(yàn)證密鑰。設(shè)F為待簽文件或消 息,(Q、U)為其簽名碼。 (1)令消息摘要H = Hash (F),其二進(jìn)制形式為b^. bn
(2)計(jì)算C — Ft::, C,*' mod A/
(3)計(jì)算Z— (ag—i)e"、e" mod試禾口;r卄(。G『'嚴(yán)^^"—'+〃"modM (4)若X e Y,則簽名者身份有效且F未被修改, 否則,簽名者身份無(wú)效或F在傳輸中已被修改 算法執(zhí)行后,可以達(dá)到鑒別簽名真?zhèn)巍⒎腊l(fā)送者抵賴和抗攻擊者修改的目的。 下面證明若(Q、 U)是一個(gè)真實(shí)的簽名碼,則有X e Y(mod M)。 從3. 2. 2節(jié)知aS ^"+w-'F三W(l),GY(modM)和"s W"r(modM)。
從3. 2. 3節(jié)知Q三(RG0)s ( S 1 (1)) (mod M)禾P Gs三G。G(mod M) 令V三(R—^ G》QUS A (mod M)。 因?yàn)锳滿足
入S三((WQ)n—^《+rUS) ( S Q-冊(cè))(mod M_l), 可以令/l = /tdS,這里k是一個(gè)整數(shù),那么
。e" 一三(70)s e V《1 )),iT1『)e ra #s
3 w J, £")"-+《:歸"-1 -'' (,' +'./s) -嗎
三 w 一一 r""G" — 1 + (柳"-(柳)"+啦 - 闊'.ra
三v''+""),腿(mod格
移項(xiàng)拜
守
"三("W- ',j-W'","- 1 + 〃") y》M (腦d
因此,有
三(a0-')Q^"Q"/r(卯"一'+〃") S函督
又
移項(xiàng)得
因此一 (<^c^'俯(mod的。
根據(jù)雙同余定理,有
三(^『i嚴(yán)^的,,r(鵬d^。艮卩Z三((^"—'嚴(yán)7叩"一'+"'、;r(腦dM)。
3. 3本數(shù)字簽名方法的安全性 分析表明,基于多變量排列難題和超對(duì)數(shù)難題的公鑰數(shù)字簽名方法具有相當(dāng)高的 安全性,能滿足實(shí)際應(yīng)用的需要。 在下面的討論中,令M為素常數(shù),y、Ci為常數(shù),x、Ai、W、 S 、 1 (i)為未知量。
離散對(duì)數(shù)難題從y e gx (mod M)求x被稱為離散對(duì)數(shù)難題(參見(jiàn)《應(yīng)用密碼學(xué)》 中E1G塞1簽名方案)。 多變量排列難題從& e (AiW"i)) s (mod M)求^、 W、 S 、 1 (i)被稱之為多變量排 列難題,它保證了私鑰的安全性。 通過(guò)歸約方法知,從Ci推導(dǎo)Ai、W、 S 、1(i)是比求離散對(duì)數(shù)更為困難的。 超對(duì)數(shù)難題從y e xx (mod M)求x被稱之為超對(duì)數(shù)難題,它保證了簽名碼的安全性。 通過(guò)歸方約法知,從y e xx (mod M)求解x是比從y e gx (mod M)求解x更為困難 的。 3.4優(yōu)點(diǎn)和積極效果
3. 4. l安全性較高 在目前所用的RSA、 ElGamal等數(shù)字簽名方案中,利用了大數(shù)難于計(jì)算的問(wèn)題,隨 著計(jì)算機(jī)速度的提高,它們的安全性和效率將受到影響。而本數(shù)字簽名方法是利用了超對(duì) 數(shù)難題y e xx(mod M)以及多變量排列難題& e (AiW1(i)) S (mod M),只是在被窮舉攻擊時(shí)
才考慮計(jì)算機(jī)的運(yùn)算速度,所以,具備更高的安全性。
3.4. 2運(yùn)算速度較快 在本數(shù)字簽名方法中,無(wú)論是簽名還是驗(yàn)證,主要涉及素域上的模乘運(yùn)算和模冪 運(yùn)算。由于模數(shù)M較小且模冪運(yùn)算的個(gè)數(shù)非常有限,因此,運(yùn)算速度將會(huì)較快。
3. 4. 3對(duì)國(guó)家安全有利 互聯(lián)網(wǎng)是一種開(kāi)放網(wǎng),任何人在網(wǎng)上利用一定的工具就可以截獲和修改被傳輸?shù)?信息,因此,在網(wǎng)上傳輸?shù)男畔⒈仨氝M(jìn)行加密和簽名。由于我國(guó)政府、國(guó)防、金融、稅務(wù)等重 要部門業(yè)已使用互聯(lián)網(wǎng)作為通信工具,所以,信息安全關(guān)系到國(guó)家安全和經(jīng)濟(jì)安全。但是, 泱泱一個(gè)大國(guó)的信息安全不能建立在外來(lái)的密碼算法基礎(chǔ)之上,因此,研究我們自己的公 開(kāi)密鑰加密與簽名算法顯得勢(shì)在必行和具有重大意義。
具體實(shí)施例方式
基于多變量排列難題和超對(duì)數(shù)難題的公鑰數(shù)字簽名方法的特點(diǎn)是它能夠讓每一 用戶得到兩個(gè)密鑰,一個(gè)密鑰可以公開(kāi),一個(gè)密鑰只能私人擁有。這樣,就不會(huì)擔(dān)心密鑰在傳遞過(guò)程中泄密了。當(dāng)約定通信雙方在網(wǎng)上傳輸信息時(shí),發(fā)送者使用自己的私鑰對(duì)文件或消息進(jìn)行數(shù)字簽名,接收者收到文件和簽名碼后使用發(fā)送者的公鑰對(duì)其進(jìn)行驗(yàn)證。
每個(gè)用戶可以到指定的CA數(shù)字證書(shū)中心取得兩個(gè)密鑰。CA中心是對(duì)用戶進(jìn)行登記、對(duì)密鑰進(jìn)行產(chǎn)生、分發(fā)和管理的一個(gè)機(jī)構(gòu)。它的主要職能是利用密鑰生成方法產(chǎn)生用戶的一對(duì)公鑰與私鑰。 本數(shù)字簽名方法可以用邏輯電路芯片或程序語(yǔ)言來(lái)實(shí)現(xiàn),并形成相應(yīng)的硬件或軟件產(chǎn)品,它包括三部分①根據(jù)3. 2. 2節(jié)的密鑰生成方法開(kāi)發(fā)出芯片或軟件,由CA數(shù)字證書(shū)中心使用;②根據(jù)3. 2. 3節(jié)的數(shù)字簽名方法開(kāi)發(fā)出芯片或軟件,由簽名用戶使用;③根據(jù)3. 2. 4節(jié)的身份驗(yàn)證方法開(kāi)發(fā)出芯片或軟件,由驗(yàn)證用戶使用。
權(quán)利要求
基于多變量排列難題和超對(duì)數(shù)難題的數(shù)字簽名方法,由密鑰生成、數(shù)字簽名和身份驗(yàn)證三個(gè)部分組成,第一部分用來(lái)生成用戶的一對(duì)私鑰和公鑰,第二部分供發(fā)送方使用自己的私鑰對(duì)文件或消息產(chǎn)生簽名碼,第三部分供接收方使用發(fā)送方的公鑰來(lái)驗(yàn)證簽名碼,假設(shè)S、T、是兩兩互素的整數(shù),其中T≥2n且非大,其特征在于·密鑰生成部分采用了下列步驟1)隨機(jī)產(chǎn)生互素序列{A1,A2,...,An},計(jì)算2)找到一個(gè)正素?cái)?shù)M使得gcd(S,M-1)=1和3)隨機(jī)選擇W、δ∈(1,M),其中δ滿足4)產(chǎn)生兩兩不同的值l(1),l(2),...,l(n)∈{5,7,...,2n+3}5)計(jì)算l(1)←(WGδ)-S(αδ-1)mod M6)計(jì)算序列{C1,C2,...,Cn|Ci←(AiWl(i))δmod M}最后,以({Ai、{l(i)}、W、δ、為私鑰,({Ci}、α、β)為公鑰,S、T、M共用;·數(shù)字簽名部分采用了下列步驟發(fā)送方以自己的私鑰({Ai}、{l(i)}、W、δ、作為簽名密鑰,針對(duì)文件F做(1)令消息摘要H=Hash(F),其二進(jìn)制形式為b1b2...bn(2)計(jì)算bil(i)mod(M-1),(3)選擇?。糓-1,使得其中(4)計(jì)算(5)任選使得其中(6)若轉(zhuǎn)至(5)最后,得到簽名碼(Q、U),其可附在文件F后面發(fā)送給接收方;·身份驗(yàn)證部分采用了下列步驟接收方以發(fā)送方的公鑰({Ci}、α、β)作為驗(yàn)證密鑰,針對(duì)文件F和簽名碼(Q、U)做①令消息摘要H=Hash(F),其二進(jìn)制形式為b1b2...bn②計(jì)算③計(jì)算和④若X≡Y,則簽名者身份有效且F未被修改,否則,簽名者身份無(wú)效或F在傳輸中已被修改。F200910265431XC00011.tif,F200910265431XC00012.tif,F200910265431XC00013.tif,F200910265431XC00014.tif,F200910265431XC00015.tif,F200910265431XC00016.tif,F200910265431XC00017.tif,F200910265431XC00018.tif,F200910265431XC00019.tif,F200910265431XC000110.tif,F200910265431XC000111.tif,F200910265431XC000112.tif,F200910265431XC000113.tif,F200910265431XC000114.tif,F200910265431XC000115.tif,F200910265431XC000116.tif,F200910265431XC000117.tif,F200910265431XC000118.tif,F200910265431XC000119.tif,F200910265431XC000120.tif,F200910265431XC000121.tif,F200910265431XC000122.tif,F200910265431XC000123.tif,F200910265431XC000124.tif,F200910265431XC000125.tif
全文摘要
基于多變量排列難題和超對(duì)數(shù)難題的數(shù)字簽名方法,屬于密碼技術(shù)和計(jì)算機(jī)技術(shù)領(lǐng)域;包括密鑰生成、數(shù)字簽名和身份驗(yàn)證三個(gè)部分;其用戶擁有兩個(gè)密鑰,即一個(gè)私鑰和一個(gè)公鑰,且從公鑰不能推導(dǎo)出私鑰;發(fā)送方的私鑰用于生成文件或消息的簽名碼,發(fā)送方的公鑰用于接收方驗(yàn)證相應(yīng)文件或消息的簽名碼;該方法能有效抵御已有分析手段的攻擊,具有模數(shù)小、計(jì)算速度快、技術(shù)可以公開(kāi)等特點(diǎn),可用于手機(jī)、計(jì)算機(jī)和通信網(wǎng)絡(luò)中任何文件、數(shù)據(jù)的簽名與驗(yàn)證,以及電子政務(wù)、電子商務(wù)中的身份認(rèn)證與內(nèi)容確認(rèn)。
文檔編號(hào)H04L9/32GK101753310SQ20091026543
公開(kāi)日2010年6月23日 申請(qǐng)日期2009年12月28日 優(yōu)先權(quán)日2009年12月28日
發(fā)明者呂述望, 蘇盛輝, 蔡吉人 申請(qǐng)人:蘇盛輝;呂述望;蔡吉人