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

正文內(nèi)容

基于rsa的數(shù)字簽名的設(shè)計(jì)與實(shí)現(xiàn)42650(參考版)

2025-06-21 16:39本頁面
  

【正文】 除非另有科研合同和其他法律文書的制約,本論文的科研成果屬于成都信息工程學(xué)院。(4)學(xué)??稍试S學(xué)位論文被查閱或借閱。(2)學(xué)??梢圆捎糜坝?、縮印或其他復(fù)制方式保存學(xué)位論文。除非另有說明,本文的工作是原始性工作。在此向他表示我最衷心的感謝!在論文完成過程中,本人還得到了張仕斌老師和陳偉同學(xué)的熱心幫助,本人向他們表示深深的謝意!最后向在百忙之中評(píng)審本文的各位專家、老師表示衷心的感謝!作者簡(jiǎn)介: 姓 名: 官麗梅 性別: 女出生年月: 1985年3月18日 民族:漢 Email: laijunabc 聲 明本論文的工作是 2007年 2 月至2007年 6 月在成都信息工程學(xué)院 系完成的。[11] 王 [J] .計(jì)算機(jī)應(yīng)用研究,1998,(3):2124。[9] Mao W著,[M].北京:電子工業(yè)出版社,2004。[7] 張 [J].計(jì)算機(jī)世界A9版,2000,(3):2528。[5] [M].北京:國(guó)防工業(yè)出版社,2001。[3] 蔡樂才,[M]. 北京:中國(guó)電力出版社,2005。參考文獻(xiàn)[1] [M].北京:清華大學(xué)出版社,1998。RSA數(shù)字簽名提供了一個(gè)安全的確認(rèn)發(fā)送方身份的方法,即數(shù)字簽名的真實(shí)性得到了保證,防止了第三方的冒充和篡改,肯定了數(shù)字簽名的真實(shí)性。RSA算法是一種安全技術(shù),但是RSA算法的安全性只是一種計(jì)算安全性,絕不是無條件的安全性,這是由它的理論基礎(chǔ)決定的。但是運(yùn)用越來越廣泛的網(wǎng)絡(luò)安全技術(shù)數(shù)字簽名,今后也很可能導(dǎo)致毫無私密可言。和數(shù)字簽名有關(guān)的復(fù)雜認(rèn)證能力就像現(xiàn)在操作、應(yīng)用環(huán)境中的口令保護(hù)一樣直接做進(jìn)操作系統(tǒng)環(huán)境、應(yīng)用、遠(yuǎn)程訪問產(chǎn)品、信息系統(tǒng)等中, 。 RSA數(shù)字簽名的前景展望基于RSA算法的數(shù)字簽名在2000年的第六屆國(guó)際密碼學(xué)會(huì)議上被推薦為公鑰密碼系統(tǒng)的加密算法中的一種,則RSA數(shù)字簽名有較好的發(fā)展空間。總之,對(duì)一個(gè)數(shù)字簽名系統(tǒng)而言,重要的是從整體上研究,而不應(yīng)局限于系統(tǒng)的一部分。因?yàn)槿鬱達(dá)到n的1/4大小,且 e比n 小,則有方法可以恢復(fù)d;2)在使用RSA的通信網(wǎng)絡(luò)協(xié)議中,不應(yīng)該使用公共模 n ,這是因?yàn)橐呀?jīng)知道了對(duì)于一個(gè)加密/解密密鑰指數(shù)對(duì),攻擊者就能分解這個(gè)模,也就可以不分解n 來計(jì)算出別的加密/解密對(duì);3)不要讓攻擊者得到原始的解密結(jié)果;4)相關(guān)的消息不要用相同的密鑰加密;5)在實(shí)際運(yùn)用中不要對(duì)一個(gè)陌生人提交的隨機(jī)消息解密,不對(duì)自己一無所知的信息簽名,要先利用一個(gè)單向散列函數(shù)對(duì)消息進(jìn)行散列hash(MD5)處理,盡管Hash(MD5) 算法是公開的,但是根據(jù)hash(MD5)值計(jì)算出明文在統(tǒng)計(jì)學(xué)上是不可能的。因?yàn)镽SA的安全性則是依賴于分解大素?cái)?shù)的難度。 性能分析與改進(jìn)優(yōu)化經(jīng)過一系列的測(cè)試,本軟件存在較多的需要改進(jìn)和優(yōu)化的地方:(1)在素?cái)?shù)的任意產(chǎn)生時(shí)沒有做到任意,本軟件只產(chǎn)生了兩個(gè)固定的素?cái)?shù)即47和71,所以在密鑰的產(chǎn)生時(shí)也就只有一對(duì)公鑰和一對(duì)私鑰,應(yīng)該進(jìn)行的改進(jìn)是在素?cái)?shù)的產(chǎn)生中增加相應(yīng)的函數(shù)來實(shí)現(xiàn)素?cái)?shù)的任意產(chǎn)生,以便生成不同的密鑰;(2)在產(chǎn)生消息摘要時(shí)針對(duì)的僅是一系列的字符串,即只能對(duì)字符串產(chǎn)生消息摘要而不能對(duì)文件產(chǎn)生消息摘要,進(jìn)行的改進(jìn)是能同時(shí)對(duì)字符串和文件都能計(jì)算出所對(duì)應(yīng)的消息摘要; (3)與(2)相關(guān)的是數(shù)字簽名中的加密和解密的也僅是字符串,而不能選擇所加密和解密的消息的類型(字符串和文件),為了使此類軟件能在實(shí)際應(yīng)用中發(fā)揮更好的作用所需要改進(jìn)的一個(gè)核心就是能把文件的部分也加入該軟件,使該軟件能同時(shí)對(duì)字符串和文件發(fā)揮作用;(4)該軟件的簽名和驗(yàn)證都是在同一界面實(shí)現(xiàn)的,而數(shù)字簽名應(yīng)該在兩個(gè)不同的界面下完成即有發(fā)送方和接收方,則相應(yīng)的改進(jìn)是能實(shí)現(xiàn)文件的傳送。產(chǎn)生的消息摘要和解密得到的消息摘要(在此處是解密信息)是完全一樣的,則證明了數(shù)字簽名的真實(shí)性。如果兩個(gè)消息摘要是一樣的則證明RSA數(shù)字簽名者的身份的真實(shí)性,從而實(shí)現(xiàn)了RSA數(shù)字簽名。 } //顯示結(jié)果 (message)。d39。 d=fmod(data*d,n)。139。 d=fmod(d*d,n)。i=0。d=1。中 data=result[j]。j++) { //從result中讀取字符放入 39。 for(int j=0。 GetOnlyProperBits(bits)。 //用于存儲(chǔ)解密信息 char message[200]。 long i,k。 double data。 char bits[100]。驗(yàn)證數(shù)字簽名主要實(shí)現(xiàn)過程的代碼如下:int NO_BITS。} 驗(yàn)證數(shù)字簽名的設(shè)計(jì)與實(shí)現(xiàn)得到數(shù)字簽名用公鑰e解密數(shù)字簽名得到消息摘要(解密信息)開始結(jié)束圖34 驗(yàn)證數(shù)字簽名流程 驗(yàn)證數(shù)字簽名的正確與成功性,主要是比較得到的兩次消息摘要是否一樣,如果驗(yàn)證方用簽名方的公鑰解密得到消息摘要(即是本設(shè)計(jì)中得到的解密信息)和他自己計(jì)算得到的消息摘要(在本系統(tǒng)中為第一次計(jì)算得到的消息摘要)是一樣的,則證明簽名是正確的,沒有被篡改或是冒充,驗(yàn)證簽名的原理則是根據(jù)RSA的解密算法,具體的理論流程圖如圖34所示:(在本設(shè)計(jì)中簽名和驗(yàn)證簽名都在同一界面實(shí)現(xiàn),不進(jìn)行文件的雙方傳輸)驗(yàn)證數(shù)字簽名的過程時(shí)應(yīng)用的解密算法是RSA的解密原理,而RSA的解密過程也應(yīng)用了求一個(gè)整數(shù)的整數(shù)次冪,再取模的運(yùn)算。 strrev(str)。 } str[i]=39。 i++。 break。 case 15 : str[i]=39。E39。 break。 case 13 : str[i]=39。C39。 break。 case 11 : str[i]=39。A39。 break。 case 9 : str[i]=39。839。 break。 case 7 : str[i]=39。639。 break。 case 5 : str[i]=39。439。 break。 case 3 : str[i]=39。239。 break。 case 1 : str[i]=39。039。 b=tt%16。 long tt=x。 //商 int a。 } //字符串變?yōu)?6進(jìn)制數(shù)的函數(shù)的實(shí)現(xiàn)longtohex(long x){ char str[8]。 //把字符串變?yōu)槭M(jìn)制數(shù)后連接字符串 strcat(showstr,longtohex(d))。d39。 d=fmod(data*d,n)。139。 d=fmod(d*d,n)。i=0。d=1。 data =(double)ch。data39。iilen。 k=NO_BITS = strlen(bits)1。 //將十進(jìn)制數(shù)私鑰d轉(zhuǎn)換為二進(jìn)制D_to_B(m_d,32,bits)。 long i,k=NO_BITS。 double data。 double n=(double)m_n。 double c=0,d=1。 char showstr[1000]=。 //從文本框中得到消息摘要 (message,200)。得到的結(jié)果d才為該步的最終結(jié)果。4)若二進(jìn)制數(shù)是1,則在上面的運(yùn)算后繼續(xù)以下運(yùn)算:c=c+1。它的運(yùn)算過程為(假如要算a^m mod n):1)將m表示為二進(jìn)制的形式;2)初始化c=0,d=1,c在這里表示指數(shù)的部分結(jié)果,它的終值即為指數(shù)m,d是中間結(jié)果,它的終值即為所求結(jié)果;3)從二進(jìn)制數(shù)的最高位到最低位開始對(duì)每一位都用公式1進(jìn)行運(yùn)算,得到的d為該步的結(jié)果,公式1:c=2*c。如果按其含義直接計(jì)算,則中間結(jié)果非常大,有可能超出計(jì)算機(jī)所允許的整數(shù)取值范圍。數(shù)字簽名中的加密算法就是應(yīng)用的RSA加密原理,而它的驗(yàn)證算法則是應(yīng)用的RSA解密原理。 數(shù)字簽名的設(shè)計(jì)實(shí)現(xiàn) 數(shù)字簽名的理論實(shí)現(xiàn)流程圖如圖33所示,數(shù)字簽名,就是通過在數(shù)據(jù)單元上附加數(shù)據(jù),或?qū)?shù)據(jù)單元進(jìn)行加密變換,從而使接收者可以確認(rèn)數(shù)據(jù)來源和完整性。//將64字節(jié)位轉(zhuǎn)換為16個(gè)字節(jié) Transform(x)。i++) { x[++Index]=WriteMessage[i]。//循環(huán),將原始信息以64字節(jié)為一組拆分進(jìn)行處理 for( i=0,Index=1。i++) WriteMessage+=m_MsgLen[i]。 } //將原始信息長(zhǎng)度附加在補(bǔ)位后 的數(shù)據(jù)后面for( i=0。i++) { if(i==0) WriteMessage+=(unsigned char)0x80。//對(duì)原始信息進(jìn)行補(bǔ)位 for( i=0。 //初始化MD5所需常量Init()。} 產(chǎn)生消息摘要的設(shè)計(jì)實(shí)現(xiàn)計(jì)算消息摘要的理論實(shí)現(xiàn)流程圖如圖32所示:初始化MD5所需的常量計(jì)算所需的追加長(zhǎng)度對(duì)原始信息進(jìn)行補(bǔ)位將輸入分成512位的塊循環(huán)處理塊得到消息摘要圖32 消息摘要計(jì)算流程在以上流程圖中其中循環(huán)處理塊是最重
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1