freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

一款經(jīng)典加密解密教學(xué)演示軟件的開(kāi)發(fā)畢業(yè)設(shè)計(jì)-文庫(kù)吧

2025-06-15 18:46 本頁(yè)面


【正文】 ................................................. 23 科技外文文獻(xiàn) ............................................................................................ 24 附錄 A: 系統(tǒng)使用說(shuō)明書(shū) .......................................................................... 45 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 第 1 頁(yè) 共 45 頁(yè) 1 課題實(shí)施的背景 隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,大量的數(shù)據(jù)需要在網(wǎng)絡(luò)上 進(jìn)行 傳輸,因此,信息安全 受到了 越來(lái)越 廣泛的 關(guān)注。近年來(lái),我國(guó)數(shù)據(jù)竊取事件層出不窮, CSDN、 珍愛(ài)網(wǎng) 、世紀(jì)佳緣、走秀等多家網(wǎng)站的用戶數(shù)據(jù)庫(kù)被曝光在網(wǎng)絡(luò)上,由于部分密碼以明文方式顯示,導(dǎo)致大量網(wǎng)民 的 個(gè)人信息泄露。繼 CSDN、 天涯社區(qū)用戶數(shù)據(jù)泄露后,互聯(lián)網(wǎng)行業(yè)一片人心惶惶,而在用戶數(shù)據(jù)最為重要的電商領(lǐng)域,也不斷傳出 用戶信息 漏洞,漏洞報(bào)告平臺(tái)烏云發(fā)布漏洞報(bào)告稱,支付 寶用戶大量泄露,被用于網(wǎng)絡(luò)營(yíng)銷(xiāo),泄露總量達(dá) 1200 萬(wàn)~ 2300 萬(wàn)之多。 天貓 商城、支付寶和當(dāng)當(dāng)網(wǎng)也已被卷入其中。事實(shí)上,選擇一種合適的加密機(jī)制將能消除消費(fèi)者的各種 信息 安全隱患。 從古典密碼學(xué)的研究到現(xiàn)代密碼學(xué)的發(fā)展,密碼學(xué)在我們生活中扮演 著 越來(lái)越重要的角色。 但由于密碼學(xué)是神秘而富有冒險(xiǎn)色彩的,它不 僅僅 是計(jì)算機(jī)科學(xué)的內(nèi)容,因此,學(xué)習(xí)密碼學(xué)必須具有寬廣的知識(shí)背景。加之,密碼學(xué)是一個(gè)很抽象的東西,不容易理解,所以,學(xué)習(xí)經(jīng)典密碼學(xué)對(duì)于初學(xué)者來(lái)說(shuō)具有一定的困難與挑戰(zhàn),如果有一套介紹加密解密算法的軟件將抽象轉(zhuǎn)換為形象, 這勢(shì)必要減少 大量 學(xué)習(xí)理解密碼學(xué)知識(shí)的時(shí)間。因此, 本課題開(kāi)發(fā)和研究的意義在于能形象生動(dòng)的展示出經(jīng)典密碼學(xué)中單碼、多碼以及多圖加密技術(shù) 的 加密和解密過(guò)程,有助于加強(qiáng)初學(xué)者對(duì)經(jīng)典密碼學(xué)的理解。 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 第 2 頁(yè) 共 45 頁(yè) 2 仿射加密法 算法概述 經(jīng)典單碼加密法的一個(gè)形式稱為仿射加密法。在傳統(tǒng)仿射加密法中,字母表的字母被賦予一個(gè)數(shù)字,仿射加密法的密鑰為 0~25 之間的數(shù)字對(duì) (m,n), m 與 26 的最大公約數(shù)必須為 1。現(xiàn)在,假設(shè)p 為明文字母的數(shù)字(譯注:即該字母在字母表中對(duì)應(yīng)的數(shù)字), c 為密文字母的數(shù)字, m1為 m 的乘法的逆元, n1為 n 的加法的逆元,那么,這兩個(gè)數(shù)字之間的關(guān)系可以用如下等式表示: 26 m od )( nmpc ?? 26 m o d )( 11 ?? ?? ncmp 由于傳統(tǒng)的仿射加密算法只對(duì) 26 個(gè)字母進(jìn)行加密,為了解決這一局限,對(duì)一般符號(hào)也能進(jìn)行加密,從而采用 ASCII 碼表作為加密參考,將模改為 95(注: ASCII 碼值有 128 個(gè),由于前 33 個(gè)為不可顯示字符,因此在加密的過(guò)程中排除,故將模改為 95)。因此,明文字母的數(shù)字 p 與密文字母的數(shù)字 c 之間的關(guān)系可表示為: 95 m od )( nmpc ?? 95 m o d )( 11 ?? ?? ncmp 算法分析 仿射加密法與單碼加密替換沒(méi)有什么不同,因?yàn)槊魑牡拿總€(gè)字母分別只映射到一個(gè)密文字母。 例如,選取密鑰為 (2,7)。(由于 2 與 95 的最大公約數(shù)為 1,即 GCD(2,95)=1,則 2 可以作為密鑰中的 a)。因此,利用這個(gè)密鑰,字“ tangyang”可以使用放射加密法加密。將“ tangyang”轉(zhuǎn)換成數(shù)字 11 9 1 10 12 9 1 103,利用放射加密等式生成: c(t)=((2 (11632)+7)mod 95)+32=112,即為數(shù)字“ p” c(a)=((2 (9732)+7)mod 95)+32=74,即為字母“ J” c(n)=((2 (11032)+7)mod 95)+32=100, 即為字母“ d” c(g)=((2 (10332)+7)mod 95)+32=86, 即為字母“ v” C(y)=((2(12132)+7) mod95)+32=122,即為字母 “z” 注:由于 ASCII 碼表中前 33 個(gè)為不可顯示字符,因此在加密運(yùn)算過(guò)程中明文字母 p 要先減去32( ASCII 碼表中從 0 開(kāi)始),求完模 之后的結(jié)果再加上 32, 這樣,對(duì)于 (2,7)這個(gè)密鑰,“ tangyang”加密后變成了“ pJdvzJdv” 。 計(jì)算可得 (95i+1)/a=a1,將“ pJdvzJdv”轉(zhuǎn)換成數(shù)字 11 7 100、 8 12 7 100、 86利用放射解密等式生成: c(P)=(48 ((11232)7)mod 95)+32=116, 即為字母“ t” c(J)=(48 ((7432)7)mod 95) +32=97, 即為字母“ a” c(d)=(48 ((10032)7)mod 95) +32=110, 即為 字母“ n” c(v)=(48 ((8632)7)mod 95) +32=103, 即為字母“ g” c(z)=(48 ((12232)7)mod 95) +32=110, 即為字母“ y” 這樣,對(duì)于 (2,7)這個(gè)密鑰,“ pJdvzJdv”解密后變成了“ tangyang” 核心代碼 //加密函數(shù) CString CFCpasswd::FCAddPass(CString newText,int a,int b) { int N,i。 char mida,c。 N = ()。 Passwd = new char[N]。 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 第 3 頁(yè) 共 45 頁(yè) char *m_a = (())。 //將字符串轉(zhuǎn)換成字符數(shù)組 (())。 for (i = 0。i ()。i++) { mida = m_a[i] 32。 c = (a * mida + b) % 95。 Passwd[i] = c + 32。 } Passwd[i] = 39。\039。 (%s,Passwd)。 return newText。 } int CFCpasswd::getFa(int a) //求 a 逆 { int i,n。 for (i = 1。 i 95。i++) { n = 95 * i + 1。 if ((n % a) == 0) return n/a。 } return 1。 } CString CFCpasswd::FCRelessPass(CString oldText,int a,int b) { int N,i,m_b。 char p,mida。 int fa = getFa(a)。 if(fa == 1) return 。 N = ()。 obvious = new char[N]。 char *m_a = (())。 (N)。 for(i = 0。 i N。i++) { mida = m_a[i] 32。 m_b = mida b。 while (m_b 0) m_b = m_b + 95。 p = (fa * m_b) % 95。 obvious[i] = p + 32。 } obvious[i] = 39。\039。 (%s,obvious)。 return oldText。 } 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 第 4 頁(yè) 共 45 頁(yè) 3 多文字加密法 算法概述 多文字加密法是另一種脆弱的單碼加密法,但是它與一般的單碼加密法又有一些不 同。因?yàn)樗怯靡粚?duì)字母來(lái)替代每個(gè)明文字母,加密后的密文是明文的兩倍大。 多文字加密法的密鑰是一個(gè) 5 5 的矩陣。這個(gè)矩陣的 5 行和 5 列用含有 5 個(gè)字母的關(guān)鍵詞來(lái)標(biāo)識(shí),該關(guān)鍵詞不能有重復(fù)的字母。字母表的每個(gè)字母填寫(xiě)在這個(gè)矩陣中。當(dāng)然,矩陣只有 25 個(gè)位置,而字母表有 26 個(gè)字母,因此字母“ i”和“ j”占同一個(gè)單元,這就意味著所有的“ j”都變成了“ i”。 例如,如果關(guān)鍵詞為 takes,那么密鑰矩陣為: 表 密文、明文對(duì)照表 t a k e s t a b c d e a f g h i k k l m n o p e q r s t u s v w x y z 每個(gè)明文由標(biāo)識(shí)該字母的行和列的字母對(duì)替代,加密過(guò)程為查找標(biāo)識(shí)該字母的行和列的字母對(duì)的過(guò)程。 解密過(guò)程 則 為反向查找矩陣的過(guò)程。 算法分析 在關(guān)鍵詞為 takes,明文為 tangyang 的情況下,加密解密過(guò)程如下: 加密過(guò)程: 密文“ ee”替代了明文的“ t”,密文“ tt”替代了明文的“ a”,以此類(lèi)推,明文“ tangyang”加密后的密文為 ”ee tt kk aa se tt kk aa”。 明文“ t”替代了密文的“ ee”,明文“ a”替代了密文的“ tt”,以此類(lèi)推,密文“ ee tt kk aa se tt kk aa ”解密后的明文為“ tangyang”。 核心代碼 //加密函數(shù) CString CMoreWordPasswd::MWAddPass(CString newText,CString passKey) { int textLen = ()。 CString result。 int flag。 //狀態(tài)標(biāo)志, 1 表示明文字符在字母表范圍之內(nèi), 0 表示不在范圍內(nèi) int i,j,k = 0,n = 0。 Passwd = new char[2 * textLen]。 //密文數(shù)組 obvious = (textLen)。 //明文數(shù)組 (textLen)。 char *chKey = (())。 //密鑰數(shù)組 (())。 while(k textLen) { flag = 0。 for(i = 0。 i 5。 i++) { for(j = 0。 j 5。 j++) { 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 第 5 頁(yè) 共 45 頁(yè) char mid = obvious[k]。 if (mid == 39。j39。) mid = 39。i39。 if (ArrayKey[i][j] == mid) { Passwd[n] = chKey[i]。 Passwd[n+1] = chKey[j]。 n = n + 2。 flag = 1。 break。 } } } if (flag == 0) { Passwd[n] = obvious[k]。 n++。 } k++。 } Passwd[n] = 39。\039。 (%s,Passwd)。 return result。 } //解密函數(shù) CString CMoreWordPasswd::MWRelessPass(CString oldText,CString passKey) { int textLen = ()。 CString result。 int flag。 int i,j,k = 0,n = 0。 obvious = new char[textLen/2]。 Passwd = (textLen)。 (textLen)。 char *chKey = (())。 (())。 while(n textLen) { flag = 0。 for(i = 0。i 5。i++) { if(Passwd[n] == chKey[i]) { flag = 1。 break。 } 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 第 6 頁(yè) 共 45 頁(yè) } if(flag == 1) { for(j = 0。j 5。j++) { if(Passwd[n+1] == chKey[j]) break。 } } if(flag == 0){ obvious[k] = Passwd[n]。 k++。 n++。 } if(flag == 1) { obvious[k] = ArrayKey[i][j]。 k++。 n = n + 2。 } } obvious[k] = 39。\039。 (%s,obvious)。 return result。 } 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 第 7 頁(yè) 共 45 頁(yè) 4 Vigenere 加密法
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1