国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于3DES和RSA的Android系統(tǒng)短信加密設計與實現(xiàn)

2017-02-06 00:20馬玉琢郭玉翠
軟件 2016年6期
關鍵詞:明文加密算法密文

馬玉琢+郭玉翠

摘要:Android系統(tǒng)作為開源的系統(tǒng),受到越來越多的青睞,同時其安全性及用戶的隱私也受到了極大的考驗。本文提出了一種針對短信隱私保護的加密方案。從Android系統(tǒng)的整體架構及分層思想出發(fā),通過對3DES對稱加密算法及RSA非對稱加密算法的原理進行分析與研究,提出了一種新型的針對Android系統(tǒng)的混合加密算法的短信加密方案,詳細地介紹了具體的實現(xiàn)過程。使用Android模擬器進行的收發(fā)仿真實驗,證明了短信加密方案的可行性。

關鍵詞:Android系統(tǒng);3DES算法;RSA算法;短信息;加解密

引言

自從Google2007年推出Android操作系統(tǒng)以來,該系統(tǒng)以開源的優(yōu)勢迅速占領市場,但安全性也越來越受到重視。短信是人們使用較為頻繁的業(yè)務,然而短信的安全性面臨很多威脅,一些不法分子將用戶發(fā)送的短信進行攔截,竊聽短信,盜取用戶信息進行詐騙等活動。目前對于短信的安全問題有很多研究,張宇斯提出了基于RSA加密算法的短信加密方案;方傳蔚等人提出了基于3DES的短信加密方案;徐德志等人提出了在“ELGamal”加密體制基礎上針對GSM短消息系統(tǒng)的公開密鑰加密方案等。然而現(xiàn)有的加密方案大多僅限于對短信內容進行加密,且對稱加密算法的密鑰保密困難,非對加密算法加密速度慢。本文選取Android系統(tǒng)的短信加密作為研究方向,將非對稱加密算法和對稱加密算法進行結合,設計了基于3DES和RSA混合加密算法的短信加密方案,將短信內容和密鑰分別進行加密,達到了雙重加密的效果,綜合發(fā)揮了兩種算法的優(yōu)點,又避免了各自的缺點。

1Android的系統(tǒng)架構

Android其本質就是在Linux系統(tǒng)上增加了Java虛擬機Dalvik,并在Dalvik虛擬機上搭建了一個Java的application framework,所有的應用程序都是基于Java的application framework之上。

Android的系統(tǒng)架構采用了分層架構的思想,從上層到底層共包括四層,分別是應用程序層、應用框架層、系統(tǒng)庫、Android運行時和Linux內核。

應用程序層提供一些核心應用程序包,通常用Java語言編寫,Java程序及相關資源經(jīng)過編譯后,生成一個APK包。

應用程序框架層是從事Android開發(fā)的基礎,為應用程序層的開發(fā)者提供了API,它實際上是一個應用程序的框架,很多核心應用程序也是通過這一層來實現(xiàn)其核心功能的。

系統(tǒng)庫是應用程序框架的支撐,是連接應用程序框架層與Linux內核層的重要紐帶。Android的核心系統(tǒng)服務如安全性、內存管理、進程管理、網(wǎng)路協(xié)議以及驅動模型都依賴于Linux內核。

本文的短信加密方案是基于Android系統(tǒng)的應用程序層進行設計的,調用了部分應用程序框架層的API,采用Java語言進行的實現(xiàn)。

2 3DES和RSA混合加密算法簡述

2.1 3DES加密算法

3DES加密算法是一種對稱加密算法,加密和解密使用相同的密鑰,使用3條64位的密鑰對數(shù)據(jù)進行三次加密,加密速度快。

具體實現(xiàn)如下:設Ek()和Dk()代表DES算法的加密和解密過程,K代表DES算法使用的密鑰,M代表明文,s代表密表,

3DES加密過程為:S=Ek3(Dk2(Fk1(M))),

3DES解密過程為:M=Dkl((EK2(Dk3(s)))。

2.2 RSA加密算法

RSA是一種非對稱加密算法,加密和解密使用不同的密鑰,將兩個大素數(shù)的乘積公開作為加密密鑰,即公鑰,而兩個大素數(shù)組合成私鑰,將兩個大素數(shù)相乘十分容易,但對其乘積進行因式分解卻極其困難,任何人都可對明文進行加密,但只有被授權的用戶,即擁有私鑰的用戶才可對密文解密,所以RSA方法可以具有很好的加密效果。

2.3 3DES和RSA混合加密算法

3DES對稱加密算法的加密速度快,但由于加解密鑰相同,所以密鑰需要通過私密信道傳送給對方,泄露的風險較大。RSA非對稱加密算法強度復雜、安全性高,但由于RSA算法需要進行大整數(shù)的乘冪和求模處理,所以其效率較低,不適合大量數(shù)據(jù)的加密。

本文擬采用3DES和RSA混合加密算法進行加解密,即采用對稱的3DES算法加密短信數(shù)據(jù),采用非對稱的RSA算法加密3DES的密鑰。這樣密鑰不需要使用私密信道發(fā)送,又提高了整體的加密速度,發(fā)揮了3DES和RSA加密算法的優(yōu)點又避免了各自的缺點,實現(xiàn)了一種新型的混合加密短信的方案。

具體過程如下:假設A是短信發(fā)送方,B是短信接收方,B在本地產(chǎn)生RSA密鑰對,將RSA公鑰通過WIFI等途徑拷貝給A;A在本地輸入3DES密鑰,使用3DES密鑰對明文短信進行加密,再使用RSA公鑰對3DES密鑰進行加密,并將加密后的密鑰和密文短信一同傳送給B;B用本地的RSA私鑰解密出3DES密鑰,并用3DES密鑰對接收到的密文短信進行解密,得到的數(shù)據(jù)即為A所發(fā)送的明文短信。

流程圖如下:

3短信加密實現(xiàn)

在Eclipse中建立工程,AndroidManifest.xml中添加短信的讀寫權限。啟動兩個模擬器,系統(tǒng)自動給這兩個模擬器分配號碼,默認前綴為1555521,啟動的模擬器是5554和5556。將工程運行在兩個模擬器中,5556為短信發(fā)送方,5554為短信接收方。

3.1短信發(fā)送方

實現(xiàn)步驟:

(1)輸入電話號碼,短信內容。

(2)輸入自定義的24位3DES密鑰,并對明文短信運用3DES加密算法進行加密。

(3)從對方拷貝的RSA公鑰文件中讀取RSA公鑰,對3DES密鑰運用RSA加密算法進行加密。

(4)將密文短信以及加密過的密鑰一同調用系統(tǒng)API以短信的形式發(fā)送到接收方。

具體實現(xiàn)結果:

(1)輸人手機號碼:5554

(2)輸入短信內容:happy new year and bestwishes to you.

(3)輸入24位的明文密鑰:ml a2y3u425h6u708 12345678

(4)3DES算法加密后的密文短信:G56pHPqWjRZ6Sb3cTzFDEwfKwZcj+cWFb4dpSJSd9/R4yKGylsd7ow

(5)RSA算法加密后的密鑰結果:Y42XUo5nkoZJuTes6mMw7SRnz3DYR8i/T1ioMl08wKhtBB ldZVyhLvXq0KfhntUr07LbM3T+azCgypK8HDXl3BEm2bUtUeR890gY3BSOILM9R104C60dhISmC5+bUNnh5bPOi+XBfOtUkur7e2HIl2Jd3hrq0TEXL69mcoTncQ=

(6)運行界面:

3.2短信接收方

具體實現(xiàn)步驟:

(1)監(jiān)聽短信,當短信數(shù)據(jù)庫發(fā)生變化時,獲取新接收到的短信。短信收件箱的URL:content://sms/inbox,使用SQL語句查詢數(shù)據(jù)庫中的信息,查詢Id、address、date、body等字段,即獲取到短信內容。

(2)對短信內容進行分解,分解成密文短信和密文密鑰。

(3)獲取本地所生成的RSA私鑰,對密文密鑰運用RSA解密算法進行解密,得到明文密鑰。

(4)使用明文密鑰運用3DES解密算法對密文短信進行解密,得到明文短信并顯示出來。

(5)運行結果界面:

4結語

本文設計并實現(xiàn)了一種基于Android系統(tǒng)的3DES和RSA混合加密短信的方案。其中3DES密鑰為用戶手動輸入的24位密鑰,實現(xiàn)了一次一密,提高了短信加密的安全性。將兩種算法進行混合,充分的發(fā)揮了3DES對稱加密算法速度快、效率高和RSA非對稱加密算法破解難度大、安全性高的優(yōu)點。并且在Android模擬器上對短信加密方案進行了實現(xiàn)和驗證。

猜你喜歡
明文加密算法密文
一種針對格基后量子密碼的能量側信道分析框架
一種支持動態(tài)更新的可排名密文搜索方案
基于模糊數(shù)學的通信網(wǎng)絡密文信息差錯恢復
奇怪的處罰
奇怪的處罰
基于小波變換和混沌映射的圖像加密算法
四部委明文反對垃圾焚燒低價競爭
云存儲中支持詞頻和用戶喜好的密文模糊檢索
Hill加密算法的改進
响水县| 板桥市| 大方县| 天门市| 衡阳县| 南康市| 宣城市| 元江| 泉州市| 巧家县| 慈溪市| 新邵县| 稻城县| 屏山县| 云阳县| 会泽县| 沁水县| 张家口市| 土默特右旗| 渝中区| 四会市| 鹤庆县| 枣阳市| 苍南县| 大同市| 德保县| 五常市| 呼图壁县| 信宜市| 张家口市| 绥江县| 金湖县| 宜州市| 福建省| 乌鲁木齐县| 株洲市| 独山县| 夏河县| 苗栗县| 海原县| 黑水县|