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

基于Java的加密通信平臺設(shè)計

2016-02-06 06:09:22李玉廣余慶豐

◆李玉廣 余慶豐

(61764部隊 海南 572000)

基于Java的加密通信平臺設(shè)計

◆李玉廣 余慶豐

(61764部隊 海南 572000)

本文針對信息安全問題日益突出的現(xiàn)狀,設(shè)計了一種基于Java的加密通信平臺。該平臺利用RSA、DES以及AES等加密算法對短消息通信和文件傳輸進(jìn)行加密,保證數(shù)據(jù)的保密性;同時,具有文件簽名認(rèn)證功能。多種加密算法的結(jié)合,較好地保證了信息傳輸?shù)陌踩院屯暾浴?/p>

加密通信;加密算法;信息傳輸

0 引言

信息作為一種資源,具有普遍性、共享性、增值性、可處理性以及多效用性等特征,使其對于人類具有特別重要的意義[1]。信息安全的概念在二十世紀(jì)經(jīng)歷了一個漫長的歷史階段,90年代以來得到了深化[2]。進(jìn)入21世紀(jì),隨著計算機技術(shù)的發(fā)展,信息安全的重要性不斷凸顯。信息安全的實質(zhì)就是保護(hù)信息系統(tǒng)或信息網(wǎng)絡(luò)中的信息資源免受各種類型的威脅、干擾以及破壞[3]。目前主要通過加密方法對信息進(jìn)行處理,達(dá)到保證信息的保密性和完整性的目的[4]。

數(shù)據(jù)在存儲、處理和交換等環(huán)節(jié)中,都存在泄密、截收、竊聽、竄改以及偽造的可能性[4]。通過對多種加密算法的分析和研究,實現(xiàn)了集成化的加密通信平臺,以滿足數(shù)據(jù)保密性和完整性的客觀需求。

1 方案設(shè)計和關(guān)鍵算法實現(xiàn)

在本設(shè)計中,主要完成基于socket的點對點通信及文件傳輸、對稱和非對稱通信加密、對稱和非對稱文件傳輸加密、文件簽名認(rèn)證等內(nèi)容。

1.1 方案設(shè)計

圖1 主要模塊關(guān)系結(jié)構(gòu)

主要模塊的層次關(guān)系如圖1所示,各模塊的主要功能:

(1)trans.cipher:負(fù)責(zé)實現(xiàn)加解密相關(guān)的功能,具體來說即實現(xiàn)AES,DES,RSA三種加解密算法,向外提供相關(guān)API。

(2)trans.control:通過調(diào)用trans.cipher,trans.config,trans.control,trans.thread,trans.util的相關(guān)API,負(fù)責(zé)軟件的主要業(yè)務(wù)邏輯,響應(yīng)trans.view所捕獲的界面用戶操作。

(3)trans.thread:負(fù)責(zé)實現(xiàn)用于socket通信的監(jiān)聽線程和連接線程。

(4)trans.util:負(fù)責(zé)向其他包提供常用基礎(chǔ)功能,如字節(jié)數(shù)組操作。

(5)trans.view:負(fù)責(zé)軟件界面結(jié)構(gòu)布局及用戶輸入響應(yīng)。

1.2 關(guān)鍵模塊實現(xiàn)

(1)trans.cipher.AsymEncryptor負(fù)責(zé)實現(xiàn)非對稱加解密功能,主要方法說明:

①encrypt/decrypt/sign/authenticate,實現(xiàn)對byte數(shù)組的加解密、簽名認(rèn)證功能。

②getPubkey/getPrivkey,從密鑰中獲取密鑰。

(2)trans.cipher.SymEncryptor負(fù)責(zé)實現(xiàn)對稱加解密功能。

(3)trans.thread.ConnectionThread.run是連接線程的具體實現(xiàn),該線程既負(fù)責(zé)響應(yīng)來自用戶的輸入事件也負(fù)責(zé)不斷的從socket中讀取數(shù)據(jù)。

(4)trans.control.MainControl.doSendFile主要負(fù)責(zé)通過socket來傳輸一個文件,傳輸時先對文件進(jìn)行相應(yīng)的加密操作。文件的簽名發(fā)送與此類似,不再重復(fù)。

(5)Trans.util.ByteArrayUtil為實現(xiàn)基于socket的文件傳輸,通過在字節(jié)流前加入特定標(biāo)識的方式來區(qū)分文件和普通消息。然而,實現(xiàn)這樣的設(shè)計前提是對字節(jié)數(shù)組進(jìn)行靈活的前綴添加,子序列查找等操作。為此實現(xiàn)了ByteArrayUtil類來支持此類功能。在該類的方法中,值得一提的是字節(jié)數(shù)組中子序列查找的算法,為了提高效率,在此運用了KMP匹配算法。

1.3 程序運行

用eclipse中的打包工具將程序打包為可運行的JAR文件。安裝java虛擬機,版本至少為1.6以上,雙擊sec.jar即可執(zhí)行程序。

2 主要使用方法

主要包括用戶登錄及建立連接,設(shè)置加密方式,傳輸消息或文件,設(shè)置解密方式,解密消息或文件,RSA密鑰管理,RSA簽名認(rèn)證等環(huán)節(jié)。

圖2 登錄角色選擇

2.1 用戶登錄及建立連接

(1)輸入用戶名,進(jìn)行登錄并選擇角色(服務(wù)端或客戶端)。

(2)服務(wù)端指定監(jiān)聽端口進(jìn)行監(jiān)聽。客戶端指定服務(wù)端的IP地址和端口號來建立連接。

圖3 登錄參數(shù)設(shè)置

2.2 設(shè)置加密方式及密鑰

(1)在通信窗口中選擇“Settings” — “Encrypt”—“AES”或“D ES”,之后在彈出的窗口中輸入密鑰,其中AES密鑰為16位,D ES為8位。

(2)如果是RSA加密方式,在通信窗口中選擇“Settings”—“E ncrypt”—“RSA”,按提示指定對方公鑰文件所在位置。

2.3 消息和文件通信

(1)建立連接后,出現(xiàn)通信窗口,可以通過send按鈕進(jìn)行消息通信,如果沒有選擇加解密方式則進(jìn)行明文通信,否則按照相應(yīng)的方式進(jìn)行加解密。

(2)建立連接后,可在通信窗口中選擇“File”—“Encrypt a f ile and send”將一個文件按指定好的加密方式進(jìn)行加密傳輸,如果未指定加密方式則傳輸明文文件。接收方接收到文件時會彈出提示窗口,點擊receive將文件保存到本地。

2.4 設(shè)置解密方式

(1)如果是AES或DES解密,在通信窗口中選擇“Settings”—“Decrypt”—“AES”或”DES”,并輸入密鑰。

(2)如果是RSA解密,選擇“Settings”—“Decrypt”—“RSA”,按提示指定自己的私鑰文件。選中消息密文,點擊decrypt按鈕可將解密該消息。

2.5 解密消息或文件

(1)對消息進(jìn)行解密須選中接收到的加密消息,點擊decryp t按鈕即可顯示明文,如圖4所示。

圖4 解密消息

(2)對文件進(jìn)行解密選擇“File”—“Decrypt a file and save As”,指定原加密文件以及明文文件存放地址即可,如圖5所示。

圖5 解密文件

2.6 RSA密鑰管理

(1)生成RSA密鑰對

如果用戶尚沒有密鑰文件,選擇“RSA Key Manager”—“Ge nerate Key Pair”,生成密鑰對后通過“Save Public”和“Save Privat e”來保存相應(yīng)的密鑰文件,如圖6所示。

圖6 生成RSA密鑰對

(2)發(fā)送RSA公鑰文件

生成自己的RSA密鑰對后,應(yīng)將公鑰文件發(fā)送給對方。選擇“File”—“Send my Public Key File”,發(fā)送自己的公鑰文件。這時對方會收到文件到達(dá)通知,點擊receive進(jìn)行接收并存放到本地。

2.7 RSA文件簽名認(rèn)證

(1)設(shè)置己方私鑰

選擇“Settings” —“Sign/Authenticate ”— “Set my private key”指定己方的私鑰文件。

(2)文件簽名并傳輸

設(shè)置好私鑰后,選擇“File”—“Sign a File and Send”來對一個文件進(jìn)行簽名并發(fā)送。

(3)設(shè)置對方公鑰

選擇“Settings” —“Sign/Authenticate ”—“Set Your Public key”指定對方的公鑰文件。

(4)文件認(rèn)證并傳輸

設(shè)置好私鑰后,選擇“File”—“Authenticate a File and Save As”來對一個文件進(jìn)行認(rèn)證并另存。

3 功能測試及結(jié)果

3.1 測試環(huán)境

操作系統(tǒng):Windows XP SP3 32位。Java虛擬機版本:1.6.21

加解密相關(guān)jar包:javax.crypto.*

3.2 功能測試

(1)消息加密傳輸與解密(DES算法)

發(fā)送方Bob設(shè)定加密方式為DES,密鑰“12345678”,將消息“THIS IS ENCRYPTED”加密后發(fā)送。接收方Alice設(shè)定解密方式為DES,密鑰“12345678”,將收到的密文進(jìn)行解密,得到正確的明文,如圖7所示。

圖7 消息加密傳輸與解密

(2)密鑰對生成與公鑰的傳輸

雙方先通過RSA密鑰管理生成各自的密鑰對,并分別將自己的公鑰發(fā)送給對方。密鑰生成和公鑰的發(fā)送接收過程都能正確完成,如圖8所示。

圖8 密鑰對生成與公鑰的傳輸

(3)文件加密傳輸與解密(RSA算法)

在應(yīng)用場景2的基礎(chǔ)上,Alice選擇加密類型為RSA并指定Bob的公鑰文件,選擇文件1.txt進(jìn)行加密發(fā)送,Bob能正確接收到加密后的1.txt。Bob設(shè)置解密類型為RSA并指定自己的私鑰,對1.txt進(jìn)行解密能得到正確的明文文件,如圖9所示。

主站蜘蛛池模板: 日本www色视频| 亚洲国产亚综合在线区| 亚洲国产清纯| 欧美成人手机在线观看网址| 青青青国产视频手机| 国产成人91精品免费网址在线| 女高中生自慰污污网站| 亚洲欧美日韩动漫| 三级国产在线观看| 精品视频在线观看你懂的一区| 中文成人无码国产亚洲| 国产精品欧美激情| 国产成人综合日韩精品无码不卡| 国产手机在线小视频免费观看| 久久精品国产电影| 国产在线欧美| 五月婷婷激情四射| 好紧好深好大乳无码中文字幕| www亚洲天堂| 黄色一级视频欧美| 精品人妻一区二区三区蜜桃AⅤ| 亚洲第一成网站| 国产福利在线观看精品| 91福利一区二区三区| 一本久道热中字伊人| 婷婷久久综合九色综合88| 亚洲第一区在线| 亚洲欧美一区二区三区图片| 三上悠亚精品二区在线观看| 无码精品福利一区二区三区| 中文国产成人精品久久一| 香蕉国产精品视频| 欧美中文字幕一区| 2020亚洲精品无码| 国产乱子伦视频在线播放| 欧美日韩北条麻妃一区二区| 狠狠躁天天躁夜夜躁婷婷| 青青草久久伊人| 亚洲精品少妇熟女| 国产毛片基地| 成人福利免费在线观看| 蜜臀AV在线播放| 在线另类稀缺国产呦| 国产91九色在线播放| 日韩在线播放中文字幕| 人妻91无码色偷偷色噜噜噜| 国产永久在线观看| 99精品在线看| 伊人色综合久久天天| 国产精品原创不卡在线| 国产拍在线| 亚洲AV无码乱码在线观看代蜜桃| 免费在线一区| 天堂亚洲网| 57pao国产成视频免费播放| 亚洲第一综合天堂另类专| 国产精品一老牛影视频| 亚洲国产综合第一精品小说| 青青久视频| 亚洲狼网站狼狼鲁亚洲下载| 久久黄色免费电影| 色天堂无毒不卡| 亚洲色图综合在线| 免费亚洲成人| 97国产在线视频| 91精品国产91久久久久久三级| 18禁影院亚洲专区| 国产视频自拍一区| 在线免费不卡视频| 亚洲成a∧人片在线观看无码| 精品久久久久久中文字幕女| 色噜噜狠狠色综合网图区| 国产成人无码AV在线播放动漫| 国产亚洲欧美在线中文bt天堂| 国产成人精彩在线视频50| 久久夜色精品| 欧美成人精品一级在线观看| 高清无码不卡视频| 欧美成人精品在线| 青青操视频在线| 最新无码专区超级碰碰碰| 国产v欧美v日韩v综合精品|