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

基于RSA算法的圖像加密系統設計與實現

2016-11-24 01:05:31高新成
長江大學學報(自科版) 2016年25期

高新成

(東北石油大學現代教育技術中心,黑龍江 大慶 163318)

王莉利,李蘇龍

(東北石油大學計算機與信息技術學院,黑龍江 大慶 163318)

?

基于RSA算法的圖像加密系統設計與實現

高新成

(東北石油大學現代教育技術中心,黑龍江 大慶 163318)

王莉利,李蘇龍

(東北石油大學計算機與信息技術學院,黑龍江 大慶 163318)

隨著互聯網的快速發展,數字圖像網絡傳輸的安全問題日益突出。采用RSA非對稱的加密體制,提出了一套完整的基于RSA算法的圖像加密解決方法,并對多種算法進行優化。試驗數據測試表明,該方法具有加密、解密速度快,密鑰復雜破譯難度大,網絡傳輸安全性高等優點。

RSA;圖像加密;算法優化;圖像安全

圖像數據的獲取、傳輸和處理已經遍及了數字時代的各個角落,圖像的安全問題日益嚴重,尤其是在軍事、商業和醫療等特殊領域[1]。RSA是一種目前被公開應用的加密算法,它采用非對稱的加密體制[2]。下面,筆者在研究圖像加密算法的基礎上,將RSA算法應用到圖像加密技術中,重點研究了算法優化、密鑰生成、密鑰分發和文件傳輸等內容,提出了一套完整的數字圖像加密和解密解決方案。

1 RSA基本原理

RSA算法采用一種非對稱密碼加密體制,在整個加密過程中密鑰和算法獨立分開,使得密鑰更能有效的等到分配[3]。其采用大素數因子分解的難度來保障安全性,目前,大素數分解問題仍然沒有很好的解決方法[4]。

RSA算法加密的基本步驟如下:

Step1 選取不同的2個大素數a,b,然后計算2個數乘積m=a×b。

Step2 選取大整數加密密鑰d,要求d與(a-1)×(b-1)互質。

Step3 求解密密鑰e,e×d =1 mod(a -1)×(b -1)。

Step4 將明文P加密為密文C(C=Pdmod m),密文C解密為明文P(P=Cemod m)。

根據以上步驟可以看出,只知道m和d不能計算出解密密鑰e,可見,任何人都可以對明文P進行加密,但只有獲得授權許可后才能對密文C進行解密。

2 RSA圖像加密流程設計

RSA圖像加密流程設計是先對圖像進行讀取并轉化成十六進制數據流;然后生成RSA算法所需密鑰,將密鑰與圖像進行冪乘及取模運算,生成十進制數據;最后將數據轉換為字符串數據流進行保存。其中,最重要的是密鑰的生成[5,6],其決定最后圖像加密效果。密鑰的生成過程包括自動生成大素數并存儲、對大素數進行算術運算、大數冪模與乘模運算和素數的自動生成4部分,具體加密流程如圖1所示。

3 RSA圖像加密功能設計

根據RSA圖像加密流程,設計圖像加密功能,主要包括RSA圖像加密、解密和密鑰生成等功能。系統功能模塊如圖2所示。

圖1 RSA圖像加密流程圖

1)數字圖像加密。對數字圖像進行字節流的讀取并轉換為十六進制流,應用RSA算法對十六進制流進行加密,將加密后的數據轉化為文本輸出。

2)數字圖像解密。加載加密后圖像文件,利用密鑰對其進行解密,對加密的圖像進行還原。

圖2 系統功能模塊圖

3)加密解密預覽。在數字圖像加密解密過程中,確保待加密及解密后的數字圖像可視化。

4)密鑰自動生成。RSA算法需要用戶自定義輸入2個大素數,主要實現自動生成大素數及密鑰以減少用戶操作,并能確保密鑰使用的素數足夠大。

5)密鑰長度設定。用戶可根據不同情況設定密鑰的長度,能夠靈活控制加密和解密速度。

6)密鑰文件導出。以文件形式導出密鑰文件,確保傳輸或存儲過程的安全性。

7)密鑰文件導入。對導出的密鑰文件進行讀入,具有識別功能。可以識別本軟件導出的密鑰文件,并對內容檢查,確保導入文件安全。

8)密鑰輸入。解密時支持手動輸入加密處理的密鑰串,確保解密操作安全。

9)文件打印。實現對密鑰文件的打印,可以更好的保存私鑰。

10)文件傳輸。實現加密后的文件及圖像直接傳輸,方便快捷且能更好的確保安全。

4 RSA圖像加密關鍵技術實現

4.1 RSA密鑰的大數存儲

RSA算法生成密鑰需要2個大素數為21024或更大比較安全[7]。但編程語言中unsigned int類型最多存儲2個字節,遠遠小于RSA安全密鑰長度。筆者設計單元線性數組實現大素數存儲,解決編程中大素數的存儲問題。首先設置一個以unsigned為單元的線性數組用來存儲大素數,定義2個無符號整數z和 n來控制存儲單元數,z是分配空間的單元數,如果大素數的長度超過unsigned數組的預定義數組長度,z會隨著數字變大不斷增大;n表示當前存儲大素數已占用單元數。每個大素數最大可以達到232*占用單元數滿足RSA的各種運算。

4.2 RSA密鑰的大數運算

由于生成的大素數超過21024,原有數據運算方式不再適用。在大數存儲基礎上采用類間派生與關聯方式實現大數運算。定義flex_unit派生得到vlong_value類實現新的運算函數,將原vlong_value類關聯到新類vlong中,在新vlong類實現運算符重載。本類運算是按一定數制對數字的計算,乘除和取余也都按照豎式運算的原理實現。加運算的核心代碼如下:

vlong operator +( const vlong& x, const vlong& y )

{ vlong result = x;

result += y;

return result; }

4.3 大素數冪模與乘模運算優化

冪模運算是RSA 算法中比重最大的計算,其主要決定生成最后的公鑰和私鑰,直接地決定了RSA 算法的性能[8]。依據乘模的性質 ,把冪模運算轉換成乘模運算,實現思想是指數不斷的對分,具體流程如圖3所示。

圖3 冪模轉換乘模運算流程圖

乘模運算能夠提高運算速度,通常對于千位以上的二進制整數n,利用普通除法求模運算速度很慢[9]。筆者采用Montgomery算法[10]實現冪乘運算的優化來提高加密速度,改進思想是先選取與模數m互素的基數Y(Y=2k),m為奇數滿足2k-1≤m<2k,再選取Y-1(0< Y-1

4.4 算法中素數自動生成及優化

筆者采用Eratosthenes篩選法[11]對素數篩選進行優化,優化策略是對各小素數因子求模,得到當前a在素數搜索范圍內的最小倍數在b[]中的對應位置,繼續后移a個位置,直到將a在搜索范圍內的所有倍數全部找到;在完成對所有小素數因子的類似操作后,其倍數在搜索范圍內的位置標記b[r]被全部標記為0。其流程如圖4所示。

圖4 素數搜索除去小素數因子倍數流程圖

筆者采用費馬小定理[12]對素數測試進行優化,化策略是選取一個整數P,要求與a互素,并滿足關系式為Pa-1mod a=1,輸入大整數a滿足關系式可能不是素數,需要改變P完成多次測試,測試后這個數很大概率為素數。

5 系統實現界面

系統設計采用分層結構,上層界面設計采用C#語言,底層加密算法開發采用C++語言,通過調用RSA算法的C++類庫和封裝的DLL組件以及引用DLL的.NET類等,逐步實現完成系統中各項功能與界面。

圖像加密操作過程:首選將待加密圖像載入,其次讀取并存儲為二進制List和轉換為十六進制數據,然后調用前面自動生成的密鑰進行冪模運算,最后輸出加密后文本。具體圖像加密過程和加密效果如圖5和圖6所示。

圖5 圖像加密操作界面 圖6 加密后記事本打開效果

圖像解密操作過程如下:首選載入待解密文件,然后導入加密過程密鑰,最后輸出解密后文件。

6 試驗測試與系統分析

6.1 密鑰生成試驗結果與分析

1)底數A對密鑰生成時間影響。在底數A的試驗測試中,n取512位和1024位,小素數因子個數NP取值300,A值選取4到6個,測試結果如表1所示。

表1 底數A對密鑰生成時間的影響

表1結果表明,采用512bit密鑰對隨機密鑰的產生時間影響不大,而采用1024bit密鑰生成時間有著明顯差距,A取6個值時生成隨機密鑰的時間比取4個值時長大很多。為保證密鑰生成速度和素數的準確程度,在實際使用時取A為5個值。

2)n的位數對密鑰生成時間影響。在加密位數n的試驗測試中,A取值2、3、5、7,NP取300,n值自動改變,進行5次隨機密鑰生成,測試結果如表2所示。

表2 加密位數n密鑰生成時間的影響

表2結果表明,隨著加密位數的增加,密鑰生成需要的時間顯著增加,并且每一行中的最大最小值差距也呈增長趨勢。

3)小素數因子個數NP對密鑰生成時間影響。在小素數因子個數NP的測試中,A取值2、3、5、7、11,n取512位和1024位,測試結果如表3所示。

表3 小素數因子NP對密鑰生成時間的影響

通過表3結果發現,NP為300、n為1024bit時與表2中A為2、3、5、7、11,n為1024bit中一行參數設置完全一致,但平均耗時相差6.5s。可見對于長密鑰,同一種情況測試5個數據取均值并不能精確的說明問題。

6.2 加密解密試驗結果與分析

1)加密文件大小與消耗時間影響分析。選取大小為50、100、150、200和250Byte這5種圖像數據文件,隨機生成2組長度512bit和1024bit的密鑰。用同樣的密鑰對大小不同的文件完成公鑰加密和私鑰解密試驗,記錄加密文件大小與消耗時間的關系,如表4所示。

表4 加密文件與消耗時間關系

表4結果表明,對于使用同一公鑰加密文件時,文件越大加密過程中使用時間越長。對于一定的加密位數,私鑰解密所需要的時間比公鑰加密時間長;對于一定大小的文件,密鑰長度越長,私鑰解密與公鑰加密的耗時比越大。

2)加密字節步長對效率的影響分析。選取一個480Byte長的文件作為加密對象,分別對512bit完成公鑰加密和私鑰解密試驗,記錄加密和解密使用的時間,如表5所示。

表5 加密字節步長對效率的影響

表5結果表明,加密步長設置越大,加密和解密運算速度越快,加密后生成的文件體積越小。所以在使用RSA加密時,設置使用合適的數據分塊也是提高加密速度的關鍵。

6.3 系統運行效率分析

通過試驗發現系統運算消耗的時間大部分集中在C++類庫,表現在冪模運算和尋找素數對時間的消耗最大,筆者通過對冪模運算和素數篩選等相關算法進行優化,運算效率有了較大提高,同時,對文件進行加密解密時,先將文件按一定的數據結構讀入內存,然后從內存中讀取運算數據進行加密或解密操作,大大減少了圖像輸入和輸出的執行時間。

7 結語

重點研究了RSA算法在圖像加密和解密中的關鍵技術,提出了一種高效的基于RSA算法的圖像加密方法,同時對素數篩選、求模等關鍵算法進行優化,進一步提升加密準確性和加密速度。通過對密鑰生成和加密解密試驗數據的對比分析,該方法不僅提高了加密速度,增加了破譯難度,增強了網絡傳輸安全性,而且還適用于任意二進制和文本文件等各種數據,有良好的推廣應用價值。

[1]王秋紅. 密碼學基本原理綜述[J]. 科技資訊, 2011(33) :52~53.

[2]吉勝軍. 基于信息隱藏的軟件加密方案[J].大眾科技, 2010(8): 38~39.

[3]Sarkar S,Maitra S. Cryptanalysis of RSA with two decryption exponents[J]. Information Processing Letters,2009 (5):1235~1238.

[4]楊昔陽,李志偉. 基于RSA的數字圖像加密算法[J]. 福建師范大學學報(自然科學版), 2009(6):28~32.

[5]鄧從政,羅永超.一種基于RSA的數字圖象加密技術及其快速實現[J]. 通信技術, 2009(12):67~69.

[6]Brier E,Chevallier-Mames B,Ciet M,et al.Why One Should Also Secure RSA Public Key Elements. Lecture Notes in Computer Science,2006.

[7]Fouque P A,Guillermin N,Leresteux D,et al. Attacking RSA-CRT signatures with faults on montgomery multiplication[J]. Journal of Cryptographic Engineering, 2013(1) :1021~1024.

[8]劉平,趙煥平. 改進RSA算法的分析研究[J]. 計算機與現代化, 2013(7):76~79.

[9]姚霽. RSA算法中大素數硬件生成方法研究與設計[J]. 科學技術與工程,2013(1):212~214.

[10]曾為民,劉晶晶, 陳光化,等. 基于Montgomery算法的RSA密碼協處理器設計[J]. 微電子學與計算機,2015(8):115~119.

[11]孫東雪. 基于Eratosthenes算法快速求解質數的程序設計[J]. 科技傳播,2014(6):245~247.

[12]黃嘉威. 多項式除法解高次同余[J]. 數學學習與研究,2015(9):104~106.

[編輯] 張濤

2016-06-27

國家自然科學基金項目(41574117) ;黑龍江省教育科學規劃重點課題(GJB1215013, GJB1215018);黑龍江省高教學會教育科研課題(16G154,16G160, 16Q117)。

高新成(1979-),男,博士,副教授,現主要從事數據處理與信息安全等方面研究工作;E-mail:gxc@nepu.edu.cn。

TP399

A

1673-1409(2016)25-0014-06

[引著格式]高新成,王莉利,李蘇龍.基于RSA算法的圖像加密系統設計與實現[J].長江大學學報(自科版),2015,13(25):14~19.

主站蜘蛛池模板: 久久香蕉国产线看观看式| 欧美日韩导航| 免费播放毛片| 91青青视频| 国产精品久久久久久久久kt| 国产精品密蕾丝视频| 在线播放国产99re| 中文字幕啪啪| 欧美高清国产| 在线观看国产精美视频| 色欲色欲久久综合网| 国产精品综合久久久| 亚洲一区二区成人| 亚洲AV无码久久天堂| 国产精品美女网站| 国产无遮挡裸体免费视频| 亚洲中文制服丝袜欧美精品| 久久精品电影| 国产高清在线观看91精品| 天天操天天噜| 在线观看国产精品一区| 国产成人av大片在线播放| 日韩资源站| 欧美日韩在线成人| 亚洲天堂网视频| 又粗又大又爽又紧免费视频| 亚洲中文字幕日产无码2021| 免费av一区二区三区在线| 人妻一本久道久久综合久久鬼色| 色久综合在线| 26uuu国产精品视频| 在线观看的黄网| 精品五夜婷香蕉国产线看观看| 国产成人亚洲欧美激情| 青青草a国产免费观看| 国产精品第页| 一区二区三区在线不卡免费| 亚洲色图狠狠干| 风韵丰满熟妇啪啪区老熟熟女| 免费不卡视频| 真人免费一级毛片一区二区| 国产高清毛片| 国产精品综合久久久| 日本不卡视频在线| 国产一级精品毛片基地| 91色在线观看| 在线视频亚洲欧美| 99无码中文字幕视频| 欧美成人二区| 亚洲成综合人影院在院播放| 亚洲精品图区| 国产永久在线观看| 亚洲乱码在线视频| 91视频99| 嫩草国产在线| 久久精品国产精品国产一区| 亚洲二区视频| 五月婷婷中文字幕| 成人一区在线| 久久视精品| 国产丝袜啪啪| 国内精品小视频福利网址| 久久综合色播五月男人的天堂| 国产精品国产主播在线观看| 18禁色诱爆乳网站| 黄色网址免费在线| 在线观看国产精美视频| 精品久久久久久成人AV| 成人综合在线观看| 美女视频黄频a免费高清不卡| a毛片免费在线观看| 亚洲 成人国产| 精品人妻一区无码视频| 99国产在线视频| 亚洲第一极品精品无码| 先锋资源久久| 国产打屁股免费区网站| 国产a v无码专区亚洲av| 五月婷婷综合在线视频| 一本久道久综合久久鬼色| 日韩无码视频网站| 萌白酱国产一区二区|