版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
現(xiàn)代密碼學課程設計實驗報告-4300字
西安科技大學《現(xiàn)代密碼學》課程設計報告題目:密碼學計算器學院:計算機科學與技術(shù)學院班級:姓名:學號:日期:2015.1.8一.課程設計題目密碼學計算器的研究與實現(xiàn)二.分工對稱密碼程序?qū)崿F(xiàn)Des算法組長:古典密碼程序設計(置換)SHA算法ECC算法三.軟件運行環(huán)境Windows7操作系統(tǒng)visualC++四.算法設計思想1.古典密碼置換算法置換密碼算法的原理是不改變明文字符,只將字符在明文中的排列順序改變,從而實現(xiàn)明文信息的加密。置換密碼又稱為換位密碼。矩陣換位法是實現(xiàn)置換密碼的一種常用方法。它將明文中的字母按照給定的順序安排在一個矩陣中,然后又根據(jù)密鑰提供的順序重新組合矩陣中的字母,從而形成密文。例如,明文為attackbeginsatfive,密鑰為cipher,將明文按照每行6個字母的形式排在矩陣中,形成如下形式:attackbeginsatfive根據(jù)密鑰cipher中各字母在字母表中出現(xiàn)的先后順序,得到給定的一個置換:f=145326因此有:密鑰:145326明文:attackbeginsatfive根據(jù)上面的置換,將原有矩陣中的字母按照第1列、第4列、第5列、第3列、第2列、第6列的順序排列、則有下面的形式:aacttkbingesaivfte從而得到密文:abatgftetcnvaiikse其解密過程是根據(jù)密鑰的字母數(shù)作為列數(shù),將密文按照列、行的順序?qū)懗?,再根?jù)由密鑰給出的矩陣置換產(chǎn)生新的矩陣,從而恢復明文。2.ECC算法ECC(EllipticCurvesCryptography)加密算法是一種公鑰加密算法,與主流的RSA算法相比,ECC算法可以使用較短的密鑰達到相同的安全程度。近年來,人們對ECC的認識已經(jīng)不再處于研究階段,開始逐步進入實際應用,如國家密碼管理局頒布的SM2算法就是基于ECC算法的在引入橢圓曲線之前,不得不提到一種新的坐標系-------射影平面坐標系,它是對笛卡爾直角坐標系的擴展,增加了無窮遠點的概念。在此坐標系下,兩條平行的直線是有交點的,而交點就是無窮遠點。兩者的變換關(guān)系為:笛卡爾坐標系中的點a(x,y),令x=X/Z,y=Y/Z,則射影平面坐標系下的點a的坐標為(X,Y,Z),如點(2,3)就轉(zhuǎn)換為(2Z,3Z,Z)。加法法則運算法則:任意取橢圓曲線上兩點P、Q(若P、Q兩點重合,則做P點的切線)做直線交于橢圓曲線的另一點R’,過R’做y軸的平行線交于R。我們規(guī)定P+Q=R。(如圖)下面,我們利用P、Q點的坐標(x1,y1),(x2,y2),求出R=P+Q的坐標(x4,y4)。P,Q,R'共線,設為y=kx+b,若P≠Q(mào),k=(y1-y2)/(x1-x2)若P=Q,k=(3x2+2a2x+a4-a1y)/(2y+a1x+a3)解方程組得到:x4=k2+ka1-a2-x1-x2;y4=k(x1-x4)-y1-a1x4-a3;3.對稱密碼DES算法DES是一個16輪的Feistel型結(jié)構(gòu)密碼,它的分組長度為64比特,用一個56比特的密鑰來加密一個64比特的明文串,輸出一個64比特的密文串。其中,使用密鑰為64比特,實用56比特,另8位用作奇偶校驗。加密的過程是先對64位明文分組進行初始置換,然后分左、右兩部分分別經(jīng)過16輪迭代,然后再進行循環(huán)移位與變換,最后進行逆變換得出密文。加密與解密使用相同的密鑰,因而它屬于對稱密碼體制。圖4-3給出了DES過程框圖。假設輸入的明文數(shù)據(jù)是64比特。首先經(jīng)過初始置換IP后把其左半部分32比特記為L0,右半部分32比特記為R0,即成了置換后的輸入;然后把R0與密鑰產(chǎn)生器產(chǎn)生的子密鑰k1進行運算,其結(jié)果計為f(R0,k1);再與L0進行摸2加得到L0○+f(R0,k1),把R0記為L1放在左邊,而把L0○+f(R0,k1)記為R1放在右邊,從而完成了第一輪迭代運算。在此基礎上,重復上述的迭代過程,一直迭代至第16輪。所得的第16輪迭代結(jié)果左右不交換,即L15○+f(R15,k16)記為R16,放在左邊,而R15記為L16放在右邊,成為預輸出,最后經(jīng)過初始置換的逆置換IP-1運算后得到密文。圖4-3DES框圖DES的解密過程與加密過程共用了同樣的計算過程。兩者的不同之處僅在于解密時子密鑰ki的使用順序與加密時相反。如果加密的子密鑰k1,k2,…,k16,那么,解密時子密鑰的使用順序為與k16,k15,…,k1。即:用DES解密時,將以64位密文作為輸入,第一輪迭代使用子密鑰k16;第二輪迭代使用子密鑰k15,…,第16輪迭代使用子密鑰k1,其他運算與加密時一樣,最后輸出的便是64位明文。4.SHA算法散列是信息的提煉,通常其長度要比信息小得多,且為一個固定長度。加密性強的散列一定是不可逆的,這就意味著通過散列結(jié)果,無法推出任何部分的原始信息。任何輸入信息的變化,哪怕僅一位,都將導致散列結(jié)果的明顯變化,這稱之為雪崩效應。散列還應該是防沖突的,即找不出具有相同散列結(jié)果的兩條信息。具有這些特性的散列結(jié)果就可以用于驗證信息是否被修改。SHA-1是一種數(shù)據(jù)加密算法,該算法的思想是接收一段明文,然后以一種不可逆的方式將它轉(zhuǎn)換成一段(通常更小)密文,也可以簡單的理解為取一串輸入碼(稱為預映射或信息),并把它們轉(zhuǎn)化為長度較短、位數(shù)固定的輸出序列即散列值(也稱為信息摘要或信息認證代碼)的過程。單向散列函數(shù)的安全性在于其產(chǎn)生散列值的操作過程具有較強的單向性。如果在輸入序列中嵌入密碼,那么任何人在不知道密碼的情況下都不能產(chǎn)生正確的散列值,從而保證了其安全性。SHA將輸入流按照每塊512位(64個字節(jié))進行分塊,并產(chǎn)生20個字節(jié)的被稱為信息認證代碼或信息摘要的輸出。該算法輸入報文的長度不限,產(chǎn)生的輸出是一個160位的報文摘要。輸入是按512位的分組進行處理的。SHA-1是不可逆的、防沖突,并具有良好的雪崩效應。通過散列算法可實現(xiàn)數(shù)字簽名實現(xiàn),數(shù)字簽名的原理是將要傳送的明文通過一種函數(shù)運算(Hash)轉(zhuǎn)換成報文摘要(不同的明文對應不同的報文摘要),報文摘要加密后與明文一起傳送給接受方,接受方將接受的明文產(chǎn)生新的報文摘要與發(fā)送方的發(fā)來報文摘要解密比較,比較結(jié)果一致表示明文未被改動,如果不一致表示明文已被篡改。MAC(信息認證代碼)就是一個散列結(jié)果,其中部分輸入信息是密碼,只有知道這個密碼的參與者才能再次計算和驗證MAC碼的合法性。五.算法設計與分析(含流程圖)該密碼學計算器實現(xiàn)了四個功能,其中兩個:(1)古典密碼程序設計(置換)(2)對稱密碼程序?qū)崿F(xiàn)(DES)(3)SHA算法(4)ECC算法我負責的是古典密碼置換算法,我的思想是:不改變原給字母的字符,只根據(jù)所給秘鑰改變原給字符串的順序,從而對明文加密,解密思想與加密一樣。加密核心代碼如下:printf("請輸入需要加密的字符數(shù)量(不大于100):");scanf("%d",&k);printf("請輸入明文(字符串):\n");for(i=0;i<k;i++)scanf("%d",&ming[i]);for(j=0;j<k;j++){}l=1;a=ming[j];m=1;for(i=1;i<=e;i++)m=m*a;l=m%n;if(l<0)l=l+n;c[j]=l;printf("加密后的密文是:\n");for(j=0;j<k;j++)printf("%d",c[j]);解密核心代碼如下:printf("請輸入需要解密的字符數(shù)量(不大于100):");scanf("%d",&k);printf("請輸入密文(字符串):\n");for(i=0;i<k;i++)scanf("%d",&c[i]);for(j=0;j<k;j++){m=1;l=1;a=c[j];for(i=1;i<=d;i++)m=m*a;l=m%n;if(l<0)//在進行Mod操作時,會出現(xiàn)負數(shù),我進行了+n操作。l=l+n;ming[j]=l;}printf("解密后的明文是:\n");for(j=0;j<k;j++)printf("%d",ming[j]);1.公鑰e與t的互素判斷函數(shù)2.Main函數(shù)六.測試結(jié)果與分析加密如下:解密:七.總結(jié)這次課程設計,使我對密碼學這門課有了更深刻地理解,也為畢業(yè)設計打下了一定的密碼學基礎。我負責的是古典密碼置換算法,在算法編程實現(xiàn)時,確實遇到了出現(xiàn)亂碼的以及加密后出現(xiàn)問題,通過和組員的討論和查資料,解決了這一問題,收獲頗多。八.參考文獻1.楊義先.應用密碼學.北京郵電大學出版社.20xx年2.楊波.現(xiàn)代密碼學.清華大學出版社.20xx年
第二篇:現(xiàn)代密碼學實驗報告(/r
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 秋分節(jié)氣的奧秘
- 2024年電子產(chǎn)品買賣合同2篇
- 2024年數(shù)據(jù)安全保密技術(shù)咨詢服務協(xié)議3篇
- 2024年度環(huán)境檢測業(yè)務合作合同版B版
- 《基于有限元法的汽車電子油門踏板仿真優(yōu)化研究》
- 《S公司運維檢修員工激勵問題研究》
- 《中職生日語詞匯學習策略使用情況的調(diào)查研究》
- 2024年人工智能教育平臺人工費勞務合同范本2篇
- 《修復中“補綴”與“全色”技法研究與應用》
- 2023年山東省國有資產(chǎn)投資控股有限公司社會招聘筆試真題
- 支撐梁拆除安全協(xié)議書
- 2024-2030年中國充血性心力衰竭(CHF)治療設備行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- 五年級道德與法治上冊說課稿《古代科技 耀我中華(第一課時) 》部編版
- 小學語文大單元設計論文
- Unit 6 教學教學設計 2024-2025學年人教版七年級英語上冊
- Visio商業(yè)圖表制作分析智慧樹知到期末考試答案章節(jié)答案2024年上海商學院
- 競爭性談判工作人員簽到表及競爭性談判方案
- 山東省淄博市張店區(qū)2023-2024學年九年級上學期1月期末化學試題(含解析)
- 廈門旅游課件
- 人工智能導論智慧樹知到期末考試答案章節(jié)答案2024年哈爾濱工程大學
- 單位食堂供餐方案(2篇)
評論
0/150
提交評論