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