




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、西安科技大學(xué)?現(xiàn)代密碼學(xué)?課程設(shè)計(jì)報(bào)告題 目: 密碼學(xué)計(jì)算器 學(xué) 院: 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 班 級(jí): 姓 名: 學(xué) 號(hào): 日 期: 2021.1.8 1 課程設(shè)計(jì)題目 密碼學(xué)計(jì)算器的研究與實(shí)現(xiàn)二分工對(duì)稱密碼程序?qū)崿F(xiàn)Des算法 組長(zhǎng): 古典密碼程序設(shè)計(jì)置換 SHA算法 ECC算法 三軟件運(yùn)行環(huán)境 Windows7操作系統(tǒng) visual C+4 算法設(shè)計(jì)思想 置換密碼算法的原理是不改變明文字符,只將字符在明文中的排列順序改變,從而實(shí)現(xiàn)明文信息的加密。置換密碼又稱為換位密碼。矩陣換位法是實(shí)現(xiàn)置換密碼的一種常用方法。它將明文中的字母按照給定的順
2、序安排在一個(gè)矩陣中,然后又根據(jù)密鑰提供的順序重新組合矩陣中的字母,從而形成密文。例如,明文為 attack begins at five ,密鑰為 cipher ,將明文按照每行6個(gè)字母的形式排在矩陣中,形成如下形式: attack begins atfive根據(jù)密鑰 cipher 中各字母在字母表中出現(xiàn)的先后順序,得到給定的一個(gè)置換: f = 1 4 5 3 2 6因此有: 密鑰: 145326 明文: attack begins atfive根據(jù)上面的置換,將原有矩陣中的字母按照第1列、第4列、第5列、第3列、第2列、第6列的順序排列、那么有下面的形式:aacttk binges aivf
3、te從而得到密文:abatgftetcnvaiikse其解密過程是根據(jù)密鑰的字母數(shù)作為列數(shù),將密文按照列、行的順序?qū)懗?,再根?jù)由密鑰給出的矩陣置換產(chǎn)生新的矩陣,從而恢復(fù)明文。 ECCElliptic Curves Cryptography加密算法是一種公鑰加密算法,與主流的RSA算法相比,ECC算法可以使用較短的密鑰到達(dá)相同的平安程度。近年來,人們對(duì)ECC的認(rèn)識(shí)已經(jīng)不再處于研究階段,開始逐步進(jìn)入實(shí)際應(yīng)用,如國家密碼管理局公布的SM2算法就是基于ECC算法的 在引入橢圓曲線之前,不得不提到一種新的坐標(biāo)系-射影平面坐標(biāo)系,它是對(duì)笛卡爾直角坐標(biāo)系的擴(kuò)展,增加了無窮遠(yuǎn)點(diǎn)的概念。在
4、此坐標(biāo)系下,兩條平行的直線是有交點(diǎn)的,而交點(diǎn)就是無窮遠(yuǎn)點(diǎn)。兩者的變換關(guān)系為:笛卡爾坐標(biāo)系中的點(diǎn)ax,y,令x=X/Z,y=Y/Z,那么射影平面坐標(biāo)系下的點(diǎn)a的坐標(biāo)為X,Y,Z),如點(diǎn)2,3就轉(zhuǎn)換為2Z,3Z,Z。加法法那么運(yùn)算法那么:任意取橢圓曲線上兩點(diǎn)P、Q 假設(shè)P、Q兩點(diǎn)重合,那么做P點(diǎn)的切線做直線交于橢圓曲線的另一點(diǎn)R,過R做y軸的平行線交于R。我們規(guī)定P+Q=R。如圖 下面,我們利用P、Q點(diǎn)的坐標(biāo)(x1,y1),(x2,y2),求出R=P+Q的坐標(biāo)(x4,y4)。P,Q,R'共線,設(shè)為y=kx+b,假設(shè)PQ,k=(y1-y2)/(x1-x2)假設(shè)P=Q,k=(3x2+
5、2a2x+a4 -a1y) /(2y+a1x+a3) 解方程組得到: x4=k2+ka1-a2-x1-x2; y4=k(x1-x4)-y1-a1x4-a3; DES是一個(gè)16輪的Feistel型結(jié)構(gòu)密碼,它的分組長(zhǎng)度為64比特,用一個(gè)56比特的密鑰來加密一個(gè)64比特的明文串,輸出一個(gè)64比特的密文串。其中,使用密鑰為64比特,實(shí)用56比特,另8位用作奇偶校驗(yàn)。加密的過程是先對(duì)64位明文分組進(jìn)行初始置換,然后分左、右兩局部分別經(jīng)過16輪迭代,然后再進(jìn)行循環(huán)移位與變換,最后進(jìn)行逆變換得出密文。加密與解密使用相同的密鑰,因而它屬于對(duì)稱密碼體制。圖4
6、-3給出了DES過程框圖。假設(shè)輸入的明文數(shù)據(jù)是64比特。首先經(jīng)過初始置換IP后把其左半局部32比特記為L(zhǎng)0,右半局部32比特記為R0,即成了置換后的輸入;然后把R0與密鑰產(chǎn)生器產(chǎn)生的子密鑰k1進(jìn)行運(yùn)算,其結(jié)果計(jì)為f (R0,k1);再與L0進(jìn)行摸2加得到L0f (R0 , k1), 把R0記為L(zhǎng)1放在左邊,而把L0f (R0 , k1)記為R1放在右邊,從而完成了第一輪迭代運(yùn)算。在此根底上,重復(fù)上述的迭代過程,一直迭代至第16輪。所得的第16輪迭代結(jié)果左右不交換,即L15f (R15 , k16)記為R16,放在左邊,而R15記為L(zhǎng)16放在右邊,成為預(yù)輸出,最后經(jīng)過初始置換的逆置換IP-1運(yùn)算
7、后得到密文。 圖4-3 DES框圖DES的解密過程與加密過程共用了同樣的計(jì)算過程。兩者的不同之處僅在于解密時(shí)子密鑰ki的使用順序與加密時(shí)相反。如果加密的子密鑰k1,k2,k16, 那么,解密時(shí)子密鑰的使用順序?yàn)榕ck16,k15,k1。即:用DES解密時(shí),將以64位密文作為輸入,第一輪迭代使用子密鑰k16;第二輪迭代使用子密鑰k15 , , 第16輪迭代使用子密鑰k1, 其他運(yùn)算與加密時(shí)一樣,最后輸出的便是64位明文。 散列是信息的提煉,通常其長(zhǎng)度要比信息小得多,且為一個(gè)固定長(zhǎng)度。加密性強(qiáng)的散列一定是不可逆的,這就意味著通過散列結(jié)果,無法推出任何局部的原始信息。任何輸入信息的變化,哪怕僅一位,都
8、將導(dǎo)致散列結(jié)果的明顯變化,這稱之為雪崩效應(yīng)。散列還應(yīng)該是防沖突的,即找不出具有相同散列結(jié)果的兩條信息。具有這些特性的散列結(jié)果就可以用于驗(yàn)證信息是否被修改。SHA-1是一種數(shù)據(jù)加密算法,該算法的思想是接收一段明文,然后以一種不可逆的方式將它轉(zhuǎn)換成一段通常更小密文,也可以簡(jiǎn)單的理解為取一串輸入碼稱為預(yù)映射或信息,并把它們轉(zhuǎn)化為長(zhǎng)度較短、位數(shù)固定的輸出序列即散列值也稱為信息摘要或信息認(rèn)證代碼的過程。單向散列函數(shù)的平安性在于其產(chǎn)生散列值的操作過程具有較強(qiáng)的單向性。如果在輸入序列中嵌入密碼,那么任何人在不知道密碼的情況下都不能產(chǎn)生正確的散列值,從而保證了其平安性。SHA將輸入流按照每塊512位64個(gè)字節(jié)
9、進(jìn)行分塊,并產(chǎn)生20個(gè)字節(jié)的被稱為信息認(rèn)證代碼或信息摘要的輸出。該算法輸入報(bào)文的長(zhǎng)度不限,產(chǎn)生的輸出是一個(gè)160位的報(bào)文摘要。輸入是按512 位的分組進(jìn)行處理的。SHA-1是不可逆的、防沖突,并具有良好的雪崩效應(yīng)。通過散列算法可實(shí)現(xiàn)數(shù)字簽名實(shí)現(xiàn),數(shù)字簽名的原理是將要傳送的明文通過一種函數(shù)運(yùn)算Hash轉(zhuǎn)換成報(bào)文摘要不同的明文對(duì)應(yīng)不同的報(bào)文摘要,報(bào)文摘要加密后與明文一起傳送給接受方,接受方將接受的明文產(chǎn)生新的報(bào)文摘要與發(fā)送方的發(fā)來報(bào)文摘要解密比擬,比擬結(jié)果一致表示明文未被改動(dòng),如果不一致表示明文已被篡改。MAC 信息認(rèn)證代碼就是一個(gè)散列結(jié)果,其中局部輸入信息是密碼,只有知道這個(gè)密碼的參與者才能再次
10、計(jì)算和驗(yàn)證MAC碼的合法性。5 算法設(shè)計(jì)與分析含流程圖該密碼學(xué)計(jì)算器實(shí)現(xiàn)了四個(gè)功能,其中兩個(gè): 1古典密碼程序設(shè)計(jì)置換(2) 對(duì)稱密碼程序?qū)崿F(xiàn)DES (3) SHA算法 (4) ECC算法 我負(fù)責(zé)的是古典密碼置換算法,我的思想是:不改變?cè)o字母的字符,只根據(jù)所給秘鑰改變?cè)o字符串的順序,從而對(duì)明文加密,解密思想與加密一樣。加密核心代碼如下:printf ("請(qǐng)輸入需要加密的字符數(shù)量不大于100:");scanf("%d",&k); printf("請(qǐng)輸入明文(字符串): n");for(i=0;i<k;i+)scanf(
11、"%d",&mingi);for(j=0;j<k;j+)l=1;a=mingj;m=1;for (i=1;i<=e;i+)m=m*a; l=m%n; if (l<0) l=l+n;cj=l; printf("加密后的密文是:n");for(j=0;j<k;j+) printf("%d",cj);解密核心代碼如下:printf ("請(qǐng)輸入需要解密的字符數(shù)量不大于100:");scanf("%d",&k);printf("請(qǐng)輸入密文(字符串): n&
12、quot;);for(i=0;i<k;i+)scanf("%d",&ci);for(j=0;j<k;j+) m=1;l=1; a=cj;for (i=1;i<=d;i+)m=m*a; l=m%n; if (l<0) /在進(jìn)行Mod操作時(shí),會(huì)出現(xiàn)負(fù)數(shù),我進(jìn)行了+n 操作。l=l+n;mingj=l;printf("解密后的明文是:n");for(j=0;j<k;j+)printf("%d",mingj); 1.公鑰e與t的互素判斷函數(shù) 開 始 t=x x=y y=t%y y!=1 Y Nx=1 N Y N返回0返回1 輸出結(jié)果 結(jié)束 2. Main函數(shù) 開始 輸入p,q n=p*q t=(p-1)*(q-1) 輸入e 不合要求 e=1e>tfun(e,t) Y d=1 N d+(e*d)%t!=1 Y N 輸出d 輸入2輸入1輸入明文ming輸入密文ca=cj;m=d; l=m%n; mingj=l;a=mingj;m=e; l=m%n; cj=l;l=m%n; if
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 保稅物流倉儲(chǔ)貨架租賃與物流信息服務(wù)平臺(tái)合同
- 新疆遴選公務(wù)員筆試題及答案
- 智能家居系統(tǒng)研發(fā)合伙人合作協(xié)議
- 灌腸護(hù)理操作規(guī)范
- 家居體驗(yàn)店跨界合作與資源共享合同
- 農(nóng)田蟲害防治燈光租賃及蟲情預(yù)警服務(wù)協(xié)議
- 數(shù)字經(jīng)濟(jì)創(chuàng)業(yè)項(xiàng)目人工智能有限合伙人合作協(xié)議
- 抖音企業(yè)號(hào)視頻特效與剪輯年度合作協(xié)議
- 校招硬件面試題目及答案
- 網(wǎng)絡(luò)文學(xué)版權(quán)收益分成補(bǔ)充協(xié)議
- 大國兵器學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 24秋國家開放大學(xué)《馬克思主義基本原理》專題測(cè)試參考答案
- 下月監(jiān)理工作計(jì)劃模板
- 經(jīng)陰道全子宮切除術(shù)專家共識(shí)(2024年版)解讀
- 陜西省2024年中考地理試卷(附解析)
- 壓力管道分部工程竣工報(bào)告
- 土地互換永久合同范本
- 血源性傳染病職業(yè)暴露的預(yù)防處理
- 新版高中物理必做實(shí)驗(yàn)?zāi)夸浖捌鞑?(電子版)
- 毒理學(xué)習(xí)題集(含答案)
- 四川省宜賓市敘州區(qū)2023-2024學(xué)年八年級(jí)下學(xué)期期末數(shù)學(xué)試題(解析版)
評(píng)論
0/150
提交評(píng)論