當(dāng)前位置:首頁 > 測試測量 > 測試測量
[導(dǎo)讀]摘要:首先利用RSA加密算法對數(shù)據(jù)進(jìn)行加密和解密,實現(xiàn)了數(shù)據(jù)的安全傳輸;然后針對RSA加密算法時間開銷大和算法設(shè)計復(fù)雜的缺點,提出基于乘同余對稱特性的SNM算法。通過對該改進(jìn)RSA加密算法的實現(xiàn)發(fā)現(xiàn)加密運算速度明顯

摘要:首先利用RSA加密算法對數(shù)據(jù)進(jìn)行加密和解密,實現(xiàn)了數(shù)據(jù)的安全傳輸;然后針對RSA加密算法時間開銷大和算法設(shè)計復(fù)雜的缺點,提出基于乘同余對稱特性的SNM算法。通過對該改進(jìn)RSA加密算法的實現(xiàn)發(fā)現(xiàn)加密運算速度明顯提高且算法更簡單,從而證明了本文所提改進(jìn)算法的有效性。

0 引言

在當(dāng)今信息社會中,每天都有大量的加密信息在傳輸、交換、存儲和處理,一旦密碼遭到破解就可能造成信息的丟失、篡改、偽造、假冒以及系統(tǒng)遭受破壞等嚴(yán)重后果,因此,如何保證信息的安全傳輸成為當(dāng)前信息傳輸領(lǐng)域的熱點問題。W.Diffie和M.E.Hellmam在1976年發(fā)表了具有劃時代意義的“密碼學(xué)的新方向”一文,提出了公鑰密碼體制思想,克服了傳統(tǒng)對稱密碼體制的缺點,為近代密碼學(xué)的發(fā)展指明了方向。它的出現(xiàn)是密碼學(xué)研究領(lǐng)域中的一項重大突破,也是現(xiàn)代密碼學(xué)誕生的標(biāo)志之一。

本文首先對非對稱加密算法RSA的原理和優(yōu)點進(jìn)行研究,然后實現(xiàn)其加密、解密功能。RSA算法在公鑰密碼體制中占有重要的地位。但該算法所采用的冪乘計算耗時太多,一直是制約其廣泛應(yīng)用的瓶頸。因此,為了提高加密和解密速度,本文提出一種新型的加密算法即基于乘同余對稱特性的SMM算法。該算法采用簡單的迭代來實現(xiàn),不需要冪乘和乘法逆運算,從而在提高加密解密的速度同時也使得程序設(shè)計更簡潔緊湊。

1 RSA加密算法原理

RSA加密算法的理論基礎(chǔ)是一種特殊的可逆模指數(shù)運算,其算法描述如下:

(1)選擇兩個互異的大質(zhì)數(shù)p和q(p和q必須保密,一般取1024位)。

(2)計算出n=p q,φ(n)=(p-1)(q-1)。

(3)選擇一個比n小且與φ(n)互質(zhì)(沒有公因子)的數(shù)e。

(4)找出一個d,使得ed-1能夠被φ(n)整除。其中,ed=1 mod(p-1)(q-1)。

(5)RSA是一種分組密碼系統(tǒng),所以公開密鑰=(n,e),私有密鑰=(n,d)。

其中,n為模數(shù),通信雙方都必須知道,e為加密運算的指數(shù),發(fā)送方需要知道,d為解密運算的指數(shù),只有接受方才能知道。

將以上過程進(jìn)一步描述如下:

公開密鑰:n=pq(p,q分別為兩個互異的大素數(shù)),e與(p-1)(q-1)互質(zhì)。

私有密鑰:d=e-1{mod(p-1)(q-1)}。

加密:C=Me mod n,其中M為明文,C為密文。

解密:M=Cd(mod n)。

若要破譯密碼必須知道p,q,即對n作素因子分解,這在數(shù)學(xué)上是非常困難的。

2 RSA加密算法的實現(xiàn)

2.1 算法設(shè)計流程

RSA算法設(shè)計流程如圖1所示,主要采用下述加密/解密變換。

(1)密鑰的產(chǎn)生

a.選擇兩個保密的大素數(shù)p和q。

b.計算n=p q,φ(n)=(p-1)(q-1),其中φ(n)是n的歐拉函數(shù)值。

c.選擇一個整數(shù)e,滿足1

d.計算私鑰d,滿足d=l(modφ(n))/e,d是e在模φ(n)下的乘法逆元。

e.以(e,n)為公鑰,(d,n)為密鑰,銷毀P,q,φ(n)。

(2)加密

加密時首先將明文比特串進(jìn)行分組,使得每個分組對應(yīng)的串在數(shù)值上小于N,即分組的二進(jìn)制長度小于1 092 N。然后,對每個明文分組M,作加密運算。

加密:C=Me(modn),其中M為明文,C為密文。

(3)解密

對密文分組的解密運算為:M=Cd(modn)。

2.2 RSA加密算法的實現(xiàn)

(1) 生成密鑰

隨機選擇兩個大素數(shù)p和q,如果p和q足夠大,那么n=p q就會變的很大,在理論上因式分解一個大數(shù)并準(zhǔn)確地分解出p和q是很難實現(xiàn)的。本文隨機選擇P和q為61和67。根據(jù)φ(n)=(p-1)(q-1)可得n的歐拉函數(shù)值φ(n)為3960,如圖2所示。

隨機數(shù)e的選取要滿足隨機數(shù)和歐拉函數(shù)最大公約數(shù)gcd(eφ(n))=1這個條件。如果e比較大,加、解密速度變慢,也不便于存儲,但是太小的e會導(dǎo)致安全性問題。所以限定1

(2)加密

輸入明文,根據(jù)公鑰(e,n)和公式C=Me(modn)可得密文。本文選擇要加密的明文為1234,由公式可得密文為2793。根據(jù)計算結(jié)果可知此加密算法加密所用的時間為2.667 ms。

(3)解密

輸入3調(diào)用第三個模塊來實現(xiàn)解密功能。RSA加密算法解密所需要的條件是知道密文和私鑰,根據(jù)M=Cd(modn)可得到明文。由計算得到密文為2793,私鑰為233,所以可解的密文為1234,從而實現(xiàn)了解密功能。

RSA加密算法的實現(xiàn)過程如圖2所示。

大整數(shù)因子分解問題向來被數(shù)學(xué)界視為世界性難題。正是基于這一點,RSA公鑰密碼體制才能夠以其較高的安全性為人們廣泛接受。但是RSA公鑰密碼體制也存在諸多不足之處:加解密算法中涉及大量的數(shù)值計算問題導(dǎo)致計算時間開銷較大,在一定程度上限制了其應(yīng)用范圍。且密鑰的產(chǎn)生受到素數(shù)產(chǎn)生技術(shù)的限制,因而很難做到一次一密。為保證安全性必須選取1024 bits或以上,但這就使得運算速度較慢,而且隨著大數(shù)分解技術(shù)的發(fā)展,這個長度還在增加,不利于數(shù)據(jù)格式的標(biāo)準(zhǔn)化,致使其實現(xiàn)的難度增大,實用性降低。

因此,如何提高密鑰產(chǎn)生技術(shù),發(fā)展更快速、更精確的大素數(shù)生成方法,完善RSA加密算法的大整數(shù)模冪乘運算,設(shè)計運算速度更快的求模和求冪算法,是很有意義的—個探索方向。

3 RSA加密算法的改進(jìn)及實現(xiàn)

針對RSA加密算法加密速度慢的問題,經(jīng)過進(jìn)一步的研究,提出了SMM算法。SMM(Symmetry of Modulo Multiplication)算法是利用乘同余對稱特性來減少RSA加密計算中乘法和求模運算量的一種快速算法。RSA加密是對明文求冪剩余的過程為:

y=n (1)

傳統(tǒng)RSA算法是將指數(shù)表示成二進(jìn)制數(shù)的形式,并將冪乘變成一系列乘同余的迭代。SMM算法是在每步迭代中對乘數(shù)進(jìn)行有條件的代換。乘同余和平方剩余的對稱性有:

(n-i)(n-j)≡ijmod n (2)

(n-i)2mod n≡i2mod n (3)

j(n-j)≡(n-j)i≡-ijmod n (4)

其代換情況如下:如果ai-1表示第i-1步迭代的結(jié)果,則在進(jìn)行第i步迭代時,若ai-1或g<(n-1)/2,則保持原數(shù)不變;如果ai-1或g≥(n-1)/2則使用n-ai或n-g來代替ai-1或g[8,9]。

由于使用SMM方法,減少了乘法時間和求模運算量,改進(jìn)后的RSA加密算法理論上可以使得算法速度得到一定程度的提高。

為了方便將改進(jìn)前后的算法做比較,本文隨機素數(shù)p、q仍選擇61和67。根據(jù)f(n)=(p-1)(q-1)可得f(n)為3960 c,隨機數(shù)e選擇17,可得公鑰為(17,4087),私鑰為233。改進(jìn)后的RSA加密算法運行結(jié)果如圖3所示。與圖2對比可知,相同初始條件下原RSA算法所用的加密時間為2.667 ms,改進(jìn)后算法所用的加密時間為1.669 ms,加密速度提高了約37.4%,且程序的復(fù)雜度也有所降低。

改進(jìn)后的RSA加密算法可以通過簡單的循環(huán)迭代完成整個RSA加解密過程,減少了將十進(jìn)制數(shù)據(jù)轉(zhuǎn)化為二進(jìn)制數(shù)組和用擴展的歐幾里得算法求乘法逆元這兩步,不僅降低了程序的復(fù)雜性,而且提高了運算的效率。

4 結(jié)論

本文針對RSA加密算法時間開銷高和程序復(fù)雜的缺點,提出一種基于乘同余特性的SMM加密改進(jìn)算法,該改進(jìn)算法可減少RSA模冪乘運算過程耗時以及提高RSA加解密速度。最后通過改進(jìn)前后算法的實例對比證明了本文所提改進(jìn)RSA加密算法的有效性。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉