專利名稱:一種基于非均勻超遞增序列的公鑰加密方法
(一)技術領域公開密鑰加密方法(簡稱公鑰加密方法)屬于密碼技術和計算機技術領域,是信息安全和可信計算的核心技術之一。
背景技術:
密碼技術的發(fā)展經(jīng)歷了古典密碼技術、對稱密碼技術和公鑰密碼技術三個階段。1976年,美國學者Diffie和Hellman提出公鑰密碼的思想,標志著公鑰密碼技術的來臨。目前,普遍使用的公鑰加密技術有RSA方案、Rabin方案和ElGamal方案(參見《應用密碼學》,美國BruceSchneier著,吳世忠、祝世雄等譯,機械工業(yè)出版社,2000年1月,第334-342頁)。為了提高安全性,ElGamal方案常在橢圓曲線上實現(xiàn),此時,它叫ECC方案。另外,我國學者陶仁驥、蘇盛輝等提出了FAPKC1、REESSE1等方案(參見《計算機學報》,1985(11),pp.401-409。《計算機工程與科學》,2003(10),PP.13-16)。
RSA、Rabin和ElGamal等方法是美國人發(fā)明的。它們的安全性基于大數(shù)難于計算的復雜性,即在有限的時間和資源內(nèi),對大數(shù)進行因式分解或求解離散對數(shù)幾乎是不可能的。但是,隨著計算機運行速度的提高,它們的安全強度已越來越被削弱。陶仁驥教授提出的FAPKC1經(jīng)分析也是不安全的。
發(fā)明內(nèi)容本發(fā)明是對“一種基于杠桿函數(shù)和超遞增序列的公鑰加密方法”(專利號ZL03156920.X)的一個革新,兩者的某些數(shù)學前提以及產(chǎn)生公鑰與私鑰的方案是類似的,但加密方法與解密方法不同。
本發(fā)明用于計算機和通信網(wǎng)絡中字符、文字、圖形、圖象和聲音等各種數(shù)據(jù)與文件的加密和解密,以確保文件、數(shù)據(jù)內(nèi)容的私密存儲與傳輸,可廣泛應用于電子商務、電子金融和電子政務中。
本發(fā)明希望我們國家在公鑰加密領域能夠擁有自己的核心技術,以確保國家的信息安全、經(jīng)濟安全和主權(quán)安全,同時提高我國防范金融和稅務欺詐的技術手段。
本節(jié)內(nèi)容略去了對有關性質(zhì)和結(jié)論的證明,如果需要補上,我們將立即呈交。
3.1三個基本概念3.1.1非均勻超遞增序列的定義與性質(zhì)定義1對于n正整數(shù)A1、A2、…、An,如果每個Ai(i>1)滿足Ai>Σj=1i-1(i-j)Aj]]>那么,該正整數(shù)系被稱為非均勻超遞增序列,記為{A1,...,An},簡記為{Al}。
性質(zhì)1假設{A1,...,An)是一個非均勻超遞增序列,那么,對于i>1和任何正整數(shù)k,存在(k+1)Ai>Σj=1i-1(k+i-j)Aj.]]>證明略。
3.1.2非均勻子集和的定義與性質(zhì)定義2假設b1...bn(bi∈
)是一個明文分組、{A1,...,An}是一個序列或集合。
計算E如下E≡Σi=1nAibiLi]]>這里Li=Σj=1ibj,]]>那么E被稱為非均勻子集和。
注意,在定義2中,我們并沒有強調(diào){A1,...,An}是非均勻超遞增序列。
性質(zhì)2對于任何正整數(shù)m≤n,如果從非均勻超遞增序列{Al}中隨機選取m元素并按照原序構(gòu)造子集合{Ax1,Ax2,...,Axm},那么非均勻子集和E=mAx1+(m-1)Ax2+...+Axm是唯一確定的,即從E到{Ax1,Ax2,...,Axm)的映射是一對一的。
證明略。
3.1.3杠桿函數(shù)在本發(fā)明中,仍需要杠桿函數(shù)的概念。設l(.)是由整數(shù)到整數(shù)的單射函數(shù),其定義域為{1,2,…,n},值域為{5,6,…,n+4}。
我們知道,在ZL03156920.X加密方法中,當從公鑰推導私鑰或破譯密文時,需考慮{l(i)}的全排列數(shù)n!,當n足夠大時,窮舉{l(i)}的全排列是不可行的;但從私鑰和密文恢復明文時只需考慮{l(i)}的累加和,在n的多項式時間內(nèi)有解。因此,若以密文為支點,則l(.)是“公開”一端計算量大,“私有”一端計算量小。因此,我們稱具有上述特征的l(.)為杠桿函數(shù)。
注意在本文中,{Ai}是序列{A1、A2、…、An}的簡寫,{Gi}是序列{C1、C2、…、Cn}的簡寫。{l(i)}是n個杠桿函數(shù)值{l(1)、l(2)、…l(n)}的簡寫。
乘法運算“A×B”簡寫成“AB”?!癿od”代表求余?!癵cd”代表最大公約數(shù)?!啊贝碣x值?!啊浴贝韮蛇厡求余相等,即模等。
3.2本發(fā)明的技術方案本發(fā)明是一種基于非均勻超遞增序列的公鑰加密方法,簡稱REESSE2+加密方法,根據(jù)該方法,可制造公鑰加密解密芯片、或開發(fā)公鑰加密解密軟件等。因此,本發(fā)明是一種生產(chǎn)公鑰加密解密產(chǎn)品所必須遵循的基本原理與技術方案,而不是物理產(chǎn)品本身。
本技術方案,由密鑰生成、加密和解密等三部分組成。
3.2.1公鑰加密與解密操作本文中,把加密之前的文件或數(shù)據(jù)叫明文,加密之后的文件或數(shù)據(jù)叫密文。
假設用戶V欲通過網(wǎng)絡向用戶U發(fā)送一個文件或數(shù)據(jù),且以保密的方式進行。用戶V與用戶U欲實現(xiàn)這么一個保密通信過程,其模式如下密鑰生成首先,用戶U應該去第3方權(quán)威機構(gòu)(CA認證中心或數(shù)字證書中心)領取一對由密鑰生成部件輸出的私鑰(Private Key)與公鑰(Public Key),私鑰必須由用戶U自己保管,不得泄密;公鑰則允許以公鑰證書的形式向外界公開發(fā)放,以便于使用。
加密操作用戶V從CA認證中心獲得用戶U的公鑰證書,在運行加密部件的機器上對欲發(fā)送的明文進行加密,得到密文,并通過網(wǎng)絡把密文傳送給用戶U。
解密操作用戶U接收到用戶V發(fā)送來的密文后,在運行解密部件的機器上用自己的私鑰對密文進行解密,恢復出明文。
在公鑰加密方法中,為了提高加密的效率,通常采用混合密碼技術,即用對稱密碼體制來加密明文,再用公鑰密碼體制來加密會話密鑰。對稱密碼體制所使用的加密密鑰與解密密鑰本質(zhì)上是同一個密鑰,被稱為會話密鑰。
3.2.2密鑰生成部分密鑰生成部分供CA認證中心使用,用來產(chǎn)生一對私鑰和公鑰。其實現(xiàn)方法是(1)隨機產(chǎn)生非均勻超遞增序列{A1,...,An},且每個Ai是偶數(shù)(2)找到一個合數(shù)M>Σi=1n(n+1-i)Ai]]>使得logM≤2n(3)選擇兩個整數(shù)W、Z<M滿足gcd(W,M)=1且M/gcd(M,Z)≈2n,依照WW-1≡1(modM)和Z+(-Z)≡0(mod,M)計算W-1和(-Z)(4)隨機產(chǎn)生兩兩不同的函數(shù)值l(1),...,l(n)∈Ω={5,...,n+4}
(5)計算序列{C1,...,Cn|Ci←(Ai+Zl(i))WmodM}最后,以({Ai}、W-1、-Z、M)作為私鑰,以({Ci}M)作為公鑰,{l(i)}丟棄。
3.2.3加密部分加密部分供發(fā)送方使用,用來對明文進行加密。發(fā)送方為獲得加密密鑰即接收方公鑰,須從CA認證中心取得接收方的公鑰證書。
假設({Ci}、M)是公鑰,b1...bn是n比特的明文分組。則加密部分的實現(xiàn)方法是(1)令E‾←0,]]>L←0,i←n(2)如果bi=1,則L←L+1和E‾←E‾+LCimodM]]>(3)置i←i-1,若i≥1,轉(zhuǎn)至(2),否則,結(jié)束最后,得到可安全發(fā)送的密文 顯然,根據(jù)定義2, 也是非均勻子集和。
3.2.4解密部分解密部分供接收方使用,用來對密文進行解密。接收方以自己的私鑰作為解密密鑰。
假設({Ai}、W-1、-Z、M)是私鑰, 是密文。則解密部分的實現(xiàn)方法是(1)計算E‾←E‾W-1modM]]>和Eu←Σi=1n(n+1-i)Ai]]>(2)重復E‾←E‾+(-Z)modM]]>直到 為偶數(shù)且E‾≤Eu]]>(3)令b1...bn←0,E←E‾,]]>L←0,i←n(4)如果E≥(L+1))Ai,則L←L+1,bi←1和E←E-LAi(5)置i←i-1,若i≥1和E≠0,轉(zhuǎn)至(4)(6)如果E≠0,轉(zhuǎn)至(2),否則,結(jié)束最后,原始明文b1...bn被得到。
顯然,只要 是一個真的密文,解密方案總能正常終止。
3.2.5解密的正確性因為( )是一個交換群,k∈
,有kZ+k(-Z)≡kZ+(-kZ)≡0(modM)令b1...bn是,n比特的明文,且k=(Σi=1nl(i)biLi),]]>其中,Li=Σj=1ibj.]]>我們需要證明E‾W-1+k(-Z)≡E(modM).]]>根據(jù)3.2.3節(jié),E‾≡Σi=1nCibiLi(modM),]]>其中Ci≡(Ai+Zl(i))W(modM)因此
E‾W-1+k(-Z)≡(Σi=1nCibiLi)W-1+k(-Z)]]>≡(Σi=1n(Ai+Zl(i))WbiLi)W-1+k(-Z)]]>≡Σi=1n(AibiLi+Zl(i)biLi)+k(-Z)]]>≡Σi=1nAibiLi+Σi=1nZl(i)biLi+k(-Z)]]>≡E+Zk+(-kZ)]]>≡E(modM)]]>顯然,上面的證明給出了求E的方法。
注意,在實際中,明文b1...bn是事先不知道的,所以,我們無法直接計算k。然而,因為k∈[1,Σi=1n(i+4)2]]]>的范圍是非常窄的,我們可以根據(jù)加(-Z)mod M來試探性尋找k,在一些項(AiLi)從E中被減掉以后驗證E是否等于0。如果條件E=0被滿足,從3.2.4節(jié)知,原始的明文b1...bn同時被得到。
3.3優(yōu)點和積極效果3.3.1安全性較高由于綜合利用了杠桿函數(shù)、非均勻超遞增序列以及非均勻子集和等手段,改變了密鑰變換公式和極大提高了序列密度(D≈n(n+1)/(2logM),所以,本加密方法能有效抗御Shamir的極小點攻擊以及Lagarias-Odlyzko-Brickell、Coster-Joux-LaMacchia等的L3歸約基攻擊。
3.3.2運算速度較快在本加密方法中,加密、解密操作基本上只用到加法和減法運算,且最大整數(shù)(即模數(shù))可控制在256比特范圍之內(nèi),所以,與流行的RSA、ECC算法比較起來,加密、解密速度要快上許多倍。
3.3.3技術可以公開本發(fā)明的實現(xiàn)技術完全可以公開,用戶的公鑰(Public Key)也可以完全向外界公開發(fā)放。只要私鑰(Private Key)不泄密,就可以完全保證密文的安全。
3.3.4對國家安全有利互聯(lián)網(wǎng)是一種開放網(wǎng),在上面?zhèn)鬏數(shù)男畔⒈仨氝M行加密。由于我國政府、國防、金融、稅務等重要部門業(yè)已使用互聯(lián)網(wǎng)作為通信工具,所以,信息安全關系到國家安全和經(jīng)濟安全。但是,泱泱一個大國的信息安全不能建立在外來的密碼算法基礎之上,因此,研究我們自己的公鑰加密與簽名算法顯得勢在必行和具有重大意義。
具體實施方式
基于非均勻超遞增序列的公鑰加密方法的特點是它能夠讓每一用戶得到兩個密鑰,一個密鑰可以公開,用于加密,一個密鑰只能私人擁有,用于解密。這樣,就不會擔心密鑰在網(wǎng)上傳遞過程中泄密了。當約定通信者在網(wǎng)上傳輸信息時,發(fā)送者使用接收者的公鑰對文件或消息進行加密,接收者收到密文后使用自己的私鑰對其進行解密。
每個用戶可以到指定的CA(Certificate Authentication)認證中心取得兩個密鑰。CA認證中心是對用戶進行登記、對密鑰進行產(chǎn)生、分發(fā)和管理的一個機構(gòu)。它利用3.2.2節(jié)的密鑰生成方法產(chǎn)生用戶的公鑰與私鑰。
本加密方法可以用邏輯電路芯片或程序語言來實現(xiàn),它包括兩部分(1)根據(jù)密鑰生成方法開發(fā)出芯片或程序,由CA認證中心使用;(2)根據(jù)3.2.3、3.2.4節(jié)的加密與解密方法開發(fā)出芯片或程序,由一般用戶使用。
權(quán)利要求
1.一種基于非均勻超遞增序列的公鑰加密方法,由密鑰生成、加密和解密三個部分組成,密鑰生成部分供第3方權(quán)威機構(gòu)產(chǎn)生用戶的一對私鑰和公鑰,加密部分供發(fā)送方使用接收方的公鑰把明文轉(zhuǎn)換為密文,解密部分供接收方使用自己的私鑰把密文還原成明文,其特征在于●密鑰生成部分采用了下列步驟(1)隨機產(chǎn)生非均勻超遞增序列{A1,...,An},且每個Ai是偶數(shù)(2)找到一個合數(shù)M>Σi=1n(n+1-i)Al]]>使得logM≤2n(3)選擇兩個整數(shù)W、Z<M滿足gcd(W,M)=1且M/gcd(M,Z)≈2n,依照W W-1≡1(mod M)和Z+(-Z)≡0(mod M),計算W-1和(-Z)(4)隨機產(chǎn)生兩兩不同的函數(shù)值l(1),...,l(n)∈Ω={5,...,n+4}(5)計算序列{C1,...,Cn|Ci←(Ai+Zl(i))W mod M}最后,以({Ai}、W-1、-Z、M)作私鑰,以({Ci}、M)為公鑰,其中,私鑰只能由密文接收方私自擁有;●加密部分采用了下列步驟發(fā)送方以接收方的公鑰({Ci}、M)作為加密密鑰,針對n比特的明文分組b1...bn做(1)令E-←.0,]]>L←0,i←n(2)如果bi=1,則L←L+1和E‾←E‾+LCimodM]]>(3)置i←i-1,若i≥1,轉(zhuǎn)至(2),否則,結(jié)束最后,得到密文 它將被發(fā)送給接收方;●解密部分采用了下列步驟接收方以自己的私鑰({Ai}、W-1、-Z、M)作為解密密鑰,針對密文 做(1)計算E‾←E‾W-1modM]]>和Eu←Σl=1n(n+1-i)Ai]]>(2)重復E‾←E‾+(-Z)modM]]>直到 為偶數(shù)且E‾≤Eu]]>(3)令b1...bn←0,E←E-,]]>L←0,i←n(4)如果E≥(L+1)Ai,則L←L+1,bi←1和E←E-LAi(5)置i←i-1,若i≥1和E≠0,轉(zhuǎn)至(4)(6)如果E≠0,轉(zhuǎn)至(2),否則,結(jié)束最后,接收方恢復出發(fā)送方的原始明文b1...bn。
全文摘要
屬密碼學和計算機科學技術;一種基于非均勻超遞增序列的公鑰加密方法,包括密鑰生成、加密和解密三個部分;其用戶擁有兩個密鑰,一個只能私有,叫私鑰,一個可以公開,叫公鑰,且從公鑰不能推出私鑰;公鑰用于把明文轉(zhuǎn)換成密文(加密),私鑰用于把密文還原成明文(解密);該方法具有小模數(shù)、能有效抗御Shamir的極小點攻擊以及LOB-L
文檔編號H04L9/08GK101072099SQ200710123349
公開日2007年11月14日 申請日期2007年6月22日 優(yōu)先權(quán)日2007年6月22日
發(fā)明者蘇盛輝 申請人:蘇盛輝