湯隆
摘要:RSA算法是用來(lái)防御的,屬于公鑰密碼體制,其核心技術(shù)主要是通過摘要算法計(jì)算消息或文件的散列值,來(lái)確定消息或文件是否被篡改,并且以RSA算法對(duì)散列值進(jìn)行數(shù)字簽名,實(shí)現(xiàn)計(jì)算機(jī)網(wǎng)絡(luò)的安全,以保證網(wǎng)絡(luò)通信中過程中信息傳送的不可否認(rèn)性、可驗(yàn)證性和仲裁性。
關(guān)鍵詞:RSA密碼;數(shù)字簽名;實(shí)現(xiàn);網(wǎng)絡(luò)安全
中圖分類號(hào):TP302.1 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)22-0029-03
1 引言
從公鑰密碼體制分析公鑰密碼,易知密碼是需要在整數(shù)分解問題與RSA問題的共同支持下進(jìn)行的,對(duì)于RSA密碼算法及RSA算法的變體,小加密指數(shù)的RSA算法、小解密指數(shù)的RSA算法、CRT指數(shù)的RSA密碼算法等都是RSA算法的延伸。在格與LLL算法之間,往往安全技術(shù)會(huì)選擇背包密碼體制。關(guān)于小解密指數(shù)CRT-RSA密碼算法的攻擊,不管是CRT指數(shù)的RSA密碼算法,還是小CRT指數(shù)的RSA密鑰生成算法,都是無(wú)法抵擋小私鑰CRT指數(shù)攻擊。由此,RSA小素因子組合差和小私鑰指數(shù)的攻擊分析就能從素因子組合差較小時(shí)的Fermat分解、連分?jǐn)?shù)方法的應(yīng)用等內(nèi)容進(jìn)行。關(guān)于RSA,我們易知Wiener連分?jǐn)?shù)攻擊的擴(kuò)展跟利用ex+y=0 mod φ(N)分解N都是其中的安全算法,而Boneh-Durfee格歸約攻擊方法的擴(kuò)展則是完善了這一算法結(jié)構(gòu)。關(guān)于兩種背包型公鑰密碼算法的安全性分析,張等人的背包型公鑰密碼體制及分析主要是背包型公鑰密碼體制及攻擊,而王等人主要是高密度型背包密碼體制及攻擊。其特應(yīng)具有的功能如下:(1)對(duì)文件所生成的簽名進(jìn)行認(rèn)證,即提供身份認(rèn)證;(2)防止簽名方的抵賴,保證簽名的不可否認(rèn)性;(3)防止簽名文件的篡改,即保證數(shù)據(jù)的完整性。
2 RSA密碼數(shù)字簽名實(shí)現(xiàn)網(wǎng)絡(luò)安全的應(yīng)用系統(tǒng)設(shè)計(jì)
2.1 需求分析
RSA密碼數(shù)字簽名表現(xiàn)在:功能的全面性;運(yùn)行的健壯性;作性強(qiáng);安全性等。其中,系統(tǒng)設(shè)計(jì)將圍繞以下幾個(gè)方面進(jìn)行:(a)加密解密過程中所采集到的數(shù)據(jù)要及時(shí)有效的在界面中表現(xiàn)出來(lái);(b)界面操作便利性;(c)界面的簡(jiǎn)單布局;(d)采用的RSA算法保證了數(shù)據(jù)的安全性。
2.2 總體設(shè)計(jì)
A.生成公私鑰階段
此階段的任務(wù)是,有由簽名者在此系統(tǒng)操作,分配一個(gè)適合的強(qiáng)度的算法的公私密鑰對(duì),保存至文件并同步至數(shù)據(jù)庫(kù)。此階段的模型圖如圖1。
B.數(shù)字簽名及驗(yàn)證階段
密鑰雙方進(jìn)行文件及數(shù)據(jù)傳輸時(shí),需將密鑰有限進(jìn)行處理,并將兩者的比對(duì),得出最后的驗(yàn)證結(jié)果。此階段的模型圖如圖2所示。
2.3 功能模塊的劃分
如圖3,系統(tǒng)各功能模塊主要是:(1)公私密鑰生成模塊;(2)摘要模塊;(3)加密模塊;(4)解密模塊;(5)驗(yàn)證模塊。這五個(gè)模塊共同組成密鑰結(jié)果,并將有效數(shù)據(jù)從發(fā)送公鑰到接收公鑰進(jìn)行配對(duì)。
3 RSA加密算法的實(shí)現(xiàn)
實(shí)際上,RSA加密算法依賴于安全技術(shù)的升級(jí),算法實(shí)現(xiàn)需從數(shù)字簽名的核心位置出發(fā),找到關(guān)鍵索引,并將核心數(shù)據(jù)進(jìn)行加密,這種加密過程可以是可控的,也可以是不可控的。但是加密雙方需要達(dá)成共識(shí),就是要將加密算法所產(chǎn)生的數(shù)據(jù)進(jìn)行隱藏及保密,并最終傳輸給對(duì)方。
RSA算法需要三個(gè)參數(shù),n,e1,e2。其中,n是兩個(gè)大質(zhì)數(shù)p、q的積,n的二進(jìn)制表示所占用的位數(shù),就是所謂的密鑰長(zhǎng)度。e1和e2是一對(duì)相關(guān)的值,e1可以任意取,但要求e1與(p-1)*(q-1)互質(zhì);再選擇e2,要求(e2),要求(e2*e1) mod ((p-1)*(q-1)) = 1。(n及e1),(n及e2)就是密鑰對(duì)。
解密算法則依據(jù)以下公式進(jìn)行。
3.1 公私密鑰的生成
面對(duì)公私密鑰的生成及處理,雙方都需要進(jìn)行嚴(yán)格的加密算法處理,不是公鑰方進(jìn)行控制,就是私鑰方進(jìn)行組織。在數(shù)據(jù)的表層里,兩者之間需進(jìn)行有效的溝通及協(xié)調(diào)。面對(duì)接收雙方的數(shù)據(jù)表現(xiàn),密鑰是代碼控制的主體因素。RSA算法里的應(yīng)用應(yīng)加強(qiáng)這一模塊的滲透使用。在RSA算法里,接收方需對(duì)數(shù)據(jù)進(jìn)一步引申。加密算法結(jié)構(gòu)如下所示,首先是接收用戶傳來(lái)的參數(shù),根據(jù)參數(shù)確定用戶需要生成多少位的密鑰。
RSA加密解密的算法完全相同,公鑰和私鑰可以互換使用,所以也相應(yīng)地可以使用公鑰加密私鑰解密。但是數(shù)字簽名系統(tǒng)不需要用到,所以此處就不再詳細(xì)描述。面對(duì)多項(xiàng)數(shù)據(jù)表層的密鑰控制,RSA算法可謂是現(xiàn)今較為流行的一種加密方式,但是,實(shí)際發(fā)展過程中RSA算法還需要得到其他算法的支持才能形成更加高效就穩(wěn)定的算法結(jié)構(gòu)。
參考文獻(xiàn):
[1] William Stallings.密碼編碼學(xué)與網(wǎng)絡(luò)安全-原理與實(shí)踐[M].6版.唐明,李莉,杜瑞穎,等,譯.北京:電子工業(yè)出版社,2015.
[2] 葉生勤.公鑰密碼理論與技術(shù)的研究現(xiàn)狀及發(fā)展趨勢(shì)[J].計(jì)算機(jī)工程,2006,32:4-6.
[3] Mark Stamp.信息安全原理與實(shí)踐[M].張戈,譯.2版.北京:清華大學(xué)出版社,2013.
[4] 沈煒,余功栓.加密解密與黑客防御技術(shù)[M].北京:科學(xué)出版社,2003.
【通聯(lián)編輯:唐一東】