現(xiàn)代密碼學課程設(shè)計

ID:35625192

大?。?08.50 KB

頁數(shù):19頁

時間:2019-04-03

現(xiàn)代密碼學課程設(shè)計_第1頁
現(xiàn)代密碼學課程設(shè)計_第2頁
現(xiàn)代密碼學課程設(shè)計_第3頁
現(xiàn)代密碼學課程設(shè)計_第4頁
現(xiàn)代密碼學課程設(shè)計_第5頁
資源描述:

《現(xiàn)代密碼學課程設(shè)計》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學術(shù)論文-天天文庫

1、現(xiàn)代密碼學課程(設(shè)計)題目:現(xiàn)代密碼學課程設(shè)計姓名:學號:192102-16院(系):計算機學院專業(yè):信息安全指導教師:職稱:評閱人:職稱:2012年12月19學校代碼:本科生學號:2中現(xiàn)代密碼學課程設(shè)計現(xiàn)代密碼學課程設(shè)計本學科專業(yè):信息安全二〇一二年十二月19第一章、引言5第二章、經(jīng)典密碼加密系統(tǒng)62.1仿射加密62.2Playfair加密72.3Vigenere加密92.4Hill密碼11第三章、ElGamal加密和簽名123.1算法資料123.2程序與算法133.3運行結(jié)果14第四章、Rabin加密和簽名144.1

2、算法資料144.2程序與算法154.3運行結(jié)果15第五章、RSA加密與解密165.1算法資料175.2程序與算法185.3運行結(jié)果第六章、結(jié)束語2019引言本文詳細敘述了古典密碼包括仿射密碼、Hill密碼、Vigenere密碼、Playfaire密碼,以及基于公鑰密碼的加密和簽名體制的內(nèi)在結(jié)構(gòu)并予以程序?qū)崿F(xiàn)。19實驗一經(jīng)典密碼加密系統(tǒng)2.1仿射密碼2.1.1算法資料加法密碼和乘法密碼結(jié)合就構(gòu)成仿射密碼,仿射密碼的加密和解密算法是:  C=Ek(m)=(k1m+k2)modn  M=Dk(c)=k3(c-k2)modn(其

3、中(k3×k1)mod26=1)  仿射密碼具有可逆性的條件是gcd(k1,n)=1。當k1=1時,仿射密碼變?yōu)榧臃艽a,當k2=0時,仿射密碼變?yōu)槌朔艽a。仿射密碼中的密鑰空間的大小為nφ(n),當n為26字母,φ(n)=12,因此仿射密碼的密鑰空間為12×26=312。2.1.2程序與算法//加密intjiami(intk1,intk2,intm,intg){intf=k1*g+k2;f=f%m;returnf;}//解密intjiemi(intk1,intk2,intm,intn){intf=niyuan(m,k1

4、)*(n-k2);f=f%m;returnf;}2.1.3運行結(jié)果192.2Playfair2.2.1算法資料Playfai算法r根據(jù)下列規(guī)則一次對明文的兩個字母進行加密。這兩個字母構(gòu)成一對。其加密規(guī)則如下:(1)一對明文字母如果是重復的,則在這對明文字母中間插入一個填充字符,如x。因此,單詞session將被分割成:sesssion.(2)如果分割后的明文字母對在矩陣的同一行中都出現(xiàn),則分別用矩陣中其右側(cè)的字母代替.行的最后一個字母山行的E第一個字母代替。例如,on被加密成qo.而st被加密為tn。(3)如果分割后的明

5、文字母對在矩陣的一列中都出現(xiàn),則分別用矩陣中其下方的字母代替.列的最后一個字母由列的第一個字母代替。例如,en被加密成nU.而aW被加密成ba。 (4)如果分割后的明文字母對既不在矩陣的同一列中都出現(xiàn)也不在矩陣的同一行中都出現(xiàn).密文是這兩個字母所在的長方形的另兩個頂點。例如,8e被加密成nk,而cu被加密成ix(或ix)。(5)如果明文有奇數(shù)個字母,末尾加一個無效字母。 2.2.2程序與算法19上述代碼主要是用來填充矩陣,首先將明文矩陣進行填充,也就是第一張圖片所顯示的,這是算法的關(guān)鍵,也是第一步所在。然后上面的算法中還

6、有因為是將明文兩兩分組,即每兩個明文分為一組,那么當明文為奇數(shù)的時候,就需要添加一個無關(guān)字符,使它可以達到偶數(shù)個,以方便分組。在算法設(shè)計過程中,我一共設(shè)計了兩個函數(shù),即decrypt()加密函數(shù),encrypt()解密函數(shù),main()主函數(shù)。主函數(shù)中調(diào)用加密函數(shù)和解密函數(shù),使程序可以比較順利的進行。1.34運行結(jié)果192.3Vigenere加密2.3.1算法資料1.首先使用維吉尼亞方陣,它的基本方陣是26列26行。方陣的第一行是a到z按正常順序排列的字母表,第二行是第一行左移循環(huán)一位得到得,其他各行依次類推。2.加密時

7、,按照密鑰字的指示,決定采用哪一個單表。例如密鑰字是bupt,加密時,明文的第一個字母用與附加列上字母b相對應的密碼表進行加密,明文的第二個字母用與附加列的字母u相對應的密碼表進行加密,依次類推。3.令英文字母a,b,…,z對應于從0到25的整數(shù)。設(shè)明文是n個字母組成的字符串,即m=m1m2m3m4…mn密鑰字周期性地延伸就給出了明文加密所需的工作密鑰K=k1k2…kn,E(m)=C=c1c2…cn加密:Ci=mi+kimod26解密:mi=ci-kimod26,i=1,2,3,…,n2.3.2程序與算法19加密算法的關(guān)

8、鍵是給出初始密鑰,例如第一個密鑰字母是e,對第一個明文字母p進行加密時,選用左邊附加列上的字母e對應的那一行作為代替密碼表,查處與p相對應的密文字母是T,依次類推即可得出明文。上述代碼中的生成密鑰部分為核心代碼,只有密鑰更長,才能保證密碼算法的可靠性。解密算法和加密算法只需要減去密鑰繼續(xù)模26即可得到。1.24運行結(jié)

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。
关闭