




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、班級:網(wǎng)絡(luò)123學(xué)號: 4姓名:趙恒基于DES加密的可視化聊天程序設(shè) 計 與 實 現(xiàn)班級:網(wǎng)絡(luò) 123學(xué)號: 4姓名:趙恒指導(dǎo)老師:孫飛顯摘要本論文所設(shè)計的局域網(wǎng)聊天程序?qū)⒉捎密浖こ虒W(xué)的設(shè)計流程,其所涉及專業(yè)技術(shù)主要包含socket 網(wǎng)絡(luò)編程,Windows MFC程序設(shè)計技術(shù),DES加密/解密機制。本程序?qū)⒁訴C6 .0 作為程序開發(fā)工具。此聊天程序?qū)⒉捎肅/S 模式即客戶端/ 服務(wù)器模式??蛻舳撕头?wù)器、之間采用UDP協(xié)議進(jìn)行通信。客戶端需手動輸入服務(wù)器地址。關(guān)鍵詞:局域網(wǎng)聊天:Socket( 套接字 ) ; DES加密 /解密機制;客戶端 /服務(wù)器模式;MFC微軟基礎(chǔ)類(); UDP(
2、用戶數(shù)據(jù)報協(xié)議)。23一、選題背景錯誤!未定義書簽。 .二、設(shè)計目標(biāo)錯誤!未定義書簽。 .三、需求分析錯誤!未定義書簽。 .3.1 可行性分析錯誤!未定義書簽。.3.2 系統(tǒng)總體需求分析錯誤!未定義書簽。.3.3 開發(fā)運行環(huán)境錯誤!未定義書簽。.四、設(shè)計原理錯誤!未定義書簽。 .4.1 C/S軟件架構(gòu)技術(shù)錯誤!未定義書簽。4.2 VisualC+中的MFC 錯誤!未定義書簽。4.3 加解密原理錯誤!未定義書簽。.五、設(shè)計步驟錯誤!未定義書簽。 .5.1 體系結(jié)構(gòu)設(shè)計錯誤!未定義書簽。.5.2 功能能模塊設(shè)計錯誤!未定義書簽。.5.3 界面設(shè)計與編碼實現(xiàn)錯誤!未定義書簽。5.3.1 服務(wù)器界面設(shè)
3、計錯誤!未定義書簽。5.3.2 客戶端界面設(shè)計錯誤!未定義書簽。5.3.3 DES加密/解密函數(shù)錯誤!未定義書簽。5.3.4 服務(wù)器中消息加密與解密錯誤!未定義書簽。六、測試結(jié)果錯誤!未定義書簽。 .七、參考文獻(xiàn)錯誤!未定義書簽。 .一、選題背景隨著 IT 技術(shù)飛速發(fā)展,人們的日常生活越來越離不開互聯(lián)網(wǎng)。各種基于網(wǎng)絡(luò)的應(yīng)用技術(shù)在人們的政治、經(jīng)濟、 生活等的各個方面都發(fā)揮著重要的作用。各種實時性的聊天娛樂軟件也應(yīng)運而生,而且為我們的即時通訊帶來了眾多的方便。例如QQ, MSN,飛信,微信等基于 Internet 的即時聊天工具。這些工具通過網(wǎng)絡(luò)這個新興的媒介進(jìn)行信息交流相比其他傳統(tǒng)媒介具有數(shù)據(jù)量
4、大,實時性強,操作簡單,成本低廉等優(yōu)點。不僅如此即時聊工具還具備許多傳統(tǒng)媒介不具備的強大功能,它們能傳送文字、聲音、影像和文檔,而且能更加人性化的顯示聯(lián)絡(luò)人的名單和通信狀態(tài)。因而它們在現(xiàn)實生活中受到了用戶廣泛的歡迎,這是我們有目共睹的。目前基于Internet 的即時聊天工具已經(jīng)做的非常完美,然而基于局域網(wǎng)的即時加密聊天工具卻不如人意。 因此, 我們也需要一個實用性強和安全性高的基于局域網(wǎng)的即時聊天工具。當(dāng)學(xué)習(xí)了網(wǎng)絡(luò)安全程序設(shè)計這門課程之后,我們發(fā)現(xiàn)要設(shè)計和實現(xiàn)一個簡單的加密可視化聊天程序并不困難。首先, 我們已經(jīng)學(xué)習(xí)了密碼學(xué)原理與應(yīng)用,對DES加密/解密機制已經(jīng)比較熟悉。其次,我們也已經(jīng)學(xué)習(xí)
5、過Windows程序設(shè)計(MFC語言),熟悉MFC語言, 做一個可視化的程序很容易。最后, 我們從 網(wǎng)絡(luò)安全程序設(shè)計這門課也學(xué)習(xí)到了設(shè)計一個軟件的具體步驟和方法。二、設(shè)計目標(biāo)我認(rèn)為本設(shè)計需要滿足以下幾個系統(tǒng)設(shè)計目標(biāo):(1) 實用性原則:對于用戶有實際的工作服務(wù),按照需求的輕重緩急,合理設(shè)計本系統(tǒng)。(2) 可靠性原則:必須為用戶提供安全的服務(wù),首先是要保證數(shù)據(jù)傳輸?shù)姆€(wěn)定性,其次要保證數(shù)據(jù)的安全性。(3) 友好性原則:使用本系統(tǒng)的用戶相當(dāng)一部分對計算機知識了解很少, 所以系統(tǒng)操作上要求簡單方便,系統(tǒng)使用過程中必須要有友好的的提示信息,這樣才便于用戶在短時間內(nèi)熟悉本系統(tǒng)。(4) 可擴展性原則:采用開
6、放的標(biāo)準(zhǔn)和接口,便于系統(tǒng)向更大的規(guī)模和功能擴展,本系統(tǒng)有較好的擴展特性。三、需求分析3.1 可行性分析1)技術(shù)可行性:本系統(tǒng)以VC6.0 為開發(fā)環(huán)境,再結(jié)合網(wǎng)絡(luò)通信中的UDP協(xié)議和Socket 編程及DES加密/解密技術(shù)。從技術(shù)可行性角度考慮技術(shù)完成成熟,因此本系統(tǒng)設(shè)計與實現(xiàn)是可行的。2)經(jīng)濟可行性:本系統(tǒng)開發(fā)成本極低,無須額外的人力資源、物力資源和財力資源。而且,本系統(tǒng)的經(jīng)濟效益會遠(yuǎn)大于開發(fā)成本,從經(jīng)濟可行性角度考慮是可行的。3)操作可行性:系統(tǒng)硬件為PC 機,操作系統(tǒng)為WindowsXp/Windows7/Windows8,而且編程環(huán)境Visual C+為專業(yè)程序員使用工具,比較易于使用,
7、可行。3.2 系統(tǒng)總體需求分析根據(jù)用戶的需求,本系統(tǒng)實現(xiàn)的功能類似于用戶之間的聊天。在設(shè)計系統(tǒng)時,系統(tǒng)布局應(yīng)該簡潔、流暢,在編制程序時應(yīng)充分考慮這一點。同時,還應(yīng)要保證數(shù)據(jù)傳輸?shù)姆€(wěn)定、快捷、安全,給用戶真正的 "簡潔、高效、流暢、安全"使用環(huán)境。用戶使用過程,首先打開本軟件,客戶端要輸入服務(wù)器IP 地址。然后,服務(wù)器與客戶端建立連接進(jìn)行通信。3.3 開發(fā)運行環(huán)境開發(fā)此系統(tǒng)所需的基本軟、硬件環(huán)境為:(1) .WindowsXP 或 Windows7 或 Windows8;(2) .Pentium100 及以上檔次的PC 及其兼容機;(3) .128M 以上內(nèi)存措施;(4) .
8、1G 以上可用硬盤空間;(5) .VGA 顯示器 ; 以上的配置均要求為在同一局域網(wǎng)內(nèi)的兩臺或兩臺以上。四、設(shè)計原理4.1 C/S 軟件架構(gòu)技術(shù)C/S( Client/Server )結(jié)構(gòu),即大家熟知的客戶機/服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到Client 端和 Server 端來實現(xiàn),降低了系統(tǒng)的通訊開銷。 目前大多數(shù)應(yīng)用軟件系統(tǒng)都是Client/Server 形式的兩層結(jié)構(gòu), 由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的Web應(yīng)用發(fā)展,Web和 Client/Server 應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯組件;因此, 內(nèi)部的
9、和外部的用戶都可以訪問新的和現(xiàn)有的應(yīng)用系統(tǒng),通過現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。傳統(tǒng)的C S 體系結(jié)構(gòu)雖然采用的是開放模式,但這只是系統(tǒng)開發(fā)一級的開放性,在特定的應(yīng)用中無論是Client 端還是 Server 端都還需要特定的軟件支持。由于沒能提供用戶真正期望的開放環(huán)境,C/S 結(jié)構(gòu)的軟件需要針對不同的 操作系 統(tǒng)系統(tǒng)開發(fā)不同版本的軟件,加之產(chǎn)品的更新?lián)Q代十分快,已經(jīng)很難適應(yīng)百臺電腦以上局域網(wǎng)用戶同時使用。4.2 VisualC+ 中的 MFCVisual C+ 是一個功能強大的可視化應(yīng)用程序開發(fā)工具,用于Windows 環(huán)境下 32 位的應(yīng)用程序的
10、開發(fā),是計算機界公認(rèn)的最優(yōu)秀的應(yīng)用開發(fā)工具之一。在提 供可視化的編程方式的同時,Visual C+也適用于編寫直接對系統(tǒng)底層操作的程序,生成代碼的質(zhì)量也優(yōu)于其它的開發(fā)工具。在Visual C+環(huán)境下,利用 Microsoft 的基本類庫 MFC(Microsoft Foundation Class Library), 可以使用完全的面向?qū)ο蟮姆椒▉磉M(jìn)行Windows 95/98/NT 應(yīng)用程序的開發(fā),使得Windows 程序員從大量的復(fù)雜勞動中解救出來,體會到真正的程序語言的強大功能和良好的靈活性。Visual C+編程是一個面向?qū)ο蟮某绦蛟O(shè)計方法。同傳統(tǒng)的結(jié)構(gòu)化程序設(shè)計方法相比,它縮短軟件的
11、研制時間,提高軟件的開發(fā)效率,使程序員可以更好地理解和管理龐大而復(fù)雜的程序。面向?qū)ο蟮某绦蛟O(shè)計吸取了結(jié)構(gòu)化程序設(shè)計的精華,它利用了人們根據(jù)對事物分類和抽象的傾向,引入了類和對象的概念,具有封裝性(數(shù)據(jù)抽象)、繼承和多態(tài)的特點。與結(jié)構(gòu)化程序設(shè)計不同的是,面向?qū)ο蟪绦蛟O(shè)計是用類抽象代表現(xiàn)實的實體,用類之間的繼承關(guān)系表示程序設(shè)計的抽象過程。函數(shù)只是對數(shù)據(jù)的操作, 沒有數(shù)據(jù)的概念,而類是數(shù)據(jù)和數(shù)據(jù)操作的集合,由于面向?qū)ο蟮某绦蛟O(shè)計方法非常近現(xiàn)實,所以越來越流行。Visual C+中集成了大量的最新技術(shù),如ActiveX 、 COM等技術(shù),程序開發(fā)人員可以緊緊地把握住軟件開發(fā)技術(shù)發(fā)展的方向,開發(fā)出功能強
12、大的應(yīng)用程序。 Visual C+還提供了豐富的技術(shù)資源,MSDN(Microsoft DevelopNetwork) 提供 了強大的聯(lián)機幫助支持,同時還可以通過訪Microsoft的網(wǎng)上站點來獲得最新的技術(shù)文檔。( 1) Socket 及 Window Socket API 簡介 套接字(Socket)是一種雙向的通信接口,可以通過這個端口與任何一個具有 Socket端口的計算機通信,套接字是網(wǎng)絡(luò)通信的基礎(chǔ)。Socket 在 Windows以 句柄的形式被創(chuàng)建。使用Socket 進(jìn)行網(wǎng)絡(luò)通信必須包含下面的幾種信息:雙方認(rèn)可的協(xié)議,本地主機的IP 地址,本地進(jìn)程的協(xié)議端口,對方主機的IP 地址
13、, 對方進(jìn)程的協(xié)議端口。Socket 可分為:1 數(shù)據(jù)報套接字( Datagram Sockets) 對于在 TCP/IP上實現(xiàn)的WinSock,數(shù)據(jù)報套接字使用用戶數(shù)據(jù)報協(xié)議(UDP) 。數(shù)據(jù)報套接字提供了一種不可靠的、非連接的數(shù)據(jù)包通信方式。2 流式套接字(Stream Sockets) 流式套接字使用傳輸控制協(xié)議(TCP)。流式套接字可以將數(shù)據(jù)按順序無重復(fù)地發(fā)送到目的地, 它提供的是一種可靠的、面向連接的數(shù)據(jù)傳輸方式。不管是對單個的數(shù)據(jù)報,還是對數(shù)據(jù)包,流式套接字都提供了一種流式數(shù)據(jù)傳輸。4.3 加解密原理DES 將明文分成64比特大小的眾多數(shù)據(jù)塊,即分組長度為64位,同時用56 位密鑰
14、對64 位明文信息加密,最終形成64 位密文。如果明文長度不足64 位,則將其擴展為64 位(例如補零等方法)。具體加密算法過程首先是將輸入的數(shù)據(jù)進(jìn)行初始換位(IP) ,將明文M 中數(shù)據(jù)的排列順序按一定的規(guī)則重新排列,生成新的數(shù)據(jù)序列,以打亂原來的次序。然后將交換后的數(shù)據(jù)平分成左右兩部分,左邊記為L0,右邊記為R0,然后對R0施行在子密鑰(由加秘密鑰產(chǎn)生)控制下的變換f, 結(jié)果記為f(R0,K1,),再與L0做逐位異或運算,其結(jié)果記為R1, R0 則坐下一輪的L 1。如此循環(huán)16輪,最后得到L16、 R16,再對L16、 R16施行逆運算初始置換IP-1, 即可得到加密數(shù)據(jù)。解密過程與此 類似,不同之處在于子密鑰的使用順序正好相反。子秘鑰產(chǎn)生流程五、設(shè)計步驟5.1 體系結(jié)構(gòu)設(shè)計一般的通信工具,都采用客戶端/ 服務(wù)器體系結(jié)構(gòu),本程序也不例外??蛻舳?服務(wù)器結(jié)構(gòu)的具體結(jié)構(gòu)是這樣的:它包含客戶端和服務(wù)器端; 客戶端訪問和處理服務(wù)器上的數(shù)據(jù),服務(wù)器接收和處理客戶端的數(shù)據(jù)請求。這種模式的好處就是可以將一個系統(tǒng)分為兩個獨立的部分進(jìn)行開發(fā)設(shè)計,便于軟件開發(fā)。而且也把一個軟件的功能交給兩個部分去完成,則更加有效的利用了系統(tǒng)資源。5.2 功能能模塊設(shè)計由于本系統(tǒng)采用C/S 模式, 所以對功能模塊進(jìn)行劃分時,就需要分服務(wù)器和客戶端兩部分進(jìn)行。服務(wù)器有信息輸入模塊、信息接收模塊和通信對象模
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度股東借款轉(zhuǎn)增注冊資本及利潤分配調(diào)整合同
- 2025年度電力線路運維風(fēng)險管理與合同
- 2025年度電子產(chǎn)品退貨換貨服務(wù)合同范本
- 二零二五年度航空航天項目三方合同違約責(zé)任說明
- 公共安全應(yīng)急救援預(yù)案制定指南
- 數(shù)據(jù)中心運維服務(wù)合同及設(shè)備維護(hù)管理條款
- 中學(xué)生數(shù)學(xué)史故事征文
- 產(chǎn)品采購及供應(yīng)保障協(xié)議合同
- 企業(yè)信息化建設(shè)實施細(xì)則
- 企業(yè)資源共享合作協(xié)議書
- 2023版初中化學(xué)跨學(xué)科實踐活動(化學(xué))
- 植物保護(hù)學(xué)通論-植物病害分析課件
- 藥品經(jīng)營質(zhì)量管理規(guī)范(GSP)實用教程教學(xué)課件
- 機械基礎(chǔ) 第2版全書電子教案
- 外研社一起英語四年級下冊課文
- DB32-T 2705-2014公路工程地質(zhì)勘察監(jiān)理規(guī)程-(高清現(xiàn)行)
- After-Effects影視特效設(shè)計教程完整版全套ppt課件
- 羊營養(yǎng)代謝病
- 醫(yī)療設(shè)備清單
- 《夏夜多美》課件(ppt)
- 社區(qū)院落停車管理制度
評論
0/150
提交評論