• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于C#的“密碼學(xué)”實驗演示系統(tǒng)的設(shè)計與實現(xiàn)

      2017-04-05 21:29蔡增玉劉消南馬琳琳甘勇尚志會
      計算機(jī)時代 2017年1期
      關(guān)鍵詞:密碼學(xué)

      蔡增玉 劉消南 馬琳琳 甘勇 尚志會

      摘要:針對密碼學(xué)課程復(fù)雜、抽象、學(xué)習(xí)難度很大的問題,設(shè)計和實現(xiàn)了基于C#的密碼學(xué)實驗演示系統(tǒng)。系統(tǒng)實現(xiàn)了密碼學(xué)知識的介紹,并實現(xiàn)了用DES算法、RSA算法、移位代換算法、置換密碼算法、MD5算法等算法進(jìn)行加密和解密的演示。測試及應(yīng)用結(jié)果表明,該系統(tǒng)具有常用加密算法的加密解密演示功能,對于密碼學(xué)課程學(xué)習(xí)和相關(guān)內(nèi)容的研究具有一定的幫助。

      關(guān)鍵詞:實驗演示;密碼學(xué);加密解密;系統(tǒng)實現(xiàn)

      中圖分類號:TP309

      文獻(xiàn)標(biāo)志碼:A

      文章編號:1006-8228(2017)01-57-03

      0.引言

      人們網(wǎng)絡(luò)安全意識日益增長,如何保證用戶個人信息安全成為了一個十分熱門的話題。數(shù)據(jù)加密是一個直接有效的保護(hù)信息安全的方法,而多數(shù)人對于數(shù)據(jù)加密還沒有特別深入的了解。在大學(xué)里,密碼學(xué)課程對很多學(xué)生而言是一門復(fù)雜抽象、學(xué)習(xí)枯燥、難度很大的課程。實驗演示系統(tǒng)由于其直觀性、交互性、動態(tài)性等優(yōu)勢,能夠提供學(xué)生的學(xué)習(xí)興趣和效果,因此開發(fā)對應(yīng)課程的實驗演示系統(tǒng)有重要的意義。為了讓學(xué)生能夠更好的學(xué)習(xí)密碼學(xué)相關(guān)內(nèi)容,本文給出了一款基于C#的密碼學(xué)實驗演示系統(tǒng)的設(shè)計與實現(xiàn),并給出了測試結(jié)果。測試結(jié)果表明,該系統(tǒng)能夠很好的對常見密碼學(xué)算法的加密/解密過程進(jìn)行演示,并實現(xiàn)了對信息及文件的加密/解密功能,完全符合設(shè)計之初的要求。

      1.密碼學(xué)課程概述

      密碼學(xué)是信息安全專業(yè)最重要的基礎(chǔ)課程之一,在很多高校都設(shè)有單獨的密碼學(xué)專業(yè)。密碼學(xué)研究范圍包括編制密碼和破譯密碼兩個部分。其中用來編制密碼,保證通信安全的是編碼學(xué);用來破譯密碼,截獲相關(guān)通信內(nèi)容的被稱作破譯學(xué),二者的總稱是密碼學(xué)。大學(xué)密碼學(xué)課程主要講授古典密碼學(xué)、分組密碼學(xué)、公鑰密碼學(xué)、密鑰分配與管理、信息認(rèn)證和雜湊算法、數(shù)字簽名,以及網(wǎng)絡(luò)加密與認(rèn)證等內(nèi)容。通過該課程,使學(xué)生學(xué)習(xí)到各種加/解密、散列函數(shù)、單向函數(shù)、簽名模式等知識。本文系統(tǒng)中主要是實現(xiàn)密碼學(xué)課程中所涉及到的加密解密算法的演示,包括對稱加密算法DES算法、非對稱加密算法RSA算法、古典的移位置換算法演示等,在一定程度上能夠方便學(xué)生對枯燥的加密算法的學(xué)習(xí)。

      2.系統(tǒng)的設(shè)計與實現(xiàn)

      2.1功能設(shè)計

      首先為了體現(xiàn)整個演示系統(tǒng)的完整性,在系統(tǒng)的開始利用窗體程序添加了登錄界面和歡迎界面,并且在最后添加了退出界面。其次在核心的加密算法功能的設(shè)計和實現(xiàn)上面采用了窗體復(fù)用技術(shù),即在一個窗體上實現(xiàn)對所有算法的演示鏈接,這樣的設(shè)計能夠讓用戶方便直觀的體驗系統(tǒng)的同時能夠?qū)Σ煌募用芩惴ㄓ幸粋€對比,加深對密碼學(xué)加密算法的了解和認(rèn)識。整個系統(tǒng)包括登錄界面、對密碼學(xué)知識的介紹、對稱加密算法DES算法的加密和解密、非對稱加密算法RSA算法加密和解密、以哈希算法為基礎(chǔ)的MD5算法、移位代換算法和置換密碼算法等的演示。其主要功能如圖1所示。

      整個系統(tǒng)的模塊部分除了基礎(chǔ)的登錄模塊,歡迎模塊和退出模塊之外,還包含了一個對加密知識的拓展模塊和五個不同加密算法的演示模塊。

      (1)加密知識拓展模塊:設(shè)計該模塊的主要目的是讓用戶在使用演示系統(tǒng)相關(guān)的功能之前,對一些與加密解密相關(guān)的基礎(chǔ)知識有一定的了解。

      (2)DES算法演示:DES算法是一種典型的對稱加密算法?;贑#的密碼學(xué)實驗演示系統(tǒng)僅選擇對典型的對稱加密算法DES算法進(jìn)行演示,演示的內(nèi)容包括對文字信息的加密/解密,以及對本地的文件通過相同的密鑰進(jìn)行加密和解密。

      (3)RSA算法演示:RSA算法屬于非對稱加密算法的一種。基于c#的密碼學(xué)實驗演示系統(tǒng)選擇進(jìn)行演示的非對稱加密算法是目前在密碼學(xué)中影響力比較大的RSA算法。介紹RSA算法實現(xiàn)的理論基礎(chǔ)及其優(yōu)缺點,并且對加密解密過程進(jìn)行了具體的演示。

      (4)MD5算法演示:MD5算法是一種利用哈希函數(shù)實現(xiàn)的加密算法。該算法不同于上面所介紹的DES算法和RSA算法,MD5算法只能是信息加密進(jìn)行加密,因此可以配合不對成加密用作數(shù)學(xué)簽名,來校檢信息在傳遞的過程中是否被修改。系統(tǒng)演示一個密鑰對一份加密內(nèi)容會產(chǎn)生惟一的一個哈希值,并且輸出加密后的密文。

      (5)移位代換算法演示:本系統(tǒng)演示的移位代換算法也稱為凱撒密碼,這是一種最為古老的加密體制。凱撒密碼所采用的基本思想是通過把需要加密的內(nèi)容中的字母向前或向后移動一定的位數(shù),將其變換成其他的字幕來達(dá)到加密的目的,由此可見,這種加密算法只能對字母進(jìn)行加密。在本系統(tǒng)中只設(shè)計了向后移動操作。

      (6)置換密碼演示:置換密碼算法同上述的移位代換算法同屬于古典密碼學(xué)內(nèi)容,其加密原理是不改變明文字符內(nèi)容,只是把明文字符的一段短語作為密鑰短語,根據(jù)密鑰短語的位數(shù)和短語中各字母的先后順序排序,同時構(gòu)建以密鑰短語長度為列數(shù)的二維數(shù)組,對應(yīng)著密鑰短語的下方將明文一一存入數(shù)組,按照密鑰短語中各字母對應(yīng)列的順序縱向讀出數(shù)組即為加密后的密文。本系統(tǒng)對這種算法提供了基本的簡介,同時提供了能夠?qū)崿F(xiàn)該算法的例子。

      2.2關(guān)鍵技術(shù)

      本演示系統(tǒng)采用的是C#的WinForm窗體做的主體,整個系統(tǒng)涉及的關(guān)鍵技術(shù)主要有Form窗體的傳值、WinForm窗體復(fù)用技術(shù)、文件加密技術(shù)以及對c#相關(guān)的加密解密方法。

      (1)Form窗體的傳值。c#不同的窗體間傳遞數(shù)據(jù),通??梢酝ㄟ^四種方式:通過公共靜態(tài)變量、使用共有屬性、使用委托與事件和通過構(gòu)造函數(shù)把主窗體傳遞到從窗體中。本系統(tǒng)使用的是最后的那種使用委托與事件,并通過構(gòu)造函數(shù)把主窗體傳遞到從窗體中。先在主窗體中設(shè)置一個button按鈕,通過點擊按鈕進(jìn)入到設(shè)置的Click事件,生成一個新的Form類,然后使用“show()”方法顯示新的窗體即可。

      (2)WinForm窗體復(fù)用技術(shù)。為了整個系統(tǒng)的集成度更高,在系統(tǒng)中采用了WinForm窗體復(fù)用技術(shù),即在一個大的窗體里多個小的窗體同時存在,互不干擾。本系統(tǒng)是在主窗體中設(shè)置一個TabContol控件,并且在這個控件中設(shè)置了六個TabPage實現(xiàn)不同窗體問的共存,方便用戶對比選擇演示不同的加密算法。

      (3)文件的加密解密技術(shù)。不同于一般的加密算法只能夠?qū)σ欢涡畔⑦M(jìn)行加密,本系統(tǒng)演示的DES算法可以對本地文件進(jìn)行加密和解密。要做到這一步首先要提取加密文件的路徑,然后讀取本地的加密文件,通過8位的密鑰對本地文件加密,最后再保存到本地。

      3.系統(tǒng)測試及分析

      3.1測試結(jié)果

      對基于c#的密碼學(xué)實驗演示系統(tǒng)進(jìn)行的功能測試主要是測試不同加密加密算法的加密解密效果,測試結(jié)果如表1所示。測試表明,系統(tǒng)所涉及的功能都能夠?qū)崿F(xiàn),達(dá)到了最初功能設(shè)計要求,能滿足用戶的需求,能夠讓學(xué)生更方便深入的接觸到加密解密過程,簡化學(xué)習(xí)密碼學(xué)的難度。

      3.2討論

      作為一個完整的演示系統(tǒng),該系統(tǒng)具有完整的結(jié)構(gòu),包括登錄和退出界面。系統(tǒng)的定位是面向普通的用戶,系統(tǒng)界面做的足夠清晰明了,使得沒有任何基礎(chǔ)的用戶也能夠方便的進(jìn)行操作。系統(tǒng)核心模塊的特點是:對五種不同的加密算法進(jìn)行了有側(cè)重的介紹和演示。比如根據(jù)對稱加密算法DES算法能夠進(jìn)行文件加密的特點添加了文件加密功能,對目前使用比較廣泛的RSA算法從介紹基本的實現(xiàn)原理到算法的優(yōu)缺點進(jìn)行了描述,然后對其加密解密過程進(jìn)行了演示。該系統(tǒng)可以作為一個教學(xué)的演示系統(tǒng),區(qū)別于傳統(tǒng)密碼學(xué)課程的單調(diào)和枯燥,能夠讓學(xué)生通過演示系統(tǒng)生動具體地學(xué)習(xí)到密碼學(xué)的相關(guān)知識,了解到不同加密算法的特點及其實現(xiàn)過程。

      4.結(jié)論

      本文針對密碼學(xué)課程復(fù)雜抽象、學(xué)習(xí)難度大的問題,研究并實現(xiàn)了基于c#的密碼學(xué)演示系統(tǒng),包括系統(tǒng)的需求分析,功能的設(shè)計與實現(xiàn),開發(fā)使用的相關(guān)工具和開發(fā)方案,以及在系統(tǒng)開發(fā)過程中使用的關(guān)鍵性的技術(shù),最后對系統(tǒng)的界面和功能進(jìn)行了測試。測試結(jié)果表明該系統(tǒng)界面友好,功能性完整,實現(xiàn)了密碼學(xué)課程中典型算法的演示。本文的研究能夠較為直觀地實現(xiàn)對密碼學(xué)課程有關(guān)算法的講解,具有很好的應(yīng)用價值。

      猜你喜歡
      密碼學(xué)
      圖靈獎獲得者、美國國家工程院院士馬丁·愛德華·海爾曼:我們正處于密鑰學(xué)革命前夕
      密碼學(xué)“微”課程實踐
      信息安全專業(yè)密碼學(xué)課程體系的建設(shè)
      密碼學(xué)課程教學(xué)中的“破”與“立”
      淺析密碼學(xué)在信息安全中的應(yīng)用
      密碼學(xué)綜述
      “不可破譯”的密碼
      應(yīng)用型本科高校密碼學(xué)課程教學(xué)方法探究
      矩陣在密碼學(xué)中的應(yīng)用
      面向應(yīng)用型人才培養(yǎng)的《密碼學(xué)》教學(xué)探討
      兴和县| 绥中县| 云安县| 桐乡市| 呼图壁县| 肃南| 云安县| 楚雄市| 桑日县| 华坪县| 天气| 淮阳县| 石渠县| 景泰县| 嘉义市| 普兰店市| 乌兰县| 库伦旗| 海阳市| 三穗县| 太和县| 汝城县| 临泉县| 陇西县| 祥云县| 内丘县| 甘肃省| 襄城县| 建昌县| 木里| 应城市| 读书| 唐海县| 同心县| 六枝特区| 开阳县| 内丘县| 古蔺县| 河西区| 宁波市| 买车|