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

正文內(nèi)容

密碼學(xué)課程設(shè)計(jì)報(bào)告-資料下載頁

2025-01-21 16:57本頁面
  

【正文】 partLen) { memcpy(amp。_buffer[index], input, partLen)。 transform(_buffer)。 //對(duì)當(dāng)前輸入的剩余字節(jié)做轉(zhuǎn)換 for (i = partLen。 i + 63 length。 i += 64) { transform(amp。input[i])。 } index = 0。 } else { i = 0。 } memcpy(amp。_buffer[index], amp。input[i], length i)。}(4)獲取加密的最終結(jié)果:void MD5::final() { byte bits[8]。 uint32 oldState[4]。 uint32 oldCount[2]。 uint32 index, padLen。 //保存當(dāng)前狀態(tài) memcpy(oldState, _state, 16)。 memcpy(oldCount, _count, 8)。 //將要被轉(zhuǎn)換的信息的bits長度拷貝到bits中 encode(_count, bits, 8)。//計(jì)算所有的bits長度的字節(jié)數(shù)的模64 index = (uint32)((_count[0] 3) amp。 0x3f)。 //計(jì)算需要填充的字節(jié)數(shù),padLen的取值范圍在164之間 padLen = (index 56) ? (56 index) : (120 index)。 //這一次函數(shù)笤俑絕對(duì)不會(huì)再導(dǎo)致MD5Transform的被調(diào)用,因?yàn)檫@一次不會(huì)填滿512bits update(PADDING, padLen)。 update(bits, 8)。 //將結(jié)果保存到digest中 encode(_state, _digest, 16)。 memcpy(_state, oldState, 16)。 memcpy(_count, oldCount, 8)。} 程序運(yùn)行結(jié)果如下所示 安全性分析MD5算法中,輸出的每一位都是輸入的每一位的函數(shù),邏輯函數(shù)F、G、H、I的復(fù)雜迭代使得輸出對(duì)輸入的依賴非常小。但是,Berson已經(jīng)證明,對(duì)單輪的MD5算法,利用差分密碼分析,可以在合理時(shí)間內(nèi)找出摘要相同的兩條報(bào)文。MD5算法抗密碼分析的能力較弱,對(duì)MD5的生日攻擊所需代價(jià)是需要試驗(yàn)264個(gè)消息。2004年8月17日,在美國加州圣巴巴拉召開的美密會(huì)(Crypto2004)上,中國的王小云、馮登國、來學(xué)嘉、于紅波4位學(xué)者宣布,只需1小時(shí)就可找出MD5的碰撞。(利用差分分析) 五、 公鑰密碼算法RSA, 在1978年發(fā)現(xiàn)了一種用數(shù)論構(gòu)造雙鑰體制的方法,稱作MIT體制,后來被廣泛稱之為RSA體制。它既可用于加密、又可用于數(shù)字簽名。RSA算法的安全性基于數(shù)論中大整數(shù)分解的困難性。RSA算法,它通常是先生成一對(duì)RSA 密鑰,其中之一是保密密鑰,由用戶保存;另一個(gè)為公開密鑰,可對(duì)外公開,甚至可在網(wǎng)絡(luò)服務(wù)器中注冊(cè)。為提高保密強(qiáng)度,RSA密鑰至少為500位長,一般推薦使用1024位。這就使加密的計(jì)算量很大。為減少計(jì)算量,在傳送信息時(shí),常采用傳統(tǒng)加密方法與公開密鑰加密方法相結(jié)合的方式,即信息采用改進(jìn)的DES或IDEA對(duì)話密鑰加密,然后使用RSA密鑰加密對(duì)話密鑰和信息摘要。對(duì)方收到信息后,用不同的密鑰解密并可核對(duì)信息摘要。 RSA算法是第一個(gè)能同時(shí)用于加密和數(shù)字簽名的算法,也易于理解和操作。RSA是被研究得最廣泛的公鑰算法,從提出到現(xiàn)在的三十多年里,經(jīng)歷了各種攻擊的考驗(yàn),逐漸為人們接受,普遍認(rèn)為是目前最優(yōu)秀的公鑰方案之一。 算法原理及設(shè)計(jì)思想-密鑰產(chǎn)生KG( ):(1) 獨(dú)立地選取兩大素?cái)?shù)p和q(各100~200位十進(jìn)制數(shù)字)(2) 計(jì)算 n=pq,其歐拉函數(shù)值j(n)=(p-1)(q-1)(3) 隨機(jī)選一整數(shù)e,1163。ej(n),gcd(j(n), e)=1(4) (4)在模j(n)下,計(jì)算e的有逆元d=e 1 mod j(n) (5) (5)以n,e為公鑰。私鑰為d。(p, q不再需要,可以銷毀。)-加密E( )和解密D( ):(1)加密將明文分組,各組對(duì)應(yīng)的十進(jìn)制數(shù)小于nc=me mod n(2)解密 m=cd mod n:RSA算法滿足公開密鑰加密的要求,必須符合下列條件(1)有可能找到e, d, n的值,使得對(duì)所有Mn有Med mod n = M(2)對(duì)于所有Mn的值,要計(jì)算Me和Cd是相對(duì)容易的(3)在給定e和n時(shí),計(jì)算出d是不可行的(4)幾個(gè)關(guān)系φ(n) = φ(pq) = φ(p)φ(q) = (p1)(q1), p,q are primeed mod φ(n)=1, ed = kφ(n) + 1, 即ed≡1 mod φ(n), d≡e1 mod φ(n)//求b模a的乘法逆,擴(kuò)展Euclidian算法 long double inverse(long double a,long double b) { long double a0,b0,t0,t,q,r。//用t返回要求的a的值 a0=a。 b0=b。 t0=0。t=1。q=floor(a0/b0)。//取整 r=a0q*b0。 while(r0){ long double temp。temp=fmod((t0q*t),a)。t0=t。t=temp。a0=b0。 b0=r。q=floor(a0/b0)。r=a0q*b0。 }//選擇的b不滿足 if(b0!=1)coutFailed!Please check b you entered.endl。 //gcd(mult_n,b)=1else return t。}//處理用戶輸入的字符串,用RSA密碼體制加解密void enc_dec(double tt,double nn) {double t=tt。//傳遞的a或b double n=nn。//傳遞的n,n=p*qdouble ci,ch。//中間變量,用于數(shù)據(jù)類型間的轉(zhuǎn)換 string input。//字符串類型,用于存儲(chǔ)輸入的字符串 //用戶輸入要加解密的字符串 coutendlPlease enter your message:。 cininput。//用戶輸入要加密的字符串,本程序只處理連續(xù)大小寫英文字母 //處理并儲(chǔ)存結(jié)果 const int lenth=()。//輸入字符串的字符數(shù) char output[2000]。//用字符數(shù)組來存儲(chǔ)處理好的字符串 int i。for(i=0。ilenth。++i)//逐字符處理 {//如果輸入的字符是大寫字母 if(input[i]=39。a39。amp。amp。input[i]=39。z39。) {ci=input[i]。ci=97。//編碼 ch=fmod(pow(ci,t),n)。//加解密算法 while(ch25){ ch=fmod(ch,26)。}ch+=97。//解碼 } //如果輸入的字符是小寫字母 else if(input[i]=39。A39。amp。amp。input[i]=39。Z39。{ ci=input[i]。 ci=65。//編碼ch=fmod(pow(ci,t),n)。//加解密算法 while(ch25){ ch=fmod(ch,26) ch+=65。//解碼 }output[i]=char(ch)。//把處理好的字符存入數(shù)組 }程序可以生成公鑰和私鑰,還可以加密和解密信息。RSA的安全性依賴于大數(shù)分解,但是否等同于大數(shù)分解一直未能得到理論上的證明,因?yàn)闆]有證明破解 RSA就一定需要作大數(shù)分解。假設(shè)存在一種無須分解大數(shù)的算法,那它肯定可以修改成為大數(shù)分解算法。目前, RSA 的一些變種算法已被證明等價(jià)于大數(shù)分解。不管怎樣,分解n是最顯然的攻擊方法?,F(xiàn)在,人們已能分解多個(gè)十進(jìn)制位的大素?cái)?shù)。因此,模數(shù)n 必須選大一些,因具體適用情況而定。n的長度應(yīng)該介于1024bit到2048bit之間。針對(duì)RSA最流行的攻擊一般是基于大數(shù)因數(shù)分解。1999年,RSA155(512 bits)被成功分解,花了五個(gè)月時(shí)間(約8000 MIPS 年)和224 CPU hours C916計(jì)算機(jī)上完成 。 2002年,RSA158也被成功因數(shù)分解。 2009年12月12日,編號(hào)為 RSA768 (768 bits, 232 digits)數(shù)也被成功分解。 北京時(shí)間2月15日上午消息,據(jù)《紐約時(shí)報(bào)》周二報(bào)道,歐美數(shù)學(xué)家和密碼學(xué)家偶然發(fā)現(xiàn),目前被全世界廣泛應(yīng)用的公鑰加密算法RSA存在漏洞。 他們發(fā)現(xiàn)。也就是說,或許有人可以找出產(chǎn)生公鑰的秘密質(zhì)數(shù)。 該研究項(xiàng)目是由美國獨(dú)立密碼學(xué)家James K. Lenstra牽頭的。他們的報(bào)告稱:“我們發(fā)現(xiàn)絕大多數(shù)公鑰都是按理論產(chǎn)生的,但是每一千個(gè)公鑰中會(huì)有兩個(gè)存在安全隱患。” 報(bào)告稱,為防止有人利用該漏洞,有問題的公鑰已從公眾訪問的數(shù)據(jù)庫中移除。為確保系統(tǒng)的安全性,網(wǎng)站需要在終端做出改變。RSA的選擇密文攻擊RSA在選擇密文攻擊面前很脆弱。一般攻擊者是將某一信息作一下偽裝( Blind),讓擁有私鑰的實(shí)體簽署。然后,經(jīng)過計(jì)算就可得到它所想要的信息。這個(gè)固有的問題來自于公鑰密碼系統(tǒng)的最有用的特征每個(gè)人都能使用公鑰。但從算法上無法解決這一問題,主要措施有兩條:一條是采用好的公鑰協(xié)議,保證工作過程中實(shí)體不對(duì)其他實(shí)體任意產(chǎn)生的信息解密,不對(duì)自己一無所知的信息簽名;另一條是決不對(duì)陌生人送來的隨機(jī)文檔簽名,簽名時(shí)首先使用OneWay HashFunction 對(duì)文檔作HASH處理,或同時(shí)使用不同的簽名算法。RSA的公共模數(shù)攻擊若系統(tǒng)中共有一個(gè)模數(shù),只是不同的人擁有不同的e和d,系統(tǒng)將是危險(xiǎn)的。最普遍的情況是同一信息用不同的公鑰加密,這些公鑰共模而且互質(zhì),那么該信息無需私鑰就可得到恢復(fù)。六、設(shè)計(jì)體會(huì) 此次《密碼學(xué)課程設(shè)計(jì)》實(shí)驗(yàn)課持續(xù)的時(shí)間比較長,自己感覺收獲還是很多的,對(duì)密碼學(xué)中比較經(jīng)典的幾類密碼算法又熟悉了一遍,并且通過編程的方式進(jìn)行了驗(yàn)證。 這次的課程設(shè)計(jì)我的時(shí)間分配大致是這樣的,針對(duì)不同的算法分配不同的時(shí)間,比如要編寫DES給自己23周的時(shí)間,但是實(shí)際上花費(fèi)的時(shí)間更多,覺得自己在理論方面并沒有太大問題,算法的原理過程都比較熟悉,對(duì)自己來說比較困難的就是讓理論變成編程過程中所對(duì)應(yīng)的函數(shù)和算法,由于自己動(dòng)手能力不是很好,再自己編寫了兩周后最后決定在網(wǎng)上找資料,研究別人的算法,將程序讀懂,我覺得這不是很困難,我在讀懂程序的基礎(chǔ)上,又按自己的思路對(duì)里面的函數(shù)及算法進(jìn)行改進(jìn),這樣下來完成一個(gè)算法要4周多的時(shí)間還要包括課下自己的練習(xí)。但是我覺得很值得,我覺得在這門課里面我學(xué)到了很多,對(duì)以前沒有深刻理解的知識(shí)也變得熟悉起來,比如C++中指針的使用,還有移位操作及異或操作等等。還學(xué)到了如何將字符數(shù)組轉(zhuǎn)化為字節(jié)數(shù)組等等。 對(duì)于這門課我覺得自己花費(fèi)的時(shí)間和精力還是很多的,因?yàn)樽约合胍院髲氖旅艽a學(xué)方面的研究,在該課程設(shè)計(jì)的過程中,我還又把老師原來上課給的課件和好多的資料也瀏覽了一遍,當(dāng)初老師真的給我們很多有用的資料,就是以前自己沒有好好利用,在以后的學(xué)習(xí)中,我會(huì)更加努力,在現(xiàn)有的基礎(chǔ)上加深對(duì)更多密碼算法的理解,爭取在以后的學(xué)習(xí)中做出更大的成績。33
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1