下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、無關于凱撒密碼的實現(xiàn)原理關于凱撒密碼的實現(xiàn)原理班級:姓名:學號:指導老師:一、一、設計要求說明設計要求說明1、 設計一個凱撒密碼的加密和解密的程序設計一個凱撒密碼的加密和解密的程序,要求輸入一段字符和密碼要求輸入一段字符和密碼,輸出相應的密文輸出相應的密文,完成加密過程完成加密過程;若輸入被加密的密文及解密密鑰,能還原出原文,完成解密。若輸入被加密的密文及解密密鑰,能還原出原文,完成解密。2、 語言不限,工具不限,獨立完成,參加答辯。語言不限,工具不限,獨立完成,參加答辯。3、 嚴格按照格式的要求完成文檔,在第六部分的運行結果分析中,要求抓圖說明。嚴格按照格式的要求完成文檔,在第六部分的運行結
2、果分析中,要求抓圖說明。二、二、基礎知識介紹基礎知識介紹凱撒密碼的歷史凱撒密碼的歷史凱撒密碼(caeser)是羅馬擴張時期朱利斯凱撒(Julius Caesar)創(chuàng)造的,用于加密通過信使傳遞的作戰(zhàn)命令。它將字母表中的字母移動一定位置而實現(xiàn)加密。古羅馬隨筆作家修托尼厄斯在他的作品中披露,凱撒常用一種“密表”給他的朋友寫信。這里所說的密表,在密碼學上稱為“凱撒密表”。用現(xiàn)代的眼光看,凱撒密表是一種相當簡單的加密變換,就是把明文中的每一個字母用它在字母表上位置后面的第三個字母代替。古羅馬文字就是現(xiàn)在所稱的拉丁文,其字母就是我們從英語中熟知的那 26 個拉丁字母。因此,凱撒密表就是用 d 代 a,用
3、e 代 b,用 z 代 w。這些代替規(guī)則也可用一張表格來表示,所以叫“密表”。基本原理基本原理在密碼學中存在著各種各樣的置換方式,但所有不同的置換方式都包含 2 個相同的元素。密鑰和協(xié)議(算法)。凱撒密碼的密鑰是 3,算法是將普通字母表中的字母用密鑰對應的字母替換。置換加密的優(yōu)點就在于它易于實施卻難于破解. 發(fā)送方和接收方很容易事先商量好一個密鑰,然后通過密鑰從明文中生成密文,即是敵人若獲取密文,通過密文直接猜測其代表的意義,在實踐中是不可能的。凱撒密碼的加密算法極其簡單。其加密過程如下:在這里,我們做此約定:明文記為 m,密文記為 c,加密變換記為 E(k1,m)(其中 k1 為密鑰) ,解
4、密變換記為 D(k2,m)(k2 為解密密鑰) (在這里 k1=k2,不妨記為 k) 。凱撒密碼的加密過程可記為如下一個變換:cm+k mod n(其中 n 為基本字符個數(shù))同樣,解密過程可表示為:mc+k mod n(其中 n 為基本字符個數(shù))對于計算機而言,n 可取 256 或 128,m、k、c 均為一個 8bit 的二進制數(shù)。顯然,這種加密算法極不安全,即使采用窮舉法,最多也只要 255 次即可破譯。當然,究其本身而言,仍然是一個單表置換,因此,頻率分析法對其仍是有效的。加密解密算法加密解密算法愷撒密碼的替換方法是通過排列明文和密文字母表,密文字母表示通過將明文字母表向左或向右移動一個
5、固定數(shù)目的位置。例如,當偏移量是左移 3 的時候(解密時的密鑰就是 3) :明文字母表:ABCDEFGHIJKLMNOPQRSTUVWXYZ密文字母表:DEFGHIJKLMNOPQRSTUVWXYZABC使用時,加密者查找明文字母表中需要加密的消息中的每一個字母所在位置,并且寫下密文字母表中對應的字母。需要解密的人則根據(jù)事先已知的密鑰反過來操作,得到原來的明文。例如:明文:THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG密文:WKH TXLFN EURZQ IRA MXPSV RYHU WKH ODCB GRJ愷撒密碼的加密、解密方法還能夠通過同余數(shù)的數(shù)學
6、方法進行計算。首先將字母用數(shù)字代替,A=0,B=1,.,Z=25。此時偏移量為 n 的加密方法即為:無E (x)= (x+n) mod 2解密就是:D (x)= (x-n) mod 2三、三、環(huán)境介紹環(huán)境介紹編程語言編程語言C 語言編譯環(huán)境編譯環(huán)境Microsoft Visual Studio 2010操作系統(tǒng)操作系統(tǒng)Windows ,四、四、思路以及算法分析思路以及算法分析定義兩個字符數(shù)組 char p1000和 char c1000,用來存放明文和密文。定義一個 key,表示移位的個數(shù)。這是加密解密的關鍵。綜合考慮到在密表尾部的字母加密或解密的時候會循環(huán)移動到密表頭部, 所以加密、 解密語
7、句分別為:ci=(pi-a+key)%26+a向后移動 keypi=z-(z+key-ci)%26向前移動 key五、五、源程序代碼源程序代碼#includevoid main()char p1000;char c1000;int key,i,m;key=5;/*定義一個移位個數(shù)為 5,即加密向右移 5 位,解密則相反*/printf(please input the Plaintext: n);gets(p);/*讀取字符串,直至接受到換行符停止,并將讀取的結果存放在 p1000中。換行符不作為讀取串的內(nèi)容,讀取的換行符被轉(zhuǎn)換為 null 值,并由此來結束字符串。*/for(i=0;pi!=
8、0;i+)ci=(pi-a+key)%26+a;/*加密算法,所有明文符號由向右移 5 位的密文代替*/ci=0;printf(the Ciphertext is:n%sn,c);/*輸出加密后的密文*/printf(please input the Ciptertext:n);gets(c);/*讀取字符串,直至接受到換行符停止,并將讀取的結果存放在 c1000中。換行符不作為讀取串的內(nèi)容,讀取的換行符被轉(zhuǎn)換為 null 值,并由此來結束字符串。*/for(i=0;ci!=0;i+)pi=z-(z+key-ci)%26;/*解密算法,所有明文符號由向左移 5 位的明文代替*/pi=0;pri
9、ntf(the Plaintext is:n%sn,p);/*輸出解密后的明文*/無return;六、六、運行結果分析運行結果分析試對明文試對明文 security 進行加密,再將其解密:進行加密,再將其解密:輸入明文 security:回車后,輸出加密后的密文:xjhzwnyd無輸入 security 的密文“xjhzwnyd” :回車后出現(xiàn)解密后的明文 security:無七、七、總結與不足總結與不足程序是在幾個小時內(nèi)測試運行成功的。凱撒密碼是密碼學中,一種最簡單的加密算法。原理并不復雜,只要理解了,實現(xiàn)起來并不困難。程序并不長,基本實現(xiàn)了對于凱撒密碼的加密和解密過程。但其中還存在很多不足,比如,這段代碼并沒有給出當遇到空格或者別的符號的處理方法,又比如代碼只給出了當字符是在 a 到 z 的情況下的解決方法,而從 A 到 Z 則沒有給出等等。因此,還有很多地方還可以進行改進:1.可以在開始設置一個選擇,是進行加密還是解密;2.可以將 key 設為一個整型變量,在程序運行開始時,需要用戶輸入 key 值,再根據(jù) key 值進行加密解密。這樣,凱撒密碼就可以變得更加靈活??傮w來說,從開始編寫、修改凱撒密碼的程序到最終調(diào)試成功,還算比較順利,也體會到了一點密碼
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 治療計劃的設計與實施過程
- 艾滋病培訓課程
- 乳房再造課件教學課件
- 幼兒園成長檔案
- 狂犬病健康教案
- 氟哌啶醇藥物治療護理
- 脫稿蝴蝶課件教學課件
- 3.1.1 鹽類的水解 課件 高二上學期化學人教版(2019)選擇性必修1
- 醫(yī)院感染流行病學
- 致心律失常型右室心肌病
- 抖音取消實名認證申請書
- 數(shù)學建模第02章_簡單的優(yōu)化模型
- 高中英語語法 主謂一致(27張)ppt課件
- 采購管理實務習題答案項目二采購需求分析與計劃制定
- MSA-GRR數(shù)據(jù)自動生成工具
- 教育信息化設備投入使用管理情況自查自糾報告
- 二年級上冊音樂全冊教案(湘教版)
- 沖擊材料特性
- VDA6.3過程審核表
- 我和我的祖國歌詞和簡譜(共2頁)
- H型鋼最新尺寸規(guī)格表大全(共3頁)
評論
0/150
提交評論