999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

RSA算法的研究和改進(jìn)

2016-02-23 06:33:28陳春玲齊年強(qiáng)

陳春玲,齊年強(qiáng),余 瀚

(南京郵電大學(xué) 計算機(jī)學(xué)院,江蘇 南京 210003)

RSA算法的研究和改進(jìn)

陳春玲,齊年強(qiáng),余 瀚

(南京郵電大學(xué) 計算機(jī)學(xué)院,江蘇 南京 210003)

為了提高RSA算法的安全性,避免RSA密碼體制中的模n被因子分解,導(dǎo)致私鑰d泄露,采取消除密鑰中n的分布方法以及對三個因素因子的加密方法。采用消除密鑰中n的分布方法可以成功避免在公布的公鑰和保密的私鑰中出現(xiàn)n,防止攻擊者通過因子分解法分解出公鑰中n的因子,推導(dǎo)出解密密鑰d;采用三因子的加密算法,即使攻擊者知道了φ(n),但對于分解n的三個素數(shù)沒有一個具體的公式,所以加大了分解的困難性,并且因?yàn)榇笏財?shù)適當(dāng)減小了位數(shù),降低了計算量。實(shí)驗(yàn)結(jié)果表明,該方法提高了RSA算法的安全性,時間復(fù)雜度與傳統(tǒng)RSA算法相同。

RSA;安全性;公鑰;私鑰;時間

0 引 言

在RSA算法中兩個密鑰之間存在一種數(shù)學(xué)上的聯(lián)系?;谶@個事實(shí),如果某個人發(fā)現(xiàn)了這種數(shù)學(xué)聯(lián)系并成功獲取了私鑰,這樣體制就會被破壞。算法中公鑰和私鑰都包含大數(shù)n,n可以被分解為因子p和q。眾所周知,公鑰是公開的,因此,如果某人猜到了n的因子那就很容易獲取私鑰。為了阻止該事件的發(fā)生,算法中嘗試消除私鑰和公鑰中n的分布,在n上運(yùn)用一種數(shù)學(xué)變換,通過使用X來替代n,使得攻擊者無法分解到n的因子。文中同時提出了三因子的RSA加密算法,指的是選取三個素數(shù)因子a1、a2、a3,它們的乘積為n,即n=a1×a2×a3。該算法可以降低大素數(shù)選擇所需要的時間,適當(dāng)?shù)販p少大素數(shù)的位數(shù),降低計算量。

1 傳統(tǒng)RSA密碼算法的研究與分析

RSA算法[1]是1978年由三位數(shù)學(xué)家Rivest、Shamir和Adleman根據(jù)Whitfield與Martin Hellman的理論框架設(shè)計出的一種非對稱加密算法。RSA密碼體制的安全性取決于其加密算法的數(shù)學(xué)函數(shù)的求逆困難性,稱之為大數(shù)因子分解的困難性[2-4]。RSA包含了產(chǎn)生密鑰、加密信息和解密信息三個步驟:

步驟1:產(chǎn)生密鑰。

選取兩個大素數(shù)p和q,p≠q。計算乘積:

n=p×q

(1)

得到歐拉函數(shù):

φ(n)=(p-1)×(q-1)

(2)

選擇隨機(jī)整數(shù)e,使得GCD(e,φ(n))=1且1

計算:

d=e-1Modφ(n)

(3)

其中,d為e的關(guān)于模φ(n)的乘法逆元,滿足ed=1Modφ(n)。

公鑰為(e,n),私鑰為(d,n)。

步驟2:加密信息。

發(fā)送者通過式(4)來加密信息M。

C=MeMod(n)

(4)

其中,C是加密后產(chǎn)生的密文。

步驟3:解密信息。

接收者通過式(5)來解密密文C。

M=CdMod(n)

(5)

其中,M是加密前的信息。

傳統(tǒng)RSA算法密鑰生成過程時間主要是求取最大公約數(shù)的時間及計算公鑰和私鑰模乘法逆元的時間[5-6]。求取最大公約數(shù)采用歐幾里得算法,其時間復(fù)雜度為O(φ(n)/2),模乘法逆元的計算方法采用窮舉法,時間復(fù)雜度為O(φ(n)),因此密鑰生成的時間復(fù)雜度為O(3φ(n)/2)。加密解密計算的時間主要是模冪運(yùn)算的時間,即形式為XnMod(m)的函數(shù)運(yùn)算時間,其采用遞歸法實(shí)現(xiàn),時間復(fù)雜度為O(n)。所以傳統(tǒng)RSA算法密鑰生成的時間復(fù)雜度為O(φ(n)/2),加密算法時間復(fù)雜度為O(e),解密算法時間復(fù)雜度為O(d)。

在傳統(tǒng)的RSA公鑰密碼體制中一共出現(xiàn)了六個變量:p、q、n、φ(n)、e、d。但是在加密端只能知道n和e,在解密端可以知道p、q、n和d。其中可以將密文解密成明文的密鑰是d,即解密密鑰。如果d被泄露了,那么加密是無效的。

在加密端,在已知n和e的情況下如何推導(dǎo)出解密密鑰d。

由式(3)知,推導(dǎo)d需要知道公鑰e和φ(n)。

由式(2)知,只有知道p和q,才能算出φ(n)。

由式(1)知,要想知道p和q,必須對n進(jìn)行大整數(shù)的因子分解。

所以在RSA密碼體制中,如果模n被因子分解,那么其私鑰d也會被泄露出去[7-9]。雖然至今還未能在理論和事件中證明有分解大整數(shù)的有效辦法,但大數(shù)因子分解未被證明是NP問題,且隨著計算機(jī)計算能力的提高,原來被認(rèn)為不可能分解的某些大整數(shù)可能會被成功分解,這對RSA密碼體制的安全性構(gòu)成了潛在的威脅[10]。

為了確保RSA加密算法的安全性,只有不斷地增加密鑰長度。目前,一般要求密鑰長度在2 014bit位到2 048bit位之間,甚至更高。

2 RSA算法的改進(jìn)

改進(jìn)的RSA算法引進(jìn)了對三個素數(shù)因子的RSA加密算法[11-12]和兩個以上的步驟來消除密鑰中的n。引進(jìn)的三個素數(shù)因子雖然增加了素數(shù)因子的個數(shù),但是減少了素數(shù)因子的位數(shù),消除密鑰中的n可以使攻擊者無法通過因式分解n分解得到因子p和q。所以,一定程度上使得RSA算法更加安全。算法包括三個部分:產(chǎn)生內(nèi)部密鑰(n已經(jīng)被消除)、加密信息和解密信息。

步驟1:產(chǎn)生密鑰。

選擇大素數(shù)a1、a2、a3,a1≠a2≠a3。計算乘積:

n=a1×a2×a3

(6)

得到歐拉函數(shù):

φ(n)=(a1-1)×(a2-1)×(a3-1)

(7)

根據(jù)a1、a2、a3的大小關(guān)系,計算X來替代n:

如果a1>a2>a3或者a1>a3>a2,解出X得:

GCD(X,n)=1,n-a1

(8)

如果a2>a1>a3或者a2>a3>a1,解出X得:

GCD(X,n)=1,n-a2

(9)

如果a3>a1>a2或者a3>a2>a1,解出X得:

GCD(X,n)=1,n-a3

(10)

將求得的X代入式(11),求解出k2:

(11)

現(xiàn)在,公鑰是(k1,X),私鑰是(k2,X)。

步驟2:加密信息。

發(fā)送者通過公鑰(k1,X)來加密信息M,公式為:

C=Mk1Mod(X)

(12)

其中,C是加密后產(chǎn)生的密文。

步驟3:解密信息。

接收者通過私鑰(k2,X)來解密密文C,公式為:

(13)

其中,M是加密前的信息。

根據(jù)上述步驟,可以設(shè)計出改進(jìn)RSA算法密鑰生成的流程,見圖1。

通過用X替換n成功消除了n。這讓算法變得相對安全,因?yàn)楣粽邿o法通過X分解到a1、a2和a3。

RSA算法的約束是,加密時所取的信息值必須小于大數(shù)的值,即小于n的值[13]。

圖1 改進(jìn)RSA密鑰生成算法流程圖

再者,能夠通過另外一層的加密擴(kuò)展該算法,但是這種大于一層的加密只能運(yùn)用于二因子的RSA算法,并不適用于三因子的RSA算法。這個可以在計算完X通過重復(fù)改進(jìn)算法中的式(8)~(10)并且得到k2來實(shí)現(xiàn)。

但是這一次需要采用獲取答案的四次方根。這個方法可以應(yīng)用更多次,只要取得的值滿足所有的約束。

改進(jìn)的RSA算法密鑰生成以及加解密算法所采用的方法是一樣的,但是步驟上有所不同。密鑰生成算法增加了根據(jù)a1、a2、a3的大小替換n的X的計算,時間復(fù)雜度為O(2φ(n)),加密算法的時間復(fù)雜度為O(k1);解密算法在模冪運(yùn)算結(jié)果的基礎(chǔ)上增加了平方根運(yùn)算,因?yàn)槠椒礁\(yùn)算的時間復(fù)雜度為常數(shù)階,因此解密算法的時間復(fù)雜度為O(k2)。

3 實(shí)驗(yàn)結(jié)果與分析

以計算φ(n)的攻擊方法為例,如果在傳統(tǒng)的RSA加密算法中,攻擊者可以計算出來φ(n),就能夠分解出n的素數(shù)因子。這是由于φ(n)=(p-1)(q-1)=pq-(p+q)+1=n-(p+q)+1→p+q=n+1-φ(n)且pq=n,那么可以構(gòu)造一元二次方程x2-(n+1-φ(n))x+n=0,方程的根就是p和q[14-15]。

例如:如果n=221,φ(n)=192,那么,一元二次方程x2-30x+221=0的兩個根為x1=13,x2=17。因此,n=13×17=221。

改進(jìn)的RSA算法中,在已知公鑰的前提下,無法知道公鑰中的n,因此無法通過方程分解出n的因子;再者,采用三個素數(shù)因子的RSA算法,就算攻擊者知道了φ(n),但是對于分解n的三個素數(shù)因子沒有一個具體的公式去求解,所以分解的困難度會大大增加,提高了算法的安全性。

表1和表2分別為RSA算法和改進(jìn)RSA算法在時間上的差異。以滴答(1ms等于10 000滴答)為單位,并只用單層加密,即使用X作為系數(shù)。因?yàn)榇怂惴▽W⒂赗SA算法的安全方面,密鑰的生成以及加解密方面增加了計算量,所以時間會有一些增加。

表1 RSA算法的時間

表2 改進(jìn)RSA算法的時間

圖2是RSA算法和改進(jìn)RSA算法之間產(chǎn)生密鑰的時間對比,以滴答為單位。

密鑰的產(chǎn)生過程在時間上有很多的變化,因?yàn)槎嘤嗟囊恍┘用懿襟E或消除n的分布消耗了時間。

圖3為RSA算法和改進(jìn)RSA算法之間加密和解密的時間對比,以滴答為單位。

圖2RSA算法和改進(jìn)RSA算法之間

圖3RSA算法和改進(jìn)RSA算法之間

信息的加密和解密存在時間上的差異,因?yàn)榻饷芩惴òl(fā)生了改變。后者更加復(fù)雜并會消耗更多時間。

圖4為RSA算法和改進(jìn)RSA算法之間的總體時間對比,以滴答為單位。

圖4 RSA算法和改進(jìn)RSA算法之間的總時間對比

根據(jù)上述對傳統(tǒng)的RSA算法和改進(jìn)算法的時間復(fù)雜度的分析,兩種算法的時間復(fù)雜度級別相同,又因?yàn)樵黾拥臅r間并不影響密鑰生成以及加解密的過程,消耗的時間并不是很高,因此可以忍受。

4 結(jié)束語

由于改進(jìn)RSA算法克服了傳統(tǒng)RSA算法因素數(shù)選擇問題位數(shù)要求越來越多使得素數(shù)產(chǎn)生效率下降、n被因子分解密碼體制安全性下降等缺點(diǎn)[16],所以,改進(jìn)RSA算法具有獨(dú)特的優(yōu)勢,實(shí)現(xiàn)了對信息的安全加密。由于在最初的RSA算法中加入三個素數(shù)因子并且消除n,用來替代n最新生成的數(shù)不僅可以在公鑰和私鑰中使用,而且還能成功避免受到因子分解的攻擊,使得RSA算法更加安全,但是在時間上會有一些增加,因此還需要對密鑰生成、信息的加解密速度和時間進(jìn)行深入研究。

[1]DiffieW,HellmanME.Newdirectionsincryptography[J].IEEETransactionsonInformationTheory,1976,22(6):644-654.

[2] 胡 云.RSA算法研究與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2010.

[3]AboudSJ.AnefficientmethodforattackRSAscheme[C]//Procofsecondinternationalconferenceonapplicationsofdigitalinformationandwebtechnologies.[s.l.]:IEEE,2009:587-591.

[4]MehrotraV.AneffectivemethodforattackRSAstrategy[J].InternationalJournalonAdvancedNetworkingandApplications,2012,3(5):1362-1366.

[5]RSALaboratory.RSAalgorithmtimecomplexity[EB/OL].2009.http://www.rsa.com/rsalabs/node.aspid=2215.

[6] 靳麗君.非對稱加密體制中RSA算法的研究[J].電子設(shè)計工程,2011,19(11):29-30.

[7] 李 青,李雄偉,金 濤.RSA算法的研究與簡單實(shí)現(xiàn)[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2007(6):88-91.

[8]JonssonJ,KaliskiB.Thepublic-keycryptographystandards[J].RSADataSecurity,1993,8(5):33-35.

[9]AmbedkarBR,GuptaA,GautamP,etal.AnefficientmethodtofactorizetheRSApublickeyencryption[C]//Procofinternationalconferenceoncommunicationsystemsandnetworktechnologies.[s.l.]:[s.n.],2011.

[10] 鄢喜愛,楊金民,田 華.RSA公鑰密碼算法的分析[J].長春工業(yè)大學(xué)學(xué)報:自然科學(xué)版,2006,27(2):142-144.

[11] 安吉旺,徐凱宏.基于RSA和密鑰的二維碼加密編碼的研究[J].森林工程,2014,30(2):125-129.

[12] 謝仁康.非對稱加密二維碼防偽系統(tǒng)的設(shè)計[D].成都:電子科技大學(xué),2013.

[13]MilanovE.TheRSAalgorithm,UniversityofWashington:DepartmentofMathematics[EB/OL].2013-10-08.http://www.math.washington.edu/~morrow/336_09/papers/Yevgeny.pdf.

[14]DhakarRS,GuptaAK,SharmaP.ModifiedRSAEncryptionAlgorithm(MREA)[C]//ProcofACCT.[s.l.]:[s.n.],2012.

[15]SarkarS,MaitraS.CryptanalysisofRSAwithtwodecryptionexponents[J].InformationProcessingLetters,2010,110(5):178-181.

[16] 劉項(xiàng)洋.基于RSA的隨機(jī)密鑰交換系統(tǒng)的研究與設(shè)計[D].合肥:合肥工業(yè)大學(xué),2004.

Research and Improvement of RSA Algorithm

CHEN Chun-ling,QI Nian-qiang,YU Han

(College of Computer,Nanjing University of Posts and Telecommunications,Nanjing 210003,China)

In order to improve the security of the RSA algorithm and avoid the mathematical factorization of the moduleninRSAcrytosystemwhichleadstoprivatekeydleaking,themethodofeliminatingthedistributionofnandthree-factorencryptionalgorithmareadopted.Theresultsshowthattheformercansuccessfullyavoidtheappearanceofninpublickeyandprivatekey,preventingtheattacterfromusingthemethodofmathematicalfactorizationtogetthenfactorsanddeducingthedecryptionkeyd.Adoptingthelatter,eveniftheattackerknowstheφ(n),butitdoesn’thaveaspecificformulatobreakdownthethreeprimenumberfordecompositionofn.Sothedifficultyoffactoringincreasesandthecomputationisreducedduetothereductionoflargeprimenumbers’sbits.TheexperimentalresultsindicatethatthemethodincreasesthesecurityoftheRSAalgorithmanditstimecomplexityissametothetraditionalalgorithm.

RSA;security;public key;private key;time

2015-11-23

2016-03-04

時間:2016-08-01

國家自然科學(xué)基金資助項(xiàng)目(11501302)

陳春玲(1961-),男,教授,碩士,研究生導(dǎo)師,研究方向?yàn)檐浖こ?、分布式組件技術(shù)、網(wǎng)絡(luò)信息安全及其應(yīng)用;齊年強(qiáng)(1991-),男,碩士研究生,研究方向?yàn)榫W(wǎng)絡(luò)安全。

http://www.cnki.net/kcms/detail/61.1450.TP.20160801.0904.026.html

TP

A

1673-629X(2016)08-0048-04

10.3969/j.issn.1673-629X.2016.08.010

主站蜘蛛池模板: 免费一级毛片不卡在线播放| 九色综合伊人久久富二代| 97视频精品全国在线观看| 操国产美女| 久久免费观看视频| 国产精品流白浆在线观看| 99草精品视频| 国产激情国语对白普通话| 日韩欧美91| 国产欧美成人不卡视频| 幺女国产一级毛片| 亚洲人成网站色7777| 四虎永久免费地址| 国产网友愉拍精品视频| 免费看黄片一区二区三区| 久久精品无码国产一区二区三区| 97人人模人人爽人人喊小说| 国产美女久久久久不卡| 亚洲成a人在线播放www| 麻豆精品在线视频| 国产精品19p| 国产在线一区视频| 色哟哟国产成人精品| 亚洲国产精品日韩av专区| 亚洲免费福利视频| 日韩午夜福利在线观看| 第一区免费在线观看| 国产剧情伊人| 国产亚洲欧美日韩在线观看一区二区| 国产又大又粗又猛又爽的视频| 欧美成人精品在线| 成人福利在线视频| 白浆免费视频国产精品视频| 国产精品无码AV片在线观看播放| 亚洲国产综合第一精品小说| 97超碰精品成人国产| a天堂视频在线| 91精品久久久久久无码人妻| 欧美日本在线观看| 91网站国产| 国产福利一区视频| 欧美a级在线| 二级毛片免费观看全程| 奇米影视狠狠精品7777| 四虎永久在线视频| 久久成人免费| 激情成人综合网| 精品视频第一页| 福利国产微拍广场一区视频在线| 欧美亚洲国产视频| 久久精品人人做人人| 日韩久草视频| 国产swag在线观看| 欧美综合区自拍亚洲综合绿色| 114级毛片免费观看| 成人精品亚洲| 亚洲国产高清精品线久久| 69免费在线视频| 亚洲中文精品人人永久免费| 欧洲亚洲一区| 亚洲开心婷婷中文字幕| 第一页亚洲| 久久久久久久久久国产精品| 欧美性久久久久| 精品亚洲国产成人AV| 天天综合亚洲| 国产日本欧美亚洲精品视| 国产精品成人AⅤ在线一二三四| 黄色国产在线| 99热这里只有精品在线播放| 免费观看国产小粉嫩喷水 | 日本欧美中文字幕精品亚洲| 中文字幕丝袜一区二区| 三上悠亚一区二区| 亚洲无码久久久久| 欧美日韩一区二区三区在线视频| 国产精品亚洲а∨天堂免下载| 欧美一级在线看| 男人天堂伊人网| 亚洲中文字幕日产无码2021| 一级全免费视频播放| 在线播放精品一区二区啪视频|