專利名稱:一種基于互素序列和杠桿函數(shù)的公鑰加密方法
技術(shù)領(lǐng)域:
公開(kāi)密鑰加密方法(簡(jiǎn)稱公鑰加密方法或公鑰加密方案)屬于密碼技術(shù)和計(jì)算機(jī)技術(shù)領(lǐng)域,是電子金融安全、電子商務(wù)安全、電子政務(wù)安全、信息安全、身份認(rèn)證和可信計(jì)算的核心技術(shù)之一。
背景技術(shù):
密碼技術(shù)的發(fā)展經(jīng)歷了古典密碼技術(shù)、對(duì)稱密碼技術(shù)和公鑰密碼技術(shù)三個(gè)階段。 1976年,美國(guó)學(xué)者Diffie和Hellman提出公鑰密碼的思想,標(biāo)志著公鑰密碼技術(shù)的來(lái)臨。目前,普遍使用的公鑰密碼技術(shù)有RSA和EKiamal等方案(參見(jiàn)《應(yīng)用密碼學(xué)》,美國(guó) Bruce Schneier著,吳世忠、祝世雄等譯,機(jī)械工業(yè)出版社,2000年1月,第334-342頁(yè))。 為了縮短參數(shù)長(zhǎng)度,EKiamal方案常在橢圓曲線上模擬實(shí)現(xiàn),此時(shí),它被稱為ECC方案。另外,我國(guó)學(xué)者陶仁驥教授曾提出了 FAPKC1、FAPKC3方案(參見(jiàn)《計(jì)算機(jī)學(xué)報(bào)》,1985 (nil), pp. 401-409)。另外,本發(fā)明作者之一蘇盛輝博士于2001年提出了 REESSE1公鑰加密與數(shù)字簽名方案(參見(jiàn)《計(jì)算機(jī)工程與科學(xué)》,2003(ri5),pp. 13-16)。RSA和EWamal等方案均是美國(guó)人發(fā)明的。它們的安全性分別基于大整數(shù)分解難題(IFP)和離散對(duì)數(shù)難題(DLP),即在有限或有效的時(shí)間或空間內(nèi),對(duì)大整數(shù)進(jìn)行因式分解或求離散對(duì)數(shù)幾乎是不可能的。這是一種漸近安全。隨著計(jì)算機(jī)運(yùn)行速度的提高,它們的安全參數(shù)已變得越來(lái)越大,極大地增加了加解密系統(tǒng)的運(yùn)行時(shí)間。特別是將來(lái)量子計(jì)算機(jī)的出現(xiàn),使得大數(shù)因式分解和離散對(duì)數(shù)求解可以在多項(xiàng)式時(shí)間內(nèi)實(shí)現(xiàn),這對(duì)RSA、ElGamal和 ECC體制構(gòu)成了本質(zhì)威脅。同時(shí),由于種種原因,F(xiàn)APKC3和REESSE1公鑰體制在實(shí)踐中并沒(méi)有真正用起來(lái)。
發(fā)明內(nèi)容
本發(fā)明用于計(jì)算機(jī)和通信網(wǎng)絡(luò)中字符、文字、圖形、圖象和聲音等各種數(shù)據(jù)與文件的加密和解密,以確保數(shù)據(jù)、文件內(nèi)容的保密存儲(chǔ)與傳輸,可廣泛應(yīng)用于電子金融、電子商務(wù)和電子政務(wù)中。本發(fā)明希望我們國(guó)家在公鑰加密領(lǐng)域能夠擁有自己的核心技術(shù),以確保國(guó)家的信息安全、經(jīng)濟(jì)安全和主權(quán)安全,同時(shí)提高我國(guó)防范金融和稅務(wù)欺詐的技術(shù)手段。本節(jié)內(nèi)容略去了對(duì)有關(guān)性質(zhì)和結(jié)論的證明,如果需要補(bǔ)上,我們將立即呈交。在本文中,乘法運(yùn)算“χX y”簡(jiǎn)寫成“xy”,“ % ”代表模運(yùn)算mod,“gcd (X,y) ”代表最大公約數(shù),“ 11X11,,代表M的階,%,,代表比特的求反,“一,,表示變量的賦值,“E”表示兩邊對(duì)模數(shù)求余相等,“V”表示任意選取,“ e,,表示左邊變量的值屬于某個(gè)區(qū)間或集合, “x|y”表示χ整除y,“d/’表示χ不能整除y,「x]代表取χ的上整數(shù),Igx表示χ對(duì)2求對(duì)數(shù),(二乂)代表隊(duì),...,AJ中的最大數(shù)。3. 1三個(gè)基本概念3. 1. 1互素序列的定義與性質(zhì)
定義1 假設(shè)A1,...,An> 1是η個(gè)兩兩不同的整數(shù),且V義、Aj(i乒j)滿足gccKAp Aj) = 1 或者 gccKAp Aj) =H^ LMVyt^j e [1,η]有(Λ.///)+▲和⑷/均 I Α,則稱這
些整數(shù)為一個(gè)互素序列,記為{A1; ...,AJ,簡(jiǎn)記為{AJ。性質(zhì)1:如果從{A1;...,An}中隨機(jī)選取me [1,η]個(gè)元素,構(gòu)造一個(gè)子序列或子集{ΑΧι,...,Α、},那么,子集積G = UlliAxl -=Axr.. Axm被唯一地確定,即從G到{AXl,... , AxJ的映射是一對(duì)一的。證明略。3. 1.2杠桿函數(shù)定義2 對(duì)于素域Gff (M)上的公鑰數(shù)字簽名體制,密鑰變換式中的參數(shù)l(i)被稱為杠桿函數(shù),如果它具有下列特性①1(.)是一個(gè)單射函數(shù),其定義域?yàn)閇l,n],值域Ω為(1,Μ)的子集,這里η<Μ;②i和1⑴之間的映射被隨機(jī)確定,且不存在任何顯性的從1 (.)到公鑰的映射;③當(dāng)試圖從公鑰提取私鑰時(shí),任何敵手不得不考慮Ω中元素的所有排列;④當(dāng)解密或數(shù)字簽名時(shí),私鑰擁有者只需考慮Ω中元素的累加和。顯然,{l(i)}是在“公開(kāi)”一端計(jì)算量大,在“私有”一端計(jì)算量小,它正好起到了 “杠桿”的作用。性質(zhì)2(1(.)的不確定性)令C{1,…,風(fēng)、Ci ^ AiWlii) (% Μ) (i = 1,···, n), PJ V ^eO,碭和 Vx、;Λ ζ e [1,/7]附帶 ζ 乒 x、y,有①當(dāng)1 (x) + (y) =1 (ζ)時(shí),有φ') + _ + t(y) + _ * Φ) + (% M);②當(dāng)1 (χ) +1 (y)興1 (ζ)時(shí),總存在Cx = A' xff' " (x\ Cy = A ‘ y W' "zff' " (Z)(%M)滿足 1' (x)+l' (y) ^ 1' (Z) (%竭且j'jA這里是互素序列中被允許的最大素?cái)?shù)。證明略。3. 1.3比特影子串設(shè)比特明文分組為!^...Iv定義3 令bp . . bn興0是一比特串,按以下規(guī)則生成的I2l. · · b 被稱作比特影子串若bi = 0,則I = ο ;若bi興0,則I2i等于bi前面連續(xù)0的個(gè)數(shù)加1 ;若bi是最右邊的 1,則b等于h前后連續(xù)0的個(gè)數(shù)加1。例如,若bp . . b12 = 100001011100,則仏..= 100005021300。不難理解,有 Σ::ι h = η。性質(zhì)3 令{A1;...,AJ為一個(gè)互素序列,b... I2nSb1... bn#0的比特影子串,則從W . . bn到乂產(chǎn)的映射是一對(duì)一的。證明略。3. 2本發(fā)明的技術(shù)方案注意在本文中,序列{A1;A2,...,AJ有時(shí)簡(jiǎn)寫成{AJ,序列{A,C2,...,Cn}有時(shí)簡(jiǎn)寫成{CJ,杠桿函數(shù){1(1),1(2),...,1 (η)}有時(shí)簡(jiǎn)寫成{1⑴}。本發(fā)明是一種基于互素序列和杠桿函數(shù)的公鑰加密方法,簡(jiǎn)稱REESSE1+加密方法。
根據(jù)該方法,可制造密鑰生成芯片、加密芯片和解密芯片,或者開(kāi)發(fā)密鑰生成軟件、加密軟件和解密軟件等。因此,本發(fā)明是一種生產(chǎn)公鑰加解密產(chǎn)品所必須遵循的基本原理與技術(shù)方案,而不是物理產(chǎn)品本身。本技術(shù)方案,由密鑰生成、加密和解密等三部分組成。3. 2. 1公鑰加密與解密操作本文中,把加密之前的文件或數(shù)據(jù)叫明文,加密之后的文件或數(shù)據(jù)叫密文。假設(shè)用戶V欲通過(guò)網(wǎng)絡(luò)向用戶U發(fā)送一個(gè)文件或數(shù)據(jù),且以保密的方式進(jìn)行。用戶V與用戶U欲實(shí)現(xiàn)這么一個(gè)保密通信構(gòu)想,其過(guò)程如下密鑰生成首先,用戶U去第三方權(quán)威機(jī)構(gòu),即CA證書中心(Certificate Authentication)領(lǐng)取由密鑰生成部件輸出的一對(duì)私鑰(Private Key)與公鑰(Public Key),私鑰必須由用戶U自己保管,不得泄密;公鑰則允許以公鑰證書的形式向外界公開(kāi)發(fā)放,以便于加密時(shí)使用。加密操作用戶V從CA認(rèn)證中心獲得用戶U的公鑰證書,在運(yùn)行加密部件的機(jī)器上對(duì)欲發(fā)送的明文進(jìn)行加密,得到密文,并通過(guò)網(wǎng)絡(luò)把密文傳送給用戶U。解密操作用戶U接收到用戶V發(fā)送來(lái)的密文后,在運(yùn)行解密部件的機(jī)器上用自己的私鑰對(duì)密文進(jìn)行解密,恢復(fù)出明文。在公鑰加密方法中,為了提高加密的效率,通常采用混合密碼技術(shù),即用對(duì)稱密碼體制來(lái)加密明文,再用公鑰密碼體制來(lái)加密和傳輸對(duì)稱密鑰。3. 2. 2密鑰生成部分令/1二 {2, ...,P= 1201}、Ω = {5,7, ...,2η+3}。令P1,...,Ρη是自然數(shù)中的前η個(gè)素?cái)?shù)。密鑰生成部分供CA認(rèn)證中心使用,用來(lái)產(chǎn)生一對(duì)私鑰和公鑰,其實(shí)現(xiàn)方法是(1)隨機(jī)產(chǎn)生互素序列{、,···,AJ且每個(gè)Ai e Λ(2)尋找一個(gè)素?cái)?shù)M> QLAifmmiiP^ ι雙其中k滿足m=,。> 21。和Pk彡加+3(3)隨機(jī)選取 1(1),... , l(n) e Ω 且V/有 1 ⑴乒 1 (j)(4)隨機(jī)選取 δ κ 菸使得gcd(<5, Μ) = 1 和 |ff| | ^ 2n_2°(5)計(jì)算 Ci 一 (AiWiai) s % M 對(duì)于 i = 1,· · ·,n,結(jié)束最后,以(ICiLM)為公鑰,以({AJ.W, δ、Μ)為私鑰,{l(i)}可以丟棄。定義4:從Ci= (AiWiai) δ (%M)尋找原始的{Aj、{l(i)}、W、δ被稱為多變量排 ^ljXtH (Multivariate Permutation Problem, MPP) 性質(zhì)4 =MPP在計(jì)算難度上至少等價(jià)于同一素域中的DLP。證明略。3. 2. 3加密部分加密部分供發(fā)送方使用,用來(lái)對(duì)明文進(jìn)行加密。發(fā)送方為獲得加密密鑰即接收方公鑰,須從CA中心取得接收方的公鑰證書。假設(shè)({CJ、M)是公鑰,b” . . bn是η比特的明文分組。則加密部分的實(shí)現(xiàn)方法是(1)置l,k 一 0,i 一 1(2)若 h = 0,令 k 一 k+l,bi — 0,否則做仏—k+1, k —GCfi0AM(3)令 i 一 i+1,若 i 彡 n,轉(zhuǎn)至 O)
⑷若bn = 0,做
權(quán)利要求
1. 一種基于互素序列和杠桿函數(shù)的公鑰加密方法,由密鑰生成、加密和解密三個(gè)部分組成,密鑰生成部分供第三方權(quán)威機(jī)構(gòu)產(chǎn)生接收方用戶的一對(duì)私鑰和公鑰,加密部分供發(fā)送方使用接收方的公鑰把明文轉(zhuǎn)換為密文,解密部分供接收方使用自己的私鑰把密文還原成明文,其特征在于 密鑰生成部分采用了下列步驟1)隨機(jī)產(chǎn)生互素序列{A1;...,AJ且每個(gè)Ai e A2)尋找一個(gè)素?cái)?shù)M>使得丨M其中k滿足ΠΙ e, > 21Q和Pk ( 2n+33)隨機(jī)選取1(1),..., 1 (η) e Ω且V/勺.,有1⑴乒1 (j)4)隨機(jī)選取δ ,ψ < 份使得 gcd(<5, Μ) = 1 和 |ff| I ^ 2n_2。5)計(jì)算Ci 一 (AiWiaj) s % M 對(duì)于 i = 1,. . .,n,結(jié)束最后,以(IClKM)為公鑰,以({AJ、W、δ、Μ)為私鑰,且私鑰不能外泄; 加密部分采用了下列步驟發(fā)送方以接收方的公鑰({CJ、M)作為加密密鑰,針對(duì)η比特的明文分組!^…比做(1)置知l,k —0,i — 1(2)若、=0,令k 一 k+1, bj — 0,否則做仏一 k+1, k — 0,G<- GCtb'%M(3)令i—i+1,若i彡n,轉(zhuǎn)至O)(4)若bn = 0,做 hn_k — bn_k+k,G<- GiCn^f % M 最后,得到密文么它將被發(fā)送給接收方; 解密部分采用了下列步驟接收方以自己的私鑰({AJ、W、δ、Μ)作為解密密鑰,并針對(duì)密文 做①計(jì)算JejP%μ②計(jì)算GW2VoM③置b” · · bn — 0,G 1(5,i 一 1,k 一 0④若V+1 I GJiG — G M/+ 1A 一 1,k 一 0 否則,令k —k+1⑤令i— i+1,若i彡η且G乒1,轉(zhuǎn)到④⑥若k乒 且(An_k)k|G,做G —G/(An_k)k⑦若G興1,轉(zhuǎn)到②,否則,結(jié)束最后,接收方恢復(fù)出發(fā)送方的原始明文b” . . bn。
全文摘要
一種基于互素序列和杠桿函數(shù)的公鑰加密方法,屬于密碼技術(shù)和計(jì)算機(jī)技術(shù)領(lǐng)域;包括密鑰生成、加密和解密三個(gè)部分;其接收方用戶擁有兩個(gè)密鑰,一個(gè)只能私有,叫私鑰,一個(gè)可以公開(kāi),叫公鑰,它從Ci≡(AiWl(i))δ(%M)得來(lái),且從它不能推導(dǎo)出私鑰({Ai}、W、δ);發(fā)送方使用接收方的公鑰把明文轉(zhuǎn)換成密文(加密),接收方使用自己的私鑰把密文還原成明文(解密);該方法具有模長(zhǎng)不大、安全性高、計(jì)算速度較快、密鑰使用方便、技術(shù)可以公開(kāi)等特點(diǎn),可用于計(jì)算機(jī)和通信網(wǎng)絡(luò)中任何文件、數(shù)據(jù)的保密存儲(chǔ)與傳輸。
文檔編號(hào)H04L9/32GK102347840SQ20111030799
公開(kāi)日2012年2月8日 申請(qǐng)日期2011年10月12日 優(yōu)先權(quán)日2011年10月12日
發(fā)明者呂述望, 蘇盛輝, 蔡吉人 申請(qǐng)人:呂述望, 蘇盛輝, 蔡吉人