freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計-基于對稱密碼的加密算法設(shè)計-資料下載頁

2024-12-03 18:53本頁面

【導(dǎo)讀】本科畢業(yè)設(shè)計(論文). 隨著信息技術(shù)的發(fā)展,人們在享受信息資源所帶來的巨大的利益的時,也面。臨著信息安全的嚴(yán)峻考驗,信息安全已經(jīng)成為世界性的現(xiàn)實問題,同時,信息安。全問題也是人們能否護(hù)自己的個人隱私的關(guān)鍵,于是,信息加密就變得尤為重要。本文首先介紹了對稱加密算法的研究意義和研究背景,接著說明了密碼原理。與DES加密原理,著重介紹了DES加密算法的原理步驟,核心算法主要分為子密。鑰的生成和加密流程循環(huán),其中子密鑰核心為置換和移位,主流程序主要包括。16次迭代,F(xiàn)函數(shù),S盒運算等,再次,介紹matlab的使用和基于matlab的算。法編程以及matlabgui的生成及界面的友好性和美觀化設(shè)置,最后討論了同類。本論文最終實現(xiàn)能在matlab用戶界面上任意輸入加密數(shù)據(jù)和密鑰,經(jīng)加密。后輸出16位十六進(jìn)制密文數(shù)據(jù)。

  

【正文】 用程序?qū)氲?MATLAB函數(shù)庫中方便自己以后調(diào)用,此外許多的 MATLAB 愛好者都編寫了一些經(jīng)典的程序,用戶可以直接進(jìn)行下載就可以用。 MATLAB 由一系列工具組成。這些工具方便用戶使用 MATLAB 的函數(shù)和文件,其中許多工具采用的是圖形用戶界面。包括 MATLAB 桌面和命令窗口、歷史命令窗口、編輯器和調(diào)試器、路徑搜索和用于用戶瀏覽幫助、工作空間、文件的瀏覽器。隨著 MATLAB 的商業(yè)化以及軟件本身的不斷升級, MATLAB 的用戶界面也越來越精致,更加接近 Windows 的標(biāo)準(zhǔn)界面,人機交互性更強,操作更簡單。而且新版本的 MATLAB 提供了完整的聯(lián)機查詢、幫助系統(tǒng),極大的方便了用戶的使用。簡單的編程環(huán)境提供了比較完備的調(diào)試系統(tǒng),程序不必經(jīng)過編譯就可以直接 運行,而且能夠及時地報告出現(xiàn)的錯誤及進(jìn)行出錯原因分析。 西安工業(yè)大學(xué)畢業(yè)設(shè)計 (論文 ) 21 Matlab 一個高級的矩陣 /陣列語言,它包含控制語句、函數(shù)、數(shù)據(jù)結(jié)構(gòu)、輸入和輸出和面向?qū)ο缶幊烫攸c。用戶可以在命令窗口中將輸入語句與執(zhí)行命令同步,也可以先編寫好一個較大的復(fù)雜的應(yīng)用程序( M文件)后再一起運行。新版本的 MATLAB 語言是基于最為流行的 C++語言基礎(chǔ)上的,因此語法特征與 C++語言極為相似,而且更加簡單,更加符合科技人員對數(shù)學(xué)表達(dá)式的書寫格式。使之更利于非計算機專業(yè)的科技人員使用。而且這種語言可移植性好、可拓展性極強, 這也是 MATLAB 能夠深入到科學(xué)研究及工程計算各個領(lǐng)域的重要原因。 MATLAB 是一個包含大量計算算法的集合。其擁有 600 多個工程中要用到的數(shù)學(xué)運算函數(shù),可以方便的實現(xiàn)用戶所需的各種計算功能。函數(shù)中所使用的算法都是科研和工程計算中的最新研究成果,而前經(jīng)過了各種優(yōu)化和容錯處理。在通常情況下,可以用它來代替底層編程語言,如 C 和 C++ 。在計算要求相同的情況下,使用 MATLAB 的編程工作量會大大減少。 MATLAB 的這些函數(shù)集包括從最簡單最基本的函數(shù)到諸如矩陣,特征向量、快速傅立葉 變換的復(fù)雜函數(shù)。函數(shù)所能解決的問題其大致包括矩陣運算和線性方程組的求解、微分方程及偏微分方程的組的求解、符號運算、傅立葉變換和數(shù)據(jù)的統(tǒng)計分析、工程中的優(yōu)化問題、稀疏矩陣運算、復(fù)數(shù)的各種運算、三角函數(shù)和其他初等數(shù)學(xué)運算、多維數(shù)組操作以及建模動態(tài)仿真等。 MATLAB 自產(chǎn)生之日起就具有方便的數(shù)據(jù)可視化功能,以將向量和矩陣用圖形表現(xiàn)出來,并且可以對圖形進(jìn)行標(biāo)注和打印。高層次的作圖包括二維和三維的可視化、圖象處理、動畫和表達(dá)式作圖。可用于科學(xué)計算和工程繪圖。新版本的MATLAB 對整個圖形處理 功能作了很大的改進(jìn)和完善,使它不僅在一般數(shù)據(jù)可視化軟件都具有的功能(例如二維曲線和三維曲面的繪制和處理等)方面更加完善,而且對于一些其他軟件所沒有的功能(例如圖形的光照處理、色度處理以及四維數(shù)據(jù)的表現(xiàn)等), MATLAB 同樣表現(xiàn)了出色的處理能力。同時對一些特殊的可視化要求,例如圖形對話等, MATLAB 也有相應(yīng)的功能函數(shù),保證了用戶不同層次的要求。另外新版本的 MATLAB 還著重在圖形用戶界面( GUI)的制作上作了很大的改善,對這方面有特殊要求的用戶也可以得到滿足。(圖 4)西安工業(yè)大學(xué)畢業(yè)設(shè)計 (論文 ) 22 圖 4. Matlab GUI 工具介紹: Matlab GUI 是 Matlab 用戶圖形界面設(shè)計工具,是幫助用戶實現(xiàn)目的圖形的良好工具,具有操作簡單,容易掌握,界面友好,互動性強,而且會生成大量的系統(tǒng)代碼,用戶只需要進(jìn)行簡單的設(shè)計,進(jìn)行簡單的編程語言就可以達(dá)成較好的效果,而且編程非常簡單易學(xué) (圖 5) 具體步驟 M語言代碼 callback下編寫需要 的回調(diào)函數(shù) ,調(diào)試,運行。 圖 5. Matlab GUI 初始界面 西安工業(yè)大學(xué)畢業(yè)設(shè)計 (論文 ) 23 使用 Matlab GUI 工具生成 , 文件。 步驟: ① file— newguiguide quick start— black gui— ok. ② — edit text/static text/pullbutton/. ③ 控件屬性設(shè)置 . ④ mfile edit/run. (圖 6) 圖 6. 生成加密算法 GUI界面 DES加密過程圖示: 輸入有誤時界面提示 明文數(shù)據(jù) data,密鑰 keyword 至少有一個為空時,運行結(jié)果 出現(xiàn)提示 。data cannot be empty// keyword cannot be empty。 (圖 7,圖 8,圖 9) 西安工業(yè)大學(xué)畢業(yè)設(shè)計 (論文 ) 24 圖 7. 明文,密鑰均未輸入時界面 圖 8. 密 鑰未輸入時界面 西安工業(yè)大學(xué)畢業(yè)設(shè)計 (論文 ) 25 圖 9. 明文未輸入時界面 輸入無誤時,輸出正確答案 明文數(shù)據(jù) data,密鑰 keyword 輸入任意字符串,運行結(jié)果 Result 端輸出合法結(jié)果 如圖 (圖 10,圖 11,圖 12) 圖 10. 密鑰,明文輸入正確時界面 西安工業(yè)大學(xué)畢業(yè)設(shè)計 (論文 ) 26 圖 11. 密鑰,明文任意輸入時界面 1 圖 12. 密鑰,明文任意輸入時界面 2 西安工業(yè)大學(xué)畢業(yè)設(shè)計 (論文 ) 27 DES 加密過程 matlab 主要函數(shù) function C=endes(key,data) 功能:用密碼 key 對 data 做 endes加密 輸入: data 一維向量 64位二進(jìn)制長 8個英文字母長 Key 一維向量 56 位二進(jìn)制長 7個英文字母長 ef 實整數(shù)取值范圍 116 指示返回第 i 輪加密過程相關(guān)中間值及結(jié)果 說明: pf, pw 要以字符串的形式輸入。 輸出: result 一維向量 加密結(jié)果。 function ki=gk (key) 功能:實現(xiàn) des 加密過程中從 56 位的 K密鑰產(chǎn)生 16 個 48位 Ki 子密鑰 輸入 : k 56 位長的行向量 存儲 56位主密鑰 K 輸出: ki 16*48 的矩陣存儲 16 個 48位子密鑰。 function nk=mr(k,n) 功能:實現(xiàn)對輸入向量 k,循環(huán)左移 n位 輸入: k 一維向量 輸出: nk 一維向量 循環(huán)左移結(jié)果。 function bin=str2bin(str,k,flag) 功能:字符串轉(zhuǎn)二進(jìn)制串 ,字符串中每個字符對應(yīng) 8 位二進(jìn)制字符 輸入: str 字符向量 ascii 字符串 輸出: bin 字符向量 二進(jìn)制字符串 flag 正整數(shù) 用以說明是否在二進(jìn)制串中每隔 k位加一位奇偶校 驗位, 0表示不加, 1表示加奇校驗位, 2表示加偶校驗位 k 正整數(shù) 參與每次奇偶校驗位運算的 bit 位數(shù) 說明: 當(dāng) length(str)*8 mod k!=0時,對 bin二進(jìn)制串最后 length(str)*8 mod k 位補零到 k位后再做奇校驗 function so=rebit(si,k) 功能:將 si中的位根據(jù)置換表 k進(jìn)行置換 輸入: si 一維字符類型向量 要做位置換處理的串 k 一維字符類型向量 置換表 輸出: so 一維字符類型向量 si 置換后的結(jié)果 function so=sbox(si) 功能:模擬 si 通過 s盒處理 輸入 : si 一維向量 48 位長 西安工業(yè)大學(xué)畢業(yè)設(shè)計 (論文 ) 28 輸出 : so 一維向量 32 位長 function str=bin2str(bin) 功能:二進(jìn)制串轉(zhuǎn)字符串 ,8 位二進(jìn)制字符對應(yīng)字符串中一個字符 輸入: bin 字符向量 二進(jìn)制字符串 輸出: str 字符向量 ascii 字符串 varargout = endes(varargin) %主函數(shù) 2. function pushbutton1_Callback(hObject, eventdata, handles) %回調(diào)函數(shù) 3. MB=get(,39。String39。)。 %接收 edit1 的字符 4. for i=1:16 %接收密鑰 Mi=MB(i)。 MBi=[39。000139。,dec2hex(str2num(Mi))]。 MBi=MBi(end3:end)。 MBi=[str2num(MBi(1)),str2num(MBi(2)),str2num(MBi(3)),str2num(MBi(4))]。 MB=[MB,MBi]。 End 5. E0=reshape(E39。,1,48)。 %把 E 盒轉(zhuǎn)換成行向量 R_E=R(E0)。 %E 盒擴展 R_Ki=mod(R_E+Ki(i,:),2)。 % 加密循環(huán)實現(xiàn) (,39。String39。,C)。 %保存 text4 的字符輸出 測試分析 經(jīng)過不斷的測試與修改,該程序算法實現(xiàn)步驟是基于 matlab gui 實現(xiàn),程序已經(jīng) 可以很好的滿足課設(shè)的要求,所預(yù)計的各功能都能實現(xiàn),比如說: 14096 個字符的任意長度字符串 ,程序?qū)霈F(xiàn)提示用戶輸入 . 16 進(jìn)制字符顯示 . 相同課題優(yōu)秀成果討論 作者用 C 語言的 MFC 編寫的 DES 加密解密工具具有以下優(yōu)勢: 首先,既可以實現(xiàn)加密,解密功能,還可以實現(xiàn) DES/3DES 的選擇,當(dāng)選擇3DES 時,出現(xiàn)密鑰 2 輸入框,實現(xiàn)輸入后,密鑰確定,再在明文輸入框中輸入西安工業(yè)大學(xué)畢業(yè)設(shè)計 (論文 ) 29 明文數(shù)據(jù),再次選擇密文輸出數(shù)制,任意輸入后,選擇‘加密’按鈕,實現(xiàn) 加密過程,界面清晰有好,實現(xiàn)功能齊全,是一個比較優(yōu)秀的作品。 在 DES 的算法中,可以把 F 函數(shù)自己定義成為線性關(guān)系,這樣可以大大減小DES 的設(shè)計難度。在此例子中作者就選擇了一種線性對應(yīng)關(guān)系給每個字符都對應(yīng)二進(jìn)制代碼,編程簡單,但最大的缺點就是會影響運行速度,浪費內(nèi)存資源。 另外,一個最大的優(yōu)勢就是此作品為自運行文件( *.Exe)不需要任何軟件平臺就可以實現(xiàn)功能。 (圖 13) 圖 13. 密文 16進(jìn)制顯示 DES界面 其次, 密文用二進(jìn)制輸出就可以增加輸出結(jié)果的位 數(shù),這給破譯該來很大的難度,因為密碼破譯難度和密文位數(shù)成幾何關(guān)系增長,這樣就可以較好的保護(hù)數(shù)據(jù),可是同時,又可以用奇偶校驗法對數(shù)據(jù)實現(xiàn)檢糾錯,又是數(shù)據(jù)處于危險之中,這就告訴我們這些方法不能單獨使用,必須配合才能較好的保護(hù)數(shù)據(jù)。 (圖 14) 西安工業(yè)大學(xué)畢業(yè)設(shè)計 (論文 ) 30 圖 所以,在使用 3DES 同時用兩個密鑰對數(shù)據(jù)加密,就會更好的保護(hù)數(shù)據(jù) ,只用一個密鑰是無法破譯出數(shù)據(jù)的,這也是現(xiàn)在普遍使用的一種加密方法,具有較高的實用性和普遍性。 (圖 15) 圖 15. 3DES加密時界面 再對同樣使用 MATLAB 實現(xiàn)加解密文件及字符串程序進(jìn)行簡單的討論: 首先討論文件夾解密:確定文件存放地址,輸入密鑰,再確定加密,解密后西安工業(yè)大學(xué)畢業(yè)設(shè)計 (論文 ) 31 文件存放地址,確定后,對其實施加密,解密操作 。 再介紹字符串加解密:字符串任意輸入 最多 8 個字符 , 密鑰為數(shù)子類型,且為 7 個字符,不支持漢字輸入 。 此作品不但實現(xiàn)了字符串加密,還可以對文件進(jìn)行加解密,功能比較齊全,這是我的論文沒能具備的,是我學(xué)習(xí)的地方,可同樣也有不完備之處,比如輸入有較大限制,密鑰必須是數(shù)字,且位數(shù)都有 限制,本論文對此問題做了較好的解決。 (圖 16) 圖 16. 能進(jìn)行文本加密的 DES加密界面 本章主要是 DES 算法基于 matlab 平臺的實現(xiàn), 包括 matlab 介紹,用戶界面設(shè)計,界面化處理,基于此平臺下 DES 加密算法運行成果,算法中主要函數(shù)討論,相同課題優(yōu)秀作品討論。心得體會 32 心得體會 畢業(yè)設(shè)計作為 對在校大學(xué)生最后一次知識的全面檢驗,是對學(xué)生基本知識、基本理論和基本技能掌握與提高程度的一次總測試。大學(xué)生在學(xué)習(xí)期間,
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1