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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-des加密算法分析(更新版)

  

【正文】 orm(m,m,ip_table,64)。 //pc2選位表 const static char pc2_table[48]={ 14,17,11,24,1,5,3,28, 15,6,21,10,23,19,12,4, 26,8,16,7,27,20,13,2, 41,52,31,37,47,55,30,40, 51,45,33,48,44,49,39,56, 34,53,46,42,50,36,29,32 }。//異或 static void rotatel(bool *in, int len, int loop)。 本次設(shè)計(jì)是我工作前一次很好的演練和實(shí)踐的機(jī)會(huì),是培養(yǎng)獨(dú)立思考問(wèn)題和自學(xué)能力的鍛煉,使我意識(shí)到必須努力的學(xué)習(xí)才能在工作中體現(xiàn)自己的價(jià)值,適應(yīng)社會(huì)的需要。這個(gè)密碼分析并未對(duì) DES的安全性產(chǎn)生實(shí)際影響,由于這個(gè)攻擊需要數(shù)目極大的明 密文對(duì),在現(xiàn)實(shí)世界中一個(gè)敵手很難積攢下用同一密鑰加密的如此眾多的明 密文對(duì)。如果不了解這一點(diǎn),把密鑰 Key的 8, 16, 24, ..... .64位作為有效 數(shù)據(jù)使用,將不能保證 DES 加密數(shù)據(jù)的安全性,對(duì)運(yùn)用 DES 來(lái)達(dá)到保密作用的系統(tǒng)產(chǎn)生數(shù)據(jù)被破譯的危險(xiǎn),這正是 DES 算法在應(yīng)用上的誤區(qū),留下了被人攻擊、被人破譯的極大隱患。 事實(shí)上,后來(lái)表明 DES 里的 S 盒是被設(shè)計(jì)成能夠防止某些類(lèi)型的攻擊的。 明文 M進(jìn)行 IP置換后,分成兩組: L0, R0,可得: L0=11111111 10111000 01110110 01010111 20 R0=00000000 11111111 00000110 10000011 R0進(jìn)行 E膨脹后,與密鑰 k1進(jìn)行異或運(yùn)算,得到 48比特的數(shù)據(jù) S=10111101 10011000 00110011 10110111 11101011 01001110 將這些數(shù)據(jù)分別裝入 S盒: ( 1) 101111進(jìn)入 S1,從 S1的第 3行第 7列的元素 7,可知其輸出為 0111 ( 2) 011001進(jìn)入 S2,從 S2的第 1行第 12 列的元 6,可知其輸出為 0110 ( 3) 100000進(jìn)入 S3,從 S3的第 2行第 0列的元素 13,可知其輸出為 1101 ( 4) 110011進(jìn)入 S4,從 S4的第 3行第 9列的元素 4,可知其輸出為 0100 ( 5) 101101進(jìn)入 S5,從 S5的第 3行第 6列的元素 2,可知其輸出為 0010 ( 6) 111110進(jìn)入 S6,從 S6的第 2行第 15 列的元素 6,可知其輸出為 0100 ( 7) 101101進(jìn)入 S7,從 S7的第 3行第 6列的元素 10,可知其輸出為 1010 ( 8) 001110進(jìn)入 S8,從 S8的第 0行第 7列的元素 1,可知其輸出為 0001 故 8個(gè) S盒的輸出為: 01110110 11010100 00100110 10100001 最后通過(guò) P得 f(R0,k1)為: 01110110 11010100 00100110 10100001 L0 f(R0,k1)得到 R1: R1=10111011 10011001 11101001 11001100 L1= R0=00000000 11111111 00000110 10000011 經(jīng)過(guò) 16輪的迭代最后得到: L16= R15=01010010 10011000 11000001 01011010 R16=11101000 10000011 01111000 01001100 最后經(jīng)過(guò) IP逆置換后得到密文如下: 00100100 01100001 00000010 10011011 01011001 10001000 11001111 10110100 DES 算法的分析 DES 算法具有極高安全性,最初,除了用窮舉搜索法對(duì) DES 算法進(jìn)行攻擊外,并沒(méi)有 21 發(fā)現(xiàn)更有效的辦法。首先是初設(shè)密鑰,然后調(diào)用密鑰設(shè)置函數(shù) des_setkey()和 DES 19 算法的運(yùn)行函數(shù) des_run(),最后得出密文以及解密后的文字。 puts(****************************************)。 gets(str)。a39。r39。 } 這個(gè)函數(shù)用到以下函數(shù): ( 1) bytetobit() 此函數(shù)的功能是將輸入的字節(jié)組轉(zhuǎn)換為位組。 } }else{ for(int i=15。 bytetobit(m,in,64)。 for(int i=0。i++) ina[i]^=inb[i]。 k=(in[1]3)+(in[2]2)+(in[3]1)+in[4]。 } ( 2) e_table() E置換表,作用是將 32比特的輸入擴(kuò)展為 48 比特。//循環(huán)左移 f 函數(shù)和 S 函數(shù) f_func()和 s_func() 此函數(shù)的功能是 DES算法的關(guān)鍵, f是將 32比特的輸入轉(zhuǎn)化為 32比特的輸出。將 C0, D0進(jìn)行 LS1運(yùn)算, LS1是循環(huán)左移運(yùn)算。 P置換的順序如表 : 表 置換 P 16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25 12 子密鑰的生成 圖 DES子密鑰生成流程圖 圖 。 S盒是 DES 算法中唯一的非線(xiàn)性部件,當(dāng)然也就是整個(gè)算法的安全性所在。擴(kuò)展后的 48比特再 與子密鑰 Ki異或,然后再通過(guò)一個(gè) S盒,產(chǎn)生 32 比特的輸出。 IP1是 IP的逆置換 由于第 1位經(jīng)過(guò)初始置換后,已處于第 40位。 它的缺點(diǎn)就在于密鑰太短。 DES確實(shí)輝煌過(guò),它的弱點(diǎn)在于專(zhuān)家們一開(kāi)始就指出的,即密鑰太短。因而 DES超期服役到 2021年。 SP網(wǎng)絡(luò)可以更快速的擴(kuò)散,不過(guò) SP 網(wǎng)絡(luò)的加解密通常不相似。一個(gè)增加密 碼強(qiáng)度的顯然的方法是合并代替和移位密碼,這樣的密碼稱(chēng)為乘積密碼。加密后輸出等長(zhǎng)密文組 ( y1 ,? ,ym ),( y 1?m ,? ,ym2 ) ,? 分組密碼的模型,如圖 。解密是我們將密文轉(zhuǎn)換成能夠直接閱讀的文字(即明文)的過(guò)程稱(chēng)為解密,它是加密的反向處理,但解密者必須利用相同類(lèi)型的加密設(shè)備和密鑰對(duì)密文進(jìn)行解密。 美國(guó)國(guó)家標(biāo)準(zhǔn)局( NBS) 1973年開(kāi)始研究除國(guó)防部外的其它部門(mén)的計(jì)算機(jī)系統(tǒng)的數(shù)據(jù)加密標(biāo)準(zhǔn),并批準(zhǔn)用于非機(jī)密單位及商業(yè)上的保密通信。因此人們十分關(guān)心在網(wǎng)絡(luò)上交換信息的安全性。DES 算法具有較高的安全性,為我們進(jìn)行一般的計(jì)算機(jī)數(shù)據(jù)傳輸活動(dòng)提供了安全保障。今天在計(jì)算機(jī)被廣泛應(yīng)用的信息時(shí)代,信息本身就是時(shí)間,就是財(cái)富。 密碼是形成一門(mén)新的學(xué)科是在 20世紀(jì) 70年代。 DES廣泛應(yīng)用于商用數(shù)據(jù)加密,算法完全公開(kāi),這在密碼學(xué)史上是一個(gè)創(chuàng)舉。直到 1976年 Diffie、 Hellman引入公 鑰(雙鑰)密碼學(xué)之前,所有的密碼都是單鑰系統(tǒng),因此單鑰系統(tǒng)也稱(chēng)為傳統(tǒng)密碼系統(tǒng)。流密碼的滾動(dòng)密鑰 z0=f(k,σ0) 由函 數(shù) f、 密鑰 k和指定的初態(tài) σ0 完全確定。 目前著名的對(duì)稱(chēng)分組密碼系統(tǒng)算法有 DES、 IDEA、 Blowfish、 RC RC FEAL等。 5 第 三 章 DES 算法簡(jiǎn)介 簡(jiǎn)介 DES是 Data Encryption Standard(數(shù)據(jù)加密標(biāo)準(zhǔn))的縮寫(xiě)。至少到目前為止是這樣,比如后來(lái)的“線(xiàn)形逼迫法”,它是一種已知明文攻擊,需要 243≈ 1012個(gè)明、密文對(duì),在這樣苛刻的要求下,還要付出很大的代價(jià)才能解出一個(gè)密鑰。數(shù)據(jù)加密標(biāo)準(zhǔn) DES已經(jīng)達(dá)到它的信任終點(diǎn)。 DES的加密過(guò)程可表示為: DES(m)= IP1T16它們的作用在于打亂原來(lái)輸入明文的 ASCⅡ碼字劃分的關(guān)系,并將原來(lái)明文的 第位m8, m16, m24, m32, m40, m48, m56, m64位(校驗(yàn)位)變成 IP的輸出的一個(gè)字節(jié)。 F函數(shù)的輸出是 32比特。若給定 11 該 S盒的 6個(gè)輸入 為 b0 b1 b2 b3 b4 b5,在 Si表中找出 b0 b5行, b1b2 b3b4列的元素,以 4位二進(jìn)制表示該元素,此為 S盒 Si 的輸出。依次類(lèi)推,便可得到 K2, K3?? K16。 static void f_func(bool in[32],const bool ki[48])。 void transform(bool *out,bool *in,const char *table,int len) { static bool tmp[256]。 static const char e_table[48]={ 32, 1, 2, 3, 4, 5, 4, 5, 6, 7, 8, 9, 8, 9, 10, 11, 12, 11, 12, 13, 14, 15, 16, 17, 16, 17, 18, 19, 20, 21, 20,21, 22, 23, 24, 25, 24, 25, 26, 27, 28, 29, 28, 29, 30, 31, 32, 1}。 } } ( 4) p_table() P置換表。ibits。 } DES 算法的運(yùn)行函數(shù) des_run( ) 這個(gè)函數(shù)整個(gè)算法運(yùn)行程序的最主要部分。i16。 f_func(li,subkey[i])。 ( 4) f_func() 此函數(shù)是 des_run()函數(shù)運(yùn)行的關(guān)鍵,是將 32比特的輸入轉(zhuǎn)化為 32比特的輸出 ( 5) xor() 此函數(shù)的功能是進(jìn)行異或運(yùn)算,異或運(yùn)算是按位作不進(jìn)位加法運(yùn)算。,39。},str[8]。 des_setkey(key)。 puts(str)。其中的密鑰為 64比特如下: k=0111000*0011100*1001101*1110110* 0111011*1001001*1000010*1101101* 在這里密鑰 K是在主函數(shù)中已設(shè)定,所以在程序運(yùn)行時(shí)只輸入明文就可以了。 DES里的所有計(jì)算,除去 S 盒全是線(xiàn)性的,也就是說(shuō),計(jì)算兩個(gè)輸出的異或與先將兩個(gè)對(duì)應(yīng)輸入異或再計(jì)算其輸出是相同的。 對(duì) DES算法最中肯的批評(píng)是,密鑰太短。直接的威脅還是在于專(zhuān)用設(shè)備,由于芯片的速度越來(lái)越快,造價(jià)越來(lái)越便宜,導(dǎo)致專(zhuān)用設(shè)備的造價(jià)也大大的降低。使我對(duì) DES加密算法有了一定的了解,隨著 Inter的高速發(fā)展和應(yīng)用,其安全越來(lái)越引起人們的關(guān)注、如何保護(hù)企業(yè)和個(gè)人在網(wǎng)絡(luò)上的敏感信息不受侵犯己成為當(dāng)前擺在人們面前的一個(gè)重大問(wèn)題。 //設(shè)置密鑰 void des_setkey(const char key[8])。 //置換 IP表 conststatic char ip_table[64]={58,50,42,34,26,18,10,2,60,52,44,36,28,20,12,4,62,54,46,38,30,22,14,6,64,56,48,40,32,24,16,8,57,49,41,33,25,17,9,1,59,51,43,35,27,19,11,3,61,53,45,37,29,21,13,5,63,55,47,39,31,23,15,7}。 static bool subkey[16][48]。i++){ memcpy(tmp,ri,32)。 xor(li,ri,32)。 transform(k,k,pc1_table,56)。 xor(mr,ki,48)。s_box[i][j][k],4)。i++) ina[i]^=inb[i]。1。r39。a39。 gets(str)。 puts(******
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1