◆陳 菲 李少軒
(鄭州輕工業(yè)學院電氣信息工程學院 河南 450002)
改進的RSA加密算法在智能藥箱數據存儲中的應用
◆陳 菲 李少軒
(鄭州輕工業(yè)學院電氣信息工程學院 河南 450002)
智能藥箱是供家庭用戶使用的,具有藥品存儲、用藥管理、遠程與醫(yī)生和廠家進行互動交流的智能化終端設備,其中會存儲大量用戶隱私數據,如文本數據、圖像以及視頻等,如果將上述數據用同一算法加密,則存在文本加密強度不夠、視頻加密運算較慢的問題。鑒于文本、圖像和視頻存儲大小不同以及加密深度不同,本文提出改進的RSA加密算法,通過調節(jié)密鑰長度,兼顧文本數據安全性和大容量數據的加密速度。經驗證,該算法可行,實現(xiàn)了藥箱中小量數據的安全性與大量數據的加密速度的兼顧,改變了不同類型數據的加密深度和運算量。
智能藥箱;RSA加密算法;密鑰長度
智能藥箱是供家庭用戶使用的,能夠提供藥品存儲功能、用戶藥物管理及建議(包括用戶用藥方案、藥品名稱、用藥規(guī)格、用藥時間等信息)的智能化終端設備。它可以根據不同藥品對存儲溫度的不同要求進行常溫存儲和低溫存儲,也可以根據家庭用戶的不同進行分類存儲。智能藥箱開機時需要進行信息注冊,藥箱內部存有家庭成員注冊信息,包括成員名稱、身份證號、聯(lián)系方式、地理位置、用戶疾病信息等隱私性信息[1],因此需要對此類數據在智能藥箱中進行加密存儲。
經歸納,智能藥箱中存有文本、圖片以及視頻等多種類型數據,若對上述數據采用相同的加密方法,使用長密鑰對這些數據進行加密,那么藥箱中的數據的安全性很高,但是加密速度就會相對減慢,對于視頻等大容量數據的加密就會更加緩慢,從而影響藥箱的加密速度。若使用短密鑰對這些數據進行加密,那么藥箱中的加密速度達到要求,但是安全性會相對降低,對于文本等對安全性要求很高的數據存在安全隱患。在文獻[2]中針對DES算法密鑰安全性差和 RSA 算法加密速度慢的問題,提出了DES_RSA混合算法來兼顧安全性與加密速度。該算法同時使用兩種算法,雖然比單獨使用RSA加密算法的速度有所提高,但相應的也增加了待加密的數據量,在一定程度上影響了算法的運行效率[3]。由于藥箱中文本數據的存儲時間較長但數據流量小,而視頻的存儲時間較短但數據流量大。根據文本和視頻在藥箱中對空間和時間的不同要求,本文采取不同的密鑰長度來兼顧文本數據安全性和大容量數據的加密速度。
根據智能藥箱所存儲的數據形態(tài)和應用特點,將這些數據分成三類:文本信息、圖片信息和視頻信息,它們的具體特點分析如下:
智能藥箱允許用戶與醫(yī)生發(fā)送文本信息進行實時交流。智能藥箱開機時所注冊的個人信息,以及智能藥箱的溫度、濕度等數據屬于文本信息,其數據長度一般不到1K。這些文本信息數據流量較小,一般為永久性數據,安全性和加密強度均要求較高。
智能藥箱允許用戶與醫(yī)生遠程傳遞病情照片,或者將病歷拍照傳給醫(yī)生進行遠程交流,這些智能藥箱中所存儲的照片屬于圖片信息,其數據長度根據圖片大小一般是1KB到2MB。這些圖片安全性要求較高,對加密強度、分辨率、實時性均有較高要求。
表1 三種數據類型的特點
智能藥箱允許用戶直接與醫(yī)生聯(lián)系發(fā)送病情相關視頻,這些家庭用戶與醫(yī)生之間發(fā)的視頻信息以及后臺推送的視頻廣告等屬于視頻信息,一般其數據長度都是1M到幾百M。這些視頻數據流量較大,由于移動終端容量有限,視頻數據要定期清理,存儲時間較短,安全性要求可適當降低,加密強度要求一般,但要求有較高的實時性和傳輸效率。表1是三種數據類型的特點比較。
2.1 傳統(tǒng)RSA加密算法存在的問題
數據加密是指將一段明文信息經過加密函數或者密鑰轉換成無明顯意義的密文[4]。RSA公開密鑰密碼體制是一種比較典型的非對稱加密算法[5]。RSA算法是基于數學理論實現(xiàn)的,即兩個大質數的乘積很容易求出,然而將其結果分解成兩個大質數卻是十分困難的,因此此算法保密性較強[6]。因為RSA算法數學原理簡單且在工程應用中比較易于實現(xiàn),所以移動終端設備多采用RSA加密算法進行加密[7]。
使用傳統(tǒng)RSA加密算法對智能藥箱中的數據進行加密時,需要先確定其密鑰長度,長密鑰可使數據加密強度變高,但會減慢其加密速度。短密鑰可使數據加密強度相對變低,但會加快其加密速度。
由于藥箱中既存有需要高加密強度的文本數據,又存有需要較快加密速度的圖片和視頻等大容量數據,而RSA公開密鑰密碼體制支持變長密鑰[8],因此本文在分析各種數據特點以及傳統(tǒng)RSA加密算法存在問題的基礎上,對RSA加密算法進行了改進。通過調節(jié)密鑰長度,對文本數據使用長密鑰進行加密,而對視頻和圖片等大容量數據則使用短密鑰進行加密,以此來兼顧文本數據的安全性和大容量數據的加密速度,實現(xiàn)智能藥箱的安全存儲。
2.2 RSA加密算法的改進
RSA算法中密鑰長度的生成是隨機的,是根據兩個不相等的大素數p和q的乘積來求得的。智能藥箱中三種數據類型均以二進制形式進行存儲。本文對密鑰長度的范圍進行控制,針對流量較小但安全性要求較高的文本數據,加密時可以取較長的密鑰長度,使其密鑰長度大于等于1024字節(jié);針對流量中等且安全性要求較高的圖片,加密時可以取一般的密鑰長度,使其密鑰長度介于512字節(jié)和1024字節(jié)之間;針對流量較大但安全性要求不那么高的視頻,加密時可以取較短的密鑰長度,使其密鑰長度介于12字節(jié)和512字節(jié)之間。
改進的RSA加密算法的具體流程如圖1所示,首先判斷需要加密的數據類型,根據所選的類型控制密鑰長度的范圍,從而確定隨機選擇的兩個不相等的大素數p和q的范圍,)計算p和q的乘積n,n的長度即為密鑰長度[9]。n的歐拉函數(fn)可按下式求得。
則( )e , n 是公開密鑰,( )d , n 是私有密鑰。設A為明文,B為密文,則智能藥箱中數據加密過程為:
數據解密密過程為:
圖1 改進的RSA加密算法流程
根據式3可知,在不分片的情況下,加密后密文的長度與密鑰長度相等。而分片之后,密文長度等于密鑰長度與片數的乘積[10]。
2.3 改進結果與分析
密鑰長度n必須大于明文長度A,如果明文長度A超過密鑰長度n,那么加密后將無法正常解密,因為加密和解密都不可能得到一個大于n的數。但是如果明文信息A大于n,那么可以對其進行分片處理,使每一片的明文長度均小于密鑰長度n,而解密后得到的結果加上K倍的n一定會等于A,因為加密的過程實質上是做模乘操作,大于n的明文A首先被除n然后取余,該余數一定小于 n,且所有的加密操作都是針對該余數來進行的,A對n取模的余數加上K倍的n即可還原A。解密的話還原的也是該余數,得到余數后還原A,也是加上K倍的n就可以了。其中K即為片數,K的值為M的整數部分加1,M可由下式求得:
若對智能藥箱取同一密鑰長度 n,若選取的密鑰長度 n為1024字節(jié),那么大小為1000字節(jié)的文本數據,由于數據量很小,不需要分片,所以其加密后的密文為1024字節(jié);大小為2k的圖片,需要進行分片,片數等于 3,其加密后的密文長度為 3072字節(jié);大小為1M的視頻,需要進行分片,片數等于1036,其加密后的密文為1060864字節(jié)。
而改進后的密鑰長度n是變長的,對于大小為1000字節(jié)的文本數據,若選用的密鑰長度是1024字節(jié),加密后的密文長度為1024字節(jié);對于大小為2k的圖片信息,若選用的密鑰長度是513字節(jié),而片數等于5,那么加密后的密文長度為2565字節(jié);小為1M的視頻數據選用的密鑰長度是500字節(jié),所以片數等于2145,那么加密后的密文長度為1072500字節(jié)。三種數據類型改進前后的密文長度對比如下表2所示:
表2 改進前后的三種數據密文長度對比
顯而易見,改進后的RSA加密算法通過調節(jié)密鑰長度,圖片的密文長度大大減小,雖然視頻的密文長度有所增加,但是增加的并不多。表3 顯示的是上述數據改進前后加密時間與解密時間的對比:
表3 改進前后加密時間與解密時間的對比
表3結果表明,生成密鑰長度速度會隨著密鑰長度的增加而增加,生成1024字節(jié)時會降低智能終端的運行速度,而密鑰長度的減少會提高終端的運行速度,而且在一定程度上降低了智能藥箱的存儲容量。實驗證明,改進后的密文長度的攻破時間以及藥箱中的數據安全性和實時性均符合智能藥箱數據安全存儲的要求。
本文分析了智能藥箱中的數據特點和分類,并基于傳統(tǒng)RSA加密算法對其進行改進,通過調節(jié)其密鑰長度改進加密算法。結果表明,該方法既可以保證各種類型數據的存儲安全,又能兼顧文本型數據的高安全性和大容量數據的快速加密,減輕了智能終端的存儲負擔,加快了終端運行速度,大大提高了RSA加密效率,保障了智能藥箱中數據的存儲安全。
[1]馮登國,張敏,李昊.大數據安全與隱私保護[J].計算機學報,2014.
[2]吳明航,許協(xié),阿超.DES_RSA及其混合算法的加密速度研究[J].網絡安全技術與應用,2014.
[3]程曉榮,馬力,何壯壯.公鑰RSA加密算法的分析與改進[J].網絡安全技術與應用,2015.
[4]史經緯,隆波,麥永浩.數據解密技術及其在偵查取證中的應用[J].信息網絡安全,2010.
[5]高明.淺談對稱加密算法與非對稱加密算法的應用[J].電子世界,2015.
[6]Ming Liabc,ShangwangLiuabc,LipingNiuabc,Hong Liud.Cryptanalyzing a chaotic encryption algorithm for highly autocorrelated data.Optics and Laser Technology,2016.
[7]BOCCARDI,MICHAEL.Safe storage of client data. Westchester County Business Journal,2015.
[8]陳春玲,齊年強,余瀚.RSA算法的研究和改進[J].計算機技術與發(fā)展,2016.
[9]陳燕.一種改進的快速RSA密鑰生成算法[J].重慶郵電大學學報,2011.
[10]李云飛,柳青,郝林.一種有效的RSA算法改進方案[J].計算機應用,2010.