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

正文內(nèi)容

密碼學(xué)課設(shè)報(bào)告word版(參考版)

2025-04-14 22:30本頁面
  

【正文】 著,吳世忠等譯,機(jī)械工業(yè)出版社,2014 6 附錄感謝華中科技大學(xué)計(jì)算機(jī)學(xué)院信息安全所的諸位老師的悉心教導(dǎo)以及同學(xué)的熱心幫助!拜謝各位讀者的批評指正。這次課程設(shè)計(jì)可以說是從課本走向現(xiàn)實(shí)的依次窺視,縱然明白密碼學(xué)在實(shí)際生活中的重要意義,也需親手實(shí)踐才能拉近它與我們之間的距離,才能設(shè)身處地地考慮密碼學(xué)中的諸多問題,這不管是從學(xué)習(xí)能力還是探究精神上都是一次提升。原來一直以來我只是用二進(jìn)制形式打開,并沒有采用二進(jìn)制的讀寫形式。緊接著我用更大的文件測試算法時(shí),又出現(xiàn)了意想不到的問題。為了解決這個(gè)問題,我翻閱書上有關(guān)文件操作的相關(guān)說明,嘗試了各種辦法都是停在無效字符那里沒辦法繼續(xù)往下讀。開始的時(shí)候把文件操作想的太簡單,好像也很容易就實(shí)現(xiàn)了文件加密的算法。這讓我深切地認(rèn)識到,即使資源很充足也不能隨意浪費(fèi),應(yīng)力所能及地在保證算法的功能健全情況下盡力改善算法的效率。然而這一次的課程設(shè)計(jì)由于涉及復(fù)雜的運(yùn)算較多,而且加密對象也很龐大,我第一次感覺到算法的效率也是很重要的。一開始的時(shí)候?qū)懙眠€比較順利,出于之前些其他算法的經(jīng)驗(yàn),只要能實(shí)現(xiàn)相應(yīng)功能,對效率問題好像沒有過多深究。為了檢測自己的算法,應(yīng)該嘗試各種測試文件,大的小的,什么樣的符號都應(yīng)該試一下,測試的越多才越能保證其正確性,才能發(fā)現(xiàn)那些影藏的錯誤。將SPN的密鑰加密放在最前面,既方便區(qū)分,也順應(yīng)了文件指針讀取密文文件數(shù)據(jù)的順序,將其密鑰解密還原后就可以進(jìn)行下面文件的解密了。中國剩余定理不僅可以把模的數(shù)長度減少一半,只要掌握了私鑰,其關(guān)鍵數(shù)據(jù)還可以進(jìn)行預(yù)處理。而自己模擬蒙哥馬利算法的時(shí)候,由于此算法的精髓就在于大量加減和移位運(yùn)算沒有耗費(fèi)時(shí)間的乘法運(yùn)算,然而當(dāng)數(shù)據(jù)類型是BIGNUM*型時(shí),那些本來很簡單的操作就會變得比較復(fù)雜,失去其最大的優(yōu)勢,因此即使是在把除法運(yùn)算改為移位運(yùn)算(都是openSSL庫中的),再盡量做好相應(yīng)的預(yù)處理的情況下,此算法的效率跟前面兩個(gè)相比仍有較大差距。中國剩余定理圖 將時(shí)間寫入相應(yīng)文件以方便程序運(yùn)行結(jié)束后比對:圖 總結(jié)分析由先導(dǎo)知識我們知道蒙哥馬利算法是一種盡量用加法和移位運(yùn)算代替復(fù)雜的乘和模運(yùn)算的高效算法,而模重復(fù)平方算法則是在模冪運(yùn)算中經(jīng)藏用到的一類運(yùn)算方法,因此蒙哥馬利算法的效率是最高的。 實(shí)現(xiàn)RSA算法并比較效率 系統(tǒng)實(shí)現(xiàn)使用蒙哥馬利算法完成對10000個(gè)1024bit明文進(jìn)行加密:圖 使用模重復(fù)平方算法完成對10000個(gè)1024bit明文進(jìn)行加密:圖 未使用openSSl庫寫的蒙哥馬利算法:圖 使用蒙哥馬利算法解密:圖 使用蒙哥馬利結(jié)合中國剩余定理解密:圖 使用模重復(fù)平方算法解密:圖 使用模重復(fù)平方及中國剩余定理解密:圖 明文部分截圖:圖 三種加密方式得到的密文部分截圖::圖 :圖 :圖 四種解密方式得到的還原明文部分截圖:1. 蒙哥馬利:圖 2. 模重復(fù)平方:圖 3. 蒙哥馬利amp。 RSA參數(shù)的生成 系統(tǒng)實(shí)現(xiàn)生成素?cái)?shù):圖 檢測:圖 總結(jié)分析此算法并不復(fù)雜,只需充分了解其原理后按照步驟往下用程序?qū)崿F(xiàn)即可,需要注意的是用到的openSSL庫中的數(shù)據(jù)類型與普通的不一樣,要能轉(zhuǎn)換。而應(yīng)該存入的是加密結(jié)果的值,因此我設(shè)定了一個(gè)用于整型和字符型間轉(zhuǎn)換的中間變量temp,從高位開始每次取一個(gè)字節(jié)將它的值賦給temp,再將temp寫入文件,這樣才達(dá)到了應(yīng)該測試的效果,真正意義上的嘗試與探索也才開始。由于一開始不知道用于測試的文件應(yīng)該是什么樣的,就直接將加密結(jié)果(整型數(shù)據(jù))存入,后來不管如何改變,測試結(jié)果都非常不樂觀。圖 安全性更好的SPN部分測試結(jié)果如下:所有測試全部通過。然而有一些隱含的地方還是需要仔細(xì)找出并加以修改的,比如上文中提到的LV,當(dāng)分組長度改變時(shí),數(shù)據(jù)類型也發(fā)生了改變,需要修改的地方還很多,這也要求程序員對自己的程序充分熟悉。這樣一來第一次嘗試沒有通過的項(xiàng)就減少為兩項(xiàng)了,然后我注意到LV還是32位的,把它改成64位的大數(shù)以后,終于通過了全部的測試。后來我認(rèn)為是S盒強(qiáng)度不夠的問題,于是我采用了AES的S盒,以8位為一組進(jìn)行代換,這樣做有一定的效果,結(jié)果是所有的測試中有5項(xiàng)無法通過,即使不斷地嘗試用不同的LV和初始密鑰,也始終有不能通過的。而比較分析密鑰所需明密文對可知,為了得到正確的密鑰線性分析比差分分析需要的明密文對數(shù)更少。比較這兩種方法的速度可以發(fā)現(xiàn),差分分析比線性分析略快。差分分析我用的是書上的方法,產(chǎn)生了五百個(gè)四元組,以猜測出8位密鑰,剩下的照例采用暴力破解。在明密文對不斷減少的嘗試中最終發(fā)現(xiàn),在只需要幾十對明密文的情況下就可以得到正確的結(jié)果。因此最終決定采用unsigned int來表示加解密對象,把整型數(shù)的每一個(gè)二進(jìn)制位上的0或1看作是加解密對象的01串組合,除了從鍵盤中讀取和輸出到屏幕上需要與字符串做一個(gè)轉(zhuǎn)換以方便觀測以外其余操作都很簡便。3 系統(tǒng)實(shí)現(xiàn)與總結(jié)分析 簡單SPN 系統(tǒng)實(shí)現(xiàn)加密時(shí)有如下操作:圖 解密時(shí)有如下操作:圖 總結(jié)分析為了實(shí)現(xiàn)更高效率的算法,我前后采用了字符數(shù)組和無符號整型這兩種數(shù)據(jù)類型存儲加密對象,比較得知,前者不僅由于一個(gè)0或1就要用一個(gè)字節(jié)去存儲會比較耗費(fèi)內(nèi)存以外,速度也是遠(yuǎn)不及后者。 j++) fout 39。 for (j = 0。 0x00000000000000ff。短塊還原處理:解密得到最后一組的密文以后,取出最后一組密文還原后的最后一個(gè)字節(jié)則是短塊處理的位數(shù),將文件指針移到此位數(shù)前將之后的字節(jié)都改為\0即可。temp, sizeof temp)。 j++) { temp = y (j 3) 56。 for (j = 0。 x = str_num(a)。a[7], sizeof a[7])。a[6], sizeof a[6])。a[5], sizeof a[5])。a[4], sizeof a[4])。a[3], sizeof a[3])。a[2], sizeof a[2])。a[1], sizeof a[1])。a[0], sizeof a[0])。 k text_length。然后除以8得到組數(shù),保留每一組的密文用于下一組SPN解密結(jié)果的異或,一組一組迭代進(jìn)行,將解密結(jié)果寫入解密還原文件中,文件操作依然是二進(jìn)制形式。 } 其中r為需要短塊處理的字節(jié)數(shù)。 ((char*)amp。 j 8。 y = SPN(x, round_key)。 i++) a[i] = r。 } for (。temp, sizeof temp)) { a[i] = temp。進(jìn)行短塊處理時(shí),將剩余的地方都用需要補(bǔ)上的字節(jié)數(shù)代替。加密文件之前為了便于短塊處理首先統(tǒng)計(jì)出明文文件中所有的字節(jié)數(shù),將需要短塊處理的字節(jié)數(shù)定義為所有的字節(jié)數(shù)模上8的結(jié)果(1~8)。 文件加密 設(shè)計(jì)思想針對RSA適用于較短文件如密鑰口令的加密,SPN適用于較長文件的加密,于是對于一個(gè)文件,首先用RSA加密SPN的密鑰,再用SPN加密文件中的全部內(nèi)容,特別注意的是短塊處理。預(yù)先產(chǎn)生RSA的參數(shù)及中國剩余定理的參數(shù)放入generate_key文件中,加解密時(shí)從中取出并參與運(yùn)算。BN_mul(vector_q, p, n_p, ctx)。BN_mul(vector_p, q, n_q, ctx)。 //求逆函數(shù)BN_mod_inverse(n_q, q, p, ctx)。其中e_p和e_q分別為模p和模q的方程中的指數(shù),由歐拉定理得到。}中國剩余定理:將n寫為
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1