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

正文內(nèi)容

des算法的實(shí)現(xiàn)及安全性分析畢業(yè)論文-資料下載頁

2025-06-28 08:26本頁面
  

【正文】 plainBlock,subKeys,cipherBlock)。fwrite(cipherBlock,sizeof(char),8,cipher)。}fclose(plain)。fclose(cipher)。returnOK。}//解密文件intDES_Decrypt(char*cipherFile,char*keyStr,char*plainFile){FILE*plain,*cipher。intcount,times=0。longfileLen。ElemTypeplainBlock[8],cipherBlock[8],keyBlock[8]。ElemTypebKey[64]。ElemTypesubKeys[16][48]。if((cipher=fopen(cipherFile,rb))==NULL) {returnCIPHER_FILE_OPEN_ERROR。}if((plain=fopen(plainFile,wb))==NULL) {returnPLAIN_FILE_OPEN_ERROR。}//設(shè)置密鑰memcpy(keyBlock,keyStr,8)。Char8ToBit64(keyBlock,bKey)。DES_MakeSubKeys(bKey,subKeys)。 fseek(cipher,0,SEEK_END)。//將文件指針置尾fileLen=ftell(cipher)。//取文件指針當(dāng)前位置rewind(cipher)。//將文件指針重指向文件頭while(1){fread(cipherBlock,sizeof(char),8,cipher)。DES_DecryptBlock(cipherBlock,subKeys,plainBlock)。times+=8。if(timesfileLen){fwrite(plainBlock,sizeof(char),8,plain)。}else{break。}}//判斷末尾是否被填充if(plainBlock[7]8){for(count=8plainBlock[7]。count7。count++){if(plainBlock[count]!=39。\039。){break。}}}if(count==7){//有填充fwrite(plainBlock,sizeof(char),8plainBlock[7],plain)。} else{//無填充fwrite(plainBlock,sizeof(char),8,plain)。} fclose(plain)。fclose(cipher)。returnOK。}intmain(){clock_ta,b。a=clock()。DES_Encrypt(,)。b=clock()。printf(加密消耗%d毫秒\n,ba)。system(pause)。a=clock()。DES_Decrypt(,)。b=clock()。printf(解密消耗%d毫秒\n,ba)。getchar()。return0。}DES算法安全性問題①DES算法密鑰的長度最初的羅斯福密碼中密鑰長度為128位,DES的加密單位僅有64位二進(jìn)制,而且其中某些位還要用于奇偶校驗(yàn)或其他通訊開銷,有效密鑰只有56位, 這對于數(shù)據(jù)傳輸來說太小,各次迭代中使用的密鑰Ki是遞推產(chǎn)生的,這種相關(guān)性必然降低了密碼體制的安全性。因此,人們會對56位密鑰的安全性產(chǎn)生質(zhì)疑,那么56位密鑰是否足夠,已成為人們爭論的焦點(diǎn)之一。 至今,最有效的破解DES算法的方法是窮舉搜索法,那么56位長的密鑰總共要測試256次,如果每100毫秒可以測試1次,1015秒,大約是228,493,000年。但是,仍有學(xué)者認(rèn)為在可預(yù)見的將來用窮舉法尋找正確密鑰已趨于可行,所以若要安全保護(hù)10年以上的數(shù)據(jù)最好不用DES算法。 近年來有人提出用差分和線性攻擊方案來破解DES算法,雖然,從理論上來說破譯的性能高于窮舉搜索法,但要有超高速計(jì)算機(jī)提供支持,以致于美國國家保密局和計(jì)算機(jī)科學(xué)技術(shù)學(xué)會組織各界專家研究DES密碼體制的安全性問題后,得出樂觀的結(jié)論:沒有任何可以破譯DES密碼體制的系統(tǒng)分析法。若使用窮舉法,則在1990年以前基本上不可能產(chǎn)生出每天能破譯一個(gè)DES密鑰的專用計(jì)算機(jī)。即使屆時(shí)能制造出這樣的專用機(jī),而且造價(jià)可能高達(dá)幾千萬美元。根據(jù)目前的計(jì)算技術(shù)和DES的分析情況,16圈DES(采用16輪迭代)仍然是安全的,但提醒使用者不要使用低于16圈的DES,特別是10圈以下的DES。盡管如此,我們?nèi)匀恍枰紤]對DES算法進(jìn)行改進(jìn),使密鑰長度增加些,以實(shí)現(xiàn)更好的保密功能。② 多重DES算法 針對DES算法上的缺陷,各國專家們都在研究如何增強(qiáng)DES算法的安全性,現(xiàn)在已發(fā)展出幾十種改進(jìn)的DES,經(jīng)過比較,筆者認(rèn)為多重DES具有較高的可行性。 為了增加密鑰的長度,采用多重DES加密技術(shù),將分組密碼進(jìn)行級聯(lián),在不同的密鑰作用下,連續(xù)多次對一組明文進(jìn)行加密。針對DES算法,專家們的共識是采用③重DES加密算法。③重DES方法需要執(zhí)行③次常規(guī)的DES加密步驟,但最常用的③重DES算法中僅僅用兩個(gè)56位DES密鑰。假設(shè)這兩個(gè)密鑰為K1與K2,其算法的步驟是: (1)用密鑰K1進(jìn)行DES加密; (2)用步驟1的結(jié)果使用密鑰K2進(jìn)行DES解密; (3)用步驟2的結(jié)果使用密鑰K1進(jìn)行DES加密。 這個(gè)過程稱為EDE(加密解密加密)。三重DES可使加密密鑰長度擴(kuò)展到128位,其中有效112位。三重DES的112位密鑰長度在可以預(yù)見的將來可認(rèn)為是合適的、安全的,據(jù)稱,目前尚無人找到針對此方案的攻擊方法。因?yàn)橐谱g它可能需要嘗試256個(gè)不同的56位密鑰直到找到正確的密鑰。但是三重DES的時(shí)間是DES算法的3倍,時(shí)間開銷較大。③避開DES算法漏洞,實(shí)現(xiàn)安全管理 在DES密鑰Key的使用、管理及密鑰更換的過程中,應(yīng)絕對避開DES算法的應(yīng)用誤區(qū),即:絕對不能把Key的第124…64位作為有效數(shù)據(jù)位,來對Key進(jìn)行管理。從上述DES算法的描述中知道,每個(gè)字節(jié)的第8位作為奇偶校驗(yàn)位以確保密鑰不發(fā)生錯(cuò)誤,這8位不參與DES運(yùn)算。因此,特別推薦給金融銀行界及非金融業(yè)界的領(lǐng)導(dǎo)及決策者們,尤其是負(fù)責(zé)管理密鑰的人,要對此點(diǎn)予以高度重視。有的銀行金融交易網(wǎng)絡(luò),利用定期更換DES密鑰Key的辦法來進(jìn)一步提高系統(tǒng)的安全性和可靠性,如果忽略了上述應(yīng)用誤區(qū),那么,更換新密鑰將是徒勞的,將威脅到金融交易網(wǎng)絡(luò)的安全運(yùn)行,所以更換密鑰一定要保證新Key與舊Key真正的不同,即除了第124…64位以外其它位數(shù)據(jù)發(fā)生了變化,這樣才能保證DES算法安全可靠發(fā)揮作用,須務(wù)必對此保持高度重視?,F(xiàn)代密碼學(xué)的特征是算法可以公開。保密的關(guān)鍵是如何保護(hù)好自己的密鑰,而破密的關(guān)鍵則是如何能破解得到密鑰。系統(tǒng)的安全主管者,要根據(jù)本系統(tǒng)實(shí)際所使用的密鑰長度與其所保護(hù)的信息的敏感程度、重要程度以及系統(tǒng)實(shí)際所處安全環(huán)境的惡劣程度,在留有足夠的安全系數(shù)的條件下來確定其密鑰和證書更換周期的長短。同時(shí),將已廢棄的密鑰和證書放入黑庫歸檔,以備后用。密鑰更換周期的正確安全策略是系統(tǒng)能夠安全運(yùn)行的保障,是系統(tǒng)的安全管理者最重要、最核心的日常工作任務(wù)。④弱密鑰在DES算法中存在12個(gè)半弱密鑰和4個(gè)弱密鑰。由于在子密鑰的產(chǎn)生過程中,密鑰被分成了2個(gè)部分,如果這2個(gè)部分分成了全0或全1,那么每輪產(chǎn)生的子密鑰都是相同的,當(dāng)密鑰是全0或全1,或者一半是1或0時(shí),就會產(chǎn)生弱密鑰或半弱密鑰,DES算法的安全性就會變差。在設(shè)定密鑰時(shí)應(yīng)避免弱密鑰或半弱密鑰的出現(xiàn)。防范/破譯分析 破譯者根據(jù)明文和密文反算出相應(yīng)的K、LO、RO和x(L16和 1t16),進(jìn)而推理KKK3 ...K16 ,便可得到密鑰(Key),但是明文參與K1,...K16的生成,因此,試算K1...K16極其困難,然而,在現(xiàn)實(shí)情況下,破譯者只要根據(jù)密文得出明文就能達(dá)到目的,不用破譯出密鑰(Key)。 在POS、ATM、磁卡及智能卡(IC卡)、加油站 、高速公路收費(fèi)站以及網(wǎng)上電子銀行等領(lǐng)域,DES算法用來實(shí)現(xiàn)用戶口令密碼的保密,如信用卡持卡人的PIN碼加密傳輸。很多情況下個(gè)人用戶常常用自己名字的拼、親朋好友名字的拼音、好記的英語單詞、出生年月等為口令密碼,而且口令密碼長度常在6~12個(gè)字母,其中8~10個(gè)字母的概率更大。 在有些領(lǐng)域只能用 0 到9這10個(gè)數(shù)來當(dāng)口令密碼,并且長度常為6~8個(gè)字母。破譯者試算出 K,進(jìn)而得出明文(口令密碼)的難度大大降低,如果破譯者熟悉應(yīng)用領(lǐng)域,試算出K會變得更容易。 在上述情況下,為提高安全性能,可在明文(口令密碼)初始置換之前,用傳統(tǒng)的加密法進(jìn)行 加密,使明文變得無含義,生成第二明文 ,然后對第二明文進(jìn)行DES加密。 DES算法的應(yīng)用 自DES算法頒布之后,引起了學(xué)術(shù)界和企業(yè)界的廣泛重視。許多廠家很快生產(chǎn)出實(shí)現(xiàn)DES算法的硬件產(chǎn)品,廣大用戶在市場上買到高速而又廉價(jià)的DES硬件產(chǎn)品之后,開始用它加密自己的重要數(shù)據(jù),從而大大推廣了密碼技術(shù)的使用。 DES算法的入口參數(shù)有3個(gè):Key、Data、Mode。其中Key為8個(gè)字節(jié)共64位,是DES算法的工作密鑰;Data也為8個(gè)字節(jié)64位,是要被加密或被解密的數(shù)據(jù);Mode為DES的工作方式,有兩種:加密和解密。DES算法是這樣工作的:如Mode為加密,則用Key去把數(shù)據(jù)Data進(jìn)行加密,生成Data的密碼形式(64位)作為DES的輸出結(jié)果;如Mode為解密,則用Key去把密碼形式的數(shù)據(jù)Data解密,還原為Data的明碼形式(64位)作為DES的輸出結(jié)果。 在通信網(wǎng)絡(luò)的兩端,雙方約定了一致的Key,在通信的源點(diǎn)用Key對核心數(shù)據(jù)進(jìn)行DES加密,然后以密碼形式在公共通信網(wǎng)(如電話網(wǎng))中傳輸?shù)酵ㄐ啪W(wǎng)絡(luò)的終點(diǎn),數(shù)據(jù)到達(dá)目的地后,用同樣的Key對密碼數(shù)據(jù)進(jìn)行解密,便再現(xiàn)了明碼形式的核心數(shù)據(jù)。這樣,便保證了核心數(shù)據(jù)(如PIN、MAC等)在公共通信網(wǎng)中傳輸?shù)陌踩院涂煽啃?。通過定期在通信網(wǎng)絡(luò)的源端和目的端同時(shí)改用新的Key,便能更進(jìn)一步提高數(shù)據(jù)的保密性,這正是現(xiàn)在金融交易網(wǎng)絡(luò)的流行做法。,微軟公司提供了DES公用密鑰的加密類,使用它,我們可以自己編制自己的標(biāo)準(zhǔn)DES加密算法。在任何一個(gè)單位,程序員只要設(shè)計(jì)此程序就能對零散離散文件進(jìn)行加密傳輸,而如果要和其他單位交換數(shù)據(jù),由于使用的公用算法,只需要向?qū)Ψ教峁┟荑€及算法說明即可,使用非常方便。結(jié)束語 DES算法對大量明文數(shù)據(jù)加密具有極高的安全性,但對少量明文數(shù)據(jù)加密的安全性較差。本文通過分析DES算法對明文的實(shí)質(zhì)加密過程,可以看出,在應(yīng)用DES算法的某些領(lǐng)域,DES算法應(yīng)用還存在不足,破譯者較易得出明文,將嚴(yán)重影響DES算法的安全強(qiáng)度,必須進(jìn)一步加強(qiáng)安全防范。 20
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1