仿射密碼實驗報告

仿射密碼實驗報告

ID:24932289

大小:55.50 KB

頁數(shù):4頁

時間:2018-11-17

仿射密碼實驗報告_第1頁
仿射密碼實驗報告_第2頁
仿射密碼實驗報告_第3頁
仿射密碼實驗報告_第4頁
資源描述:

《仿射密碼實驗報告》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。

1、實驗報告姓名:1111學(xué)號:22222班級:2222日期:2013211古典密碼(仿射密碼)一、實驗環(huán)境1.硬件配置:處理器:Corei5M450@2.40GHZ,內(nèi)存2GB,主硬盤320G2.使用軟件:(1)操作系統(tǒng):win7(2)軟件工具:MicrosoftVisualC++6.0二、實驗設(shè)計的相關(guān)概念或基本原理1.仿射密碼的基本思想:加法密碼和乘法密碼結(jié)合就構(gòu)成仿射密碼,仿射密碼的加密和解密算法是:  C=Ek(m)=(k1m+k2)modn  M=Dk(c)=k1(c-k2)modn o仿射密碼具有可逆性的條件是gcd(k,n

2、)=1。當(dāng)k1=1時,仿射密碼變?yōu)榧臃艽a,當(dāng)k2=0時,仿射密碼變?yōu)槌朔艽a?!仿射密碼中的密鑰空間的大小為nφ(n),當(dāng)n為26字母,φ(n)=12,因此仿射密碼的密鑰空間為12×26=312。三、實驗內(nèi)容根據(jù)實驗原理的介紹,創(chuàng)建一個明文信息,再確定k1,k2,編寫實現(xiàn)程序,實現(xiàn)加密和解密操作。實驗流程圖:四、實驗總結(jié)分析關(guān)鍵代碼:1.輾轉(zhuǎn)相除法求y,z的最大公因數(shù):intgcd(inty,intz){intk=0;do{k=y%z;y=z;z=k;}while(k!=0);returny;}2.求a相對于b的逆intNi(in

3、ta,intb){inti=0;while(a*(++i)%b!=1);returni;}1.加密算法if(a[i]>96&&a[i]<123)b[i]=(k1*(a[i]-97)+k2)%26+65;elseif(a[i]>64&&a[i]<91)b[i]=(k1*(a[i]-65)+k2)%26+65;2.解密算法if(b[i]>64&&b[i]<91)tmp=Ni(k1,26)*((b[i]-65)-k2);if(tmp<0)a[i]=tmp%26+26+97;elsea[i]=tmp%26+97;結(jié)果顯示:5.小結(jié)仿射密碼的加

4、密較一般的古典密碼更難以破解一些,因為它的密鑰空間相對較大。在研究加密思想的過程中,我編程遇到的主要難題是如何求逆元的過程。我在不斷查詢各種資料,復(fù)習(xí)了線性代數(shù)的相關(guān)知識以后,決定將幾種求法都上機調(diào)試了一遍,并參考了前人編寫的各種代碼實現(xiàn)方法,最終選定了其中一種我認(rèn)為簡單易行的方法。由于我設(shè)置了要求輸入明文或者密文時以“#”號結(jié)尾,故當(dāng)我嘗試著故意忘記輸入結(jié)尾符號時,發(fā)現(xiàn)程序出現(xiàn)不可預(yù)知的錯誤,會跳出亂碼。由此我體會到,一個好的開發(fā)軟件必須從用戶的角度,考慮各種用戶可能輸入的各種情況,進行報錯或者修正,這樣才具有可靠性。

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

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

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