基于DES加密的可視化聊天程序_第1頁(yè)
基于DES加密的可視化聊天程序_第2頁(yè)
基于DES加密的可視化聊天程序_第3頁(yè)
基于DES加密的可視化聊天程序_第4頁(yè)
基于DES加密的可視化聊天程序_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、班級(jí):網(wǎng)絡(luò)123學(xué)號(hào): 4姓名:趙恒基于DES加密的可視化聊天程序設(shè) 計(jì) 與 實(shí) 現(xiàn)班級(jí):網(wǎng)絡(luò) 123學(xué)號(hào): 4姓名:趙恒指導(dǎo)老師:孫飛顯摘要本論文所設(shè)計(jì)的局域網(wǎng)聊天程序?qū)⒉捎密浖こ虒W(xué)的設(shè)計(jì)流程,其所涉及專業(yè)技術(shù)主要包含socket 網(wǎng)絡(luò)編程,Windows MFC程序設(shè)計(jì)技術(shù),DES加密/解密機(jī)制。本程序?qū)⒁訴C6 .0 作為程序開發(fā)工具。此聊天程序?qū)⒉捎肅/S 模式即客戶端/ 服務(wù)器模式??蛻舳撕头?wù)器、之間采用UDP協(xié)議進(jìn)行通信??蛻舳诵枋謩?dòng)輸入服務(wù)器地址。關(guān)鍵詞:局域網(wǎng)聊天:Socket( 套接字 ) ; DES加密 /解密機(jī)制;客戶端 /服務(wù)器模式;MFC微軟基礎(chǔ)類(); UDP(

2、用戶數(shù)據(jù)報(bào)協(xié)議)。23一、選題背景錯(cuò)誤!未定義書簽。 .二、設(shè)計(jì)目標(biāo)錯(cuò)誤!未定義書簽。 .三、需求分析錯(cuò)誤!未定義書簽。 .3.1 可行性分析錯(cuò)誤!未定義書簽。.3.2 系統(tǒng)總體需求分析錯(cuò)誤!未定義書簽。.3.3 開發(fā)運(yùn)行環(huán)境錯(cuò)誤!未定義書簽。.四、設(shè)計(jì)原理錯(cuò)誤!未定義書簽。 .4.1 C/S軟件架構(gòu)技術(shù)錯(cuò)誤!未定義書簽。4.2 VisualC+中的MFC 錯(cuò)誤!未定義書簽。4.3 加解密原理錯(cuò)誤!未定義書簽。.五、設(shè)計(jì)步驟錯(cuò)誤!未定義書簽。 .5.1 體系結(jié)構(gòu)設(shè)計(jì)錯(cuò)誤!未定義書簽。.5.2 功能能模塊設(shè)計(jì)錯(cuò)誤!未定義書簽。.5.3 界面設(shè)計(jì)與編碼實(shí)現(xiàn)錯(cuò)誤!未定義書簽。5.3.1 服務(wù)器界面設(shè)

3、計(jì)錯(cuò)誤!未定義書簽。5.3.2 客戶端界面設(shè)計(jì)錯(cuò)誤!未定義書簽。5.3.3 DES加密/解密函數(shù)錯(cuò)誤!未定義書簽。5.3.4 服務(wù)器中消息加密與解密錯(cuò)誤!未定義書簽。六、測(cè)試結(jié)果錯(cuò)誤!未定義書簽。 .七、參考文獻(xiàn)錯(cuò)誤!未定義書簽。 .一、選題背景隨著 IT 技術(shù)飛速發(fā)展,人們的日常生活越來(lái)越離不開互聯(lián)網(wǎng)。各種基于網(wǎng)絡(luò)的應(yīng)用技術(shù)在人們的政治、經(jīng)濟(jì)、 生活等的各個(gè)方面都發(fā)揮著重要的作用。各種實(shí)時(shí)性的聊天娛樂軟件也應(yīng)運(yùn)而生,而且為我們的即時(shí)通訊帶來(lái)了眾多的方便。例如QQ, MSN,飛信,微信等基于 Internet 的即時(shí)聊天工具。這些工具通過(guò)網(wǎng)絡(luò)這個(gè)新興的媒介進(jìn)行信息交流相比其他傳統(tǒng)媒介具有數(shù)據(jù)量

4、大,實(shí)時(shí)性強(qiáng),操作簡(jiǎn)單,成本低廉等優(yōu)點(diǎn)。不僅如此即時(shí)聊工具還具備許多傳統(tǒng)媒介不具備的強(qiáng)大功能,它們能傳送文字、聲音、影像和文檔,而且能更加人性化的顯示聯(lián)絡(luò)人的名單和通信狀態(tài)。因而它們?cè)诂F(xiàn)實(shí)生活中受到了用戶廣泛的歡迎,這是我們有目共睹的。目前基于Internet 的即時(shí)聊天工具已經(jīng)做的非常完美,然而基于局域網(wǎng)的即時(shí)加密聊天工具卻不如人意。 因此, 我們也需要一個(gè)實(shí)用性強(qiáng)和安全性高的基于局域網(wǎng)的即時(shí)聊天工具。當(dāng)學(xué)習(xí)了網(wǎng)絡(luò)安全程序設(shè)計(jì)這門課程之后,我們發(fā)現(xiàn)要設(shè)計(jì)和實(shí)現(xiàn)一個(gè)簡(jiǎn)單的加密可視化聊天程序并不困難。首先, 我們已經(jīng)學(xué)習(xí)了密碼學(xué)原理與應(yīng)用,對(duì)DES加密/解密機(jī)制已經(jīng)比較熟悉。其次,我們也已經(jīng)學(xué)習(xí)

5、過(guò)Windows程序設(shè)計(jì)(MFC語(yǔ)言),熟悉MFC語(yǔ)言, 做一個(gè)可視化的程序很容易。最后, 我們從 網(wǎng)絡(luò)安全程序設(shè)計(jì)這門課也學(xué)習(xí)到了設(shè)計(jì)一個(gè)軟件的具體步驟和方法。二、設(shè)計(jì)目標(biāo)我認(rèn)為本設(shè)計(jì)需要滿足以下幾個(gè)系統(tǒng)設(shè)計(jì)目標(biāo):(1) 實(shí)用性原則:對(duì)于用戶有實(shí)際的工作服務(wù),按照需求的輕重緩急,合理設(shè)計(jì)本系統(tǒng)。(2) 可靠性原則:必須為用戶提供安全的服務(wù),首先是要保證數(shù)據(jù)傳輸?shù)姆€(wěn)定性,其次要保證數(shù)據(jù)的安全性。(3) 友好性原則:使用本系統(tǒng)的用戶相當(dāng)一部分對(duì)計(jì)算機(jī)知識(shí)了解很少, 所以系統(tǒng)操作上要求簡(jiǎn)單方便,系統(tǒng)使用過(guò)程中必須要有友好的的提示信息,這樣才便于用戶在短時(shí)間內(nèi)熟悉本系統(tǒng)。(4) 可擴(kuò)展性原則:采用開

6、放的標(biāo)準(zhǔn)和接口,便于系統(tǒng)向更大的規(guī)模和功能擴(kuò)展,本系統(tǒng)有較好的擴(kuò)展特性。三、需求分析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è)計(jì)與實(shí)現(xiàn)是可行的。2)經(jīng)濟(jì)可行性:本系統(tǒng)開發(fā)成本極低,無(wú)須額外的人力資源、物力資源和財(cái)力資源。而且,本系統(tǒng)的經(jīng)濟(jì)效益會(huì)遠(yuǎn)大于開發(fā)成本,從經(jīng)濟(jì)可行性角度考慮是可行的。3)操作可行性:系統(tǒng)硬件為PC 機(jī),操作系統(tǒng)為WindowsXp/Windows7/Windows8,而且編程環(huán)境Visual C+為專業(yè)程序員使用工具,比較易于使用,

7、可行。3.2 系統(tǒng)總體需求分析根據(jù)用戶的需求,本系統(tǒng)實(shí)現(xiàn)的功能類似于用戶之間的聊天。在設(shè)計(jì)系統(tǒng)時(shí),系統(tǒng)布局應(yīng)該簡(jiǎn)潔、流暢,在編制程序時(shí)應(yīng)充分考慮這一點(diǎn)。同時(shí),還應(yīng)要保證數(shù)據(jù)傳輸?shù)姆€(wěn)定、快捷、安全,給用戶真正的 "簡(jiǎn)潔、高效、流暢、安全"使用環(huán)境。用戶使用過(guò)程,首先打開本軟件,客戶端要輸入服務(wù)器IP 地址。然后,服務(wù)器與客戶端建立連接進(jìn)行通信。3.3 開發(fā)運(yùn)行環(huán)境開發(fā)此系統(tǒng)所需的基本軟、硬件環(huán)境為:(1) .WindowsXP 或 Windows7 或 Windows8;(2) .Pentium100 及以上檔次的PC 及其兼容機(jī);(3) .128M 以上內(nèi)存措施;(4) .

8、1G 以上可用硬盤空間;(5) .VGA 顯示器 ; 以上的配置均要求為在同一局域網(wǎng)內(nèi)的兩臺(tái)或兩臺(tái)以上。四、設(shè)計(jì)原理4.1 C/S 軟件架構(gòu)技術(shù)C/S( Client/Server )結(jié)構(gòu),即大家熟知的客戶機(jī)/服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過(guò)它可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì),將任務(wù)合理分配到Client 端和 Server 端來(lái)實(shí)現(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),通過(guò)現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。傳統(tǒng)的C S 體系結(jié)構(gòu)雖然采用的是開放模式,但這只是系統(tǒng)開發(fā)一級(jí)的開放性,在特定的應(yīng)用中無(wú)論是Client 端還是 Server 端都還需要特定的軟件支持。由于沒能提供用戶真正期望的開放環(huán)境,C/S 結(jié)構(gòu)的軟件需要針對(duì)不同的 操作系 統(tǒng)系統(tǒng)開發(fā)不同版本的軟件,加之產(chǎn)品的更新?lián)Q代十分快,已經(jīng)很難適應(yīng)百臺(tái)電腦以上局域網(wǎng)用戶同時(shí)使用。4.2 VisualC+ 中的 MFCVisual C+ 是一個(gè)功能強(qiáng)大的可視化應(yīng)用程序開發(fā)工具,用于Windows 環(huán)境下 32 位的應(yīng)用程序的

10、開發(fā),是計(jì)算機(jī)界公認(rèn)的最優(yōu)秀的應(yīng)用開發(fā)工具之一。在提 供可視化的編程方式的同時(shí),Visual C+也適用于編寫直接對(duì)系統(tǒng)底層操作的程序,生成代碼的質(zhì)量也優(yōu)于其它的開發(fā)工具。在Visual C+環(huán)境下,利用 Microsoft 的基本類庫(kù) MFC(Microsoft Foundation Class Library), 可以使用完全的面向?qū)ο蟮姆椒▉?lái)進(jìn)行Windows 95/98/NT 應(yīng)用程序的開發(fā),使得Windows 程序員從大量的復(fù)雜勞動(dòng)中解救出來(lái),體會(huì)到真正的程序語(yǔ)言的強(qiáng)大功能和良好的靈活性。Visual C+編程是一個(gè)面向?qū)ο蟮某绦蛟O(shè)計(jì)方法。同傳統(tǒng)的結(jié)構(gòu)化程序設(shè)計(jì)方法相比,它縮短軟件的

11、研制時(shí)間,提高軟件的開發(fā)效率,使程序員可以更好地理解和管理龐大而復(fù)雜的程序。面向?qū)ο蟮某绦蛟O(shè)計(jì)吸取了結(jié)構(gòu)化程序設(shè)計(jì)的精華,它利用了人們根據(jù)對(duì)事物分類和抽象的傾向,引入了類和對(duì)象的概念,具有封裝性(數(shù)據(jù)抽象)、繼承和多態(tài)的特點(diǎn)。與結(jié)構(gòu)化程序設(shè)計(jì)不同的是,面向?qū)ο蟪绦蛟O(shè)計(jì)是用類抽象代表現(xiàn)實(shí)的實(shí)體,用類之間的繼承關(guān)系表示程序設(shè)計(jì)的抽象過(guò)程。函數(shù)只是對(duì)數(shù)據(jù)的操作, 沒有數(shù)據(jù)的概念,而類是數(shù)據(jù)和數(shù)據(jù)操作的集合,由于面向?qū)ο蟮某绦蛟O(shè)計(jì)方法非常近現(xiàn)實(shí),所以越來(lái)越流行。Visual C+中集成了大量的最新技術(shù),如ActiveX 、 COM等技術(shù),程序開發(fā)人員可以緊緊地把握住軟件開發(fā)技術(shù)發(fā)展的方向,開發(fā)出功能強(qiáng)

12、大的應(yīng)用程序。 Visual C+還提供了豐富的技術(shù)資源,MSDN(Microsoft DevelopNetwork) 提供 了強(qiáng)大的聯(lián)機(jī)幫助支持,同時(shí)還可以通過(guò)訪Microsoft的網(wǎng)上站點(diǎn)來(lái)獲得最新的技術(shù)文檔。( 1) Socket 及 Window Socket API 簡(jiǎn)介 套接字(Socket)是一種雙向的通信接口,可以通過(guò)這個(gè)端口與任何一個(gè)具有 Socket端口的計(jì)算機(jī)通信,套接字是網(wǎng)絡(luò)通信的基礎(chǔ)。Socket 在 Windows以 句柄的形式被創(chuàng)建。使用Socket 進(jìn)行網(wǎng)絡(luò)通信必須包含下面的幾種信息:雙方認(rèn)可的協(xié)議,本地主機(jī)的IP 地址,本地進(jìn)程的協(xié)議端口,對(duì)方主機(jī)的IP 地址

13、, 對(duì)方進(jìn)程的協(xié)議端口。Socket 可分為:1 數(shù)據(jù)報(bào)套接字( Datagram Sockets) 對(duì)于在 TCP/IP上實(shí)現(xiàn)的WinSock,數(shù)據(jù)報(bào)套接字使用用戶數(shù)據(jù)報(bào)協(xié)議(UDP) 。數(shù)據(jù)報(bào)套接字提供了一種不可靠的、非連接的數(shù)據(jù)包通信方式。2 流式套接字(Stream Sockets) 流式套接字使用傳輸控制協(xié)議(TCP)。流式套接字可以將數(shù)據(jù)按順序無(wú)重復(fù)地發(fā)送到目的地, 它提供的是一種可靠的、面向連接的數(shù)據(jù)傳輸方式。不管是對(duì)單個(gè)的數(shù)據(jù)報(bào),還是對(duì)數(shù)據(jù)包,流式套接字都提供了一種流式數(shù)據(jù)傳輸。4.3 加解密原理DES 將明文分成64比特大小的眾多數(shù)據(jù)塊,即分組長(zhǎng)度為64位,同時(shí)用56 位密鑰

14、對(duì)64 位明文信息加密,最終形成64 位密文。如果明文長(zhǎng)度不足64 位,則將其擴(kuò)展為64 位(例如補(bǔ)零等方法)。具體加密算法過(guò)程首先是將輸入的數(shù)據(jù)進(jìn)行初始換位(IP) ,將明文M 中數(shù)據(jù)的排列順序按一定的規(guī)則重新排列,生成新的數(shù)據(jù)序列,以打亂原來(lái)的次序。然后將交換后的數(shù)據(jù)平分成左右兩部分,左邊記為L(zhǎng)0,右邊記為R0,然后對(duì)R0施行在子密鑰(由加秘密鑰產(chǎn)生)控制下的變換f, 結(jié)果記為f(R0,K1,),再與L0做逐位異或運(yùn)算,其結(jié)果記為R1, R0 則坐下一輪的L 1。如此循環(huán)16輪,最后得到L16、 R16,再對(duì)L16、 R16施行逆運(yùn)算初始置換IP-1, 即可得到加密數(shù)據(jù)。解密過(guò)程與此 類似,不同之處在于子密鑰的使用順序正好相反。子秘鑰產(chǎn)生流程五、設(shè)計(jì)步驟5.1 體系結(jié)構(gòu)設(shè)計(jì)一般的通信工具,都采用客戶端/ 服務(wù)器體系結(jié)構(gòu),本程序也不例外??蛻舳?服務(wù)器結(jié)構(gòu)的具體結(jié)構(gòu)是這樣的:它包含客戶端和服務(wù)器端; 客戶端訪問和處理服務(wù)器上的數(shù)據(jù),服務(wù)器接收和處理客戶端的數(shù)據(jù)請(qǐng)求。這種模式的好處就是可以將一個(gè)系統(tǒng)分為兩個(gè)獨(dú)立的部分進(jìn)行開發(fā)設(shè)計(jì),便于軟件開發(fā)。而且也把一個(gè)軟件的功能交給兩個(gè)部分去完成,則更加有效的利用了系統(tǒng)資源。5.2 功能能模塊設(shè)計(jì)由于本系統(tǒng)采用C/S 模式, 所以對(duì)功能模塊進(jìn)行劃分時(shí),就需要分服務(wù)器和客戶端兩部分進(jìn)行。服務(wù)器有信息輸入模塊、信息接收模塊和通信對(duì)象模

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論