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

正文內(nèi)容

基于rsa的數(shù)字簽名的設計與實現(xiàn)—免費畢業(yè)設計論文-全文預覽

2024-12-27 01:13 上一頁面

下一頁面
  

【正文】 在使用 RSA 的通信網(wǎng)絡協(xié) 議中,不應該使用公共模 n ,這是因為已經(jīng)知道了對于一個加密 /解密密鑰指數(shù)對,攻擊者就能分解這個模,也就可以不分解n 來計算出別的加密 /解密對; 3)不要讓攻擊者得到原始的解密結(jié)果; 4)相關(guān)的消息不要用相同的密鑰加密; 5)在實際運用中不要對一個陌生人提交的隨機消息解密,不對自己一無所知的信息簽名,要先利用一個單向散列函數(shù)對消息進行散列 hash( MD5)處理,盡管 Hash( MD5) 算法是公開的,但是根據(jù) hash( MD5)值計算出明文在統(tǒng)計學上是不可能的。 性能分析與改進優(yōu)化 經(jīng)過一系列的測試,本軟件存在較多的需要改進和優(yōu)化的地方: ( 1)在素數(shù)的任意產(chǎn)生時沒有做到任意,本軟件只產(chǎn)生了兩個固定的素數(shù)即 47 和 71,所以在密鑰的產(chǎn)生時也就只有一對公鑰和一對私鑰,應該進行的改進是在素數(shù)的產(chǎn) 生中 增加相應的函數(shù)來實現(xiàn)素數(shù)的任意產(chǎn)生,以便生成不同的密鑰; ( 2)在產(chǎn)生消息摘要時針對的僅是一系列的字符串,即只能對字符串產(chǎn)生消息摘要而不能對文件產(chǎn)生消息摘要, 進行的改進是能同時對字符串和文件都能計算出所對應的消息摘要; ( 3)與( 2)相關(guān)的是數(shù)字簽名中的加密和解密的也僅是字符串,而不能選擇所加密和解密的消息的類型(字符串和文件),為了使此類軟件能在實際應用中發(fā)揮更好的作用所需要改進的一個核心就是能把文件的部分也加入該軟件,使該軟件能同時對字符串和文件發(fā)揮作用; ( 4)該軟件的簽名和驗證都是在同一界面實現(xiàn)的,而數(shù)字簽名應該在兩個不同的界面下完成即有發(fā)送方和接收方,則相應的改進是能實現(xiàn)文件的傳送。如果兩個消息摘要是一樣的則證明 RSA數(shù)字簽名者的身份的真實性,從而實現(xiàn)了 RSA數(shù)字簽名。d39。139。i=0。中 data=result[j]。 for(int j=0。 //用于存儲解密信息 char message[200]。 double data。 驗證數(shù)字簽名 主要實現(xiàn)過程的代碼 如下: int NO_BITS。 strrev(str)。 i++。 case 15 : str[i]=39。 break。C39。 case 11 : str[i]=39。 break。839。 case 7 : str[i]=39。 break。439。 case 3 : str[i]=39。 break。039。 long tt=x。 } //字符串變?yōu)?16進制數(shù)的函數(shù)的 實現(xiàn) longtohex(long x) { char str[8]。d39。139。i=0。 data =(double)ch。iilen。 //將十進制數(shù)私鑰 d轉(zhuǎn)換為二進制 D_to_B(m_d,32,bits)。 double data。 double c=0,d=1。 //從文本框中得到消息摘要 (message,200)。 4)若二進制數(shù)是 1,則在上面的運算后繼續(xù)以下運算: c=c+1。如果按其含義直接計算,則中間結(jié)果非常大,有可能超出計算機所允許的整數(shù)取值范圍。 數(shù)字簽名的設計實現(xiàn) 數(shù)字簽名的理論實現(xiàn)流程圖如圖 33所示 , 數(shù)字簽名,就是通過在數(shù)據(jù)單元上附加數(shù)據(jù),或?qū)?shù)據(jù)單元進行加密變換,從而使接收者可以確認數(shù)據(jù)來源和完整性。i++) { x[++Index]=WriteMessage[i]。i++) WriteMessage+=m_MsgLen[i]。i++) { if(i==0) WriteMessage+=(unsigned char)0x80。 //初始化 MD5所需常量 Init()。 m_Prime1=47。 } } } //產(chǎn)生素數(shù)的函數(shù)的實現(xiàn) GeneratePrimeNumbers() { CString str。k++) { d=(m_Undef*k+1)/m_e。 long d_dash。 Y=R。 } //在這時 X總是比 Y大 for(。 } } } //互為素數(shù)的函數(shù)的實現(xiàn) IsRelativePrime(float X,float Y) { float R。 for(float i=2。e39。 (str)。e39。 //第一步 產(chǎn)生任意素數(shù) GeneratePrimeNumbers()。 實際應用時: a m1 = 1 ( mod m)? a m = a ( mod m) ?a= a m ( mod m), 因此對于整數(shù) m,只需計算 a m ( mod m),再將結(jié)果與 a比較,如果兩者相同,則 m為素數(shù)。 本軟件的總體設計都是基于 C++的開發(fā)環(huán)境,采用的是 Microsoft Visual c++ 。緩存可以看成是 4 個 32 比特的寄存器( A, B, C, D)。 MD5 算法以任意長度的消息作為輸入,產(chǎn)生一個 128 比特消息散列值(或稱消息摘要)作為輸出。比如在 unix系統(tǒng)中用戶的密碼就是以 md5(或其它類似的算法)經(jīng)加密后存儲在文件系統(tǒng)中。 md5 將整個文件當作一個大文本信息,通過其不可逆的字符串變換算法,產(chǎn)生了這個唯一的 md5信息摘要。驗證者比較解密得到的消息摘要和自己的消息摘要,如果兩者相同,則驗證成功,可以確認消息的完整性及簽名確實為簽名者的;否則,驗證失敗,確認簽名被冒充或是被篡改。 (2)對 MD作 RSA加密算法:采用簽名者的私鑰加密消息摘要,得到加密后的字符串即數(shù)字簽名; 2)驗證簽名算法 ( RSA解密、對消息摘要計算和比較) 驗證簽名算法包括兩步: RSA解密得簽名者的消息摘要,驗證者對原消息計算摘要,比較兩個消息摘要。 數(shù)字簽名的原理是:(發(fā)送方和接收方根據(jù)要求各自產(chǎn)生自己的一對公鑰和私鑰) 1)被發(fā)送文件采用某種算法對原始消息進行運算,得到一個固定長 度的數(shù)字串,稱為消息摘要( MD),不同的消息得到的消息摘要各異,但是對相同的消息它的消息摘要卻是唯一的; 2)發(fā)送方生成消息的消息摘要,用自己的私鑰對摘要進行加密來形成發(fā)送方的數(shù)字簽名; 3)這個數(shù)字簽名將作為消息的附件和消息一同用接收方的公鑰進行加密,將加密后的密文一起發(fā)送給接收方; 4)接收方首先把接收到的密文用自己的私鑰解密,得到原始消息和數(shù)字簽名,再用發(fā)送方的公鑰解密數(shù)字簽名,隨后用同樣的算法計算出消息摘要; 5)如果計算出來的消息摘要和發(fā)送方發(fā)送給他的消息摘要(通過解密數(shù)字簽名得到的)是相同的,這 樣接收方就能確認數(shù)字簽名確實是發(fā)送方的,否則就認為收到的消息是偽造的或是中途被篡改的。 為了實現(xiàn)數(shù)字簽名的以上性質(zhì),它就應滿足下列要求: 1)簽名是可信的:任何人都可以驗證簽名的有效性; 2)簽名是不可偽造的:除了合法的簽名者外,任何人偽造其簽名是困難的; 3)簽名是不可復制的:對一個消息的簽名不能通過復制變?yōu)榱硪粋€消息的簽名。數(shù)字簽名認證機制提供了一種對數(shù)字簽名進行鑒別的方法;身份認證機制提供了辨別和確認通信雙方真實身份的方法;公開密鑰證明機制則對密鑰進行驗證。安全的數(shù)字簽名使接收方可以得到保證:消息確實來自發(fā)送方。 ISO/IEC 9796和 ANSI 以及美國聯(lián)邦信息處理標準 FIPS 1862已經(jīng)將 RSA作為推薦的數(shù)字簽名標準算法之一。 8) 將密文 C解密為明文 P,計算方法為: P=C^d mod n。 4) 從公式 ed ≡ 1 mod Φ(n) 中求出解密密鑰 d 。 RSA在軟件方面的應用,主要集中在Inter上、加密連接、數(shù)字簽名和數(shù)字證書的核心算法廣泛使用 RSA。 RSA公開密鑰加密算法自 20世紀 70年代提出以來,已經(jīng)得到了廣泛認可和應用。模乘法的計算方法采取先計算兩個數(shù)的乘積,再取模 n,時間復雜性為 O((log2n)2)。 B)分組長度太大,為保證安全性, n 至少也要 600 bits。RSA是被研究得最廣泛的公鑰算法,從提出到現(xiàn)在已近二十年,經(jīng)歷了各種攻擊的考驗,逐漸為人們接受,普遍認為是目前最優(yōu)秀的公 鑰方案之一。而在公鑰體制中, RSA是一個較為完善的公鑰密碼算法,不僅能夠同時用于加密和 數(shù)字簽名,而且易于理解和操作,是被廣泛研究的公鑰密碼算法。 手寫簽名的每一項業(yè)務都是數(shù)字簽名的潛在用場。 在計算機通信系統(tǒng)中,維護電子文檔的安全也成為至關(guān)重要和非常敏感的問題。隨著越來越多的商業(yè)應用和標準化工作, RSA已經(jīng)成為最具代表性的公鑰加密技術(shù)。 RSA公鑰加密算法是第一個既能用于數(shù)據(jù)加密也能用于數(shù)字簽名的算法。 公鑰密碼體制的特點是:接收方 B產(chǎn)生一對密鑰( PK和SK);PK公開,SK保密;從PK推出SK是很困難的;A、B雙方通信時,A通過任何途徑取得B的公鑰,用B的公鑰加密信息,加密后的信息可通過任何不安全信道發(fā)送。密碼學包括兩個分支:密碼編碼學和密碼分析學。無論是在局域網(wǎng)還是在廣域網(wǎng)中,都存在著自然和人為等諸多因素的脆弱性和潛在威脅。 decryption。 thirdly, it introduces the basic principle of MD5 algorithm。 RSA數(shù)字簽名體制使用的是 RSA公開密鑰密碼算法進行數(shù)字簽名。 畢業(yè)設計 ( 論文 ) 基于 RSA 的數(shù)字簽名的設計與實現(xiàn) 論文作者姓名: 申 請 學 位專業(yè): 申請學位類別: 指導教師姓名(職稱): 論文提交日期: 基于 RSA的數(shù)字簽名的設計與實現(xiàn) 摘 要 隨著計算機網(wǎng)絡和信息技術(shù)的發(fā)展,信息安全在各領(lǐng)域發(fā)揮著越來越重要的作用,其中 密碼學已成為信息安全技術(shù)的核心,本文主要介紹了信息加密技術(shù)的應用。它通過認證技術(shù)來辨認真?zhèn)巍?secondly, it introduces some basic conception of RSA digital signature and theory of digital signature realizing process。 encryption。但是由于整個社會形成了一個巨大的計算機網(wǎng)絡,任何一個計算機網(wǎng)絡出現(xiàn)的安全問題,都會影響整個國家的網(wǎng)絡安全,所以信息安全、計算機網(wǎng)絡安全問題已引起了人類的高度重視。 現(xiàn)代密碼學已成為信息安全技術(shù) 的核心,密碼學是以研究通信安全保密的學科,即研究對傳輸信息采用何種秘密的變換以防止第三者對信息的竊取。密碼體制的分類有很多,其中一種是根據(jù)加密算法和解密算法所使用的密鑰是否相同,可以將密碼體制分為對稱密鑰密碼體制(單鑰密碼體制)和非對稱密鑰密碼體制(公鑰密碼體制),這兩種密碼體制各 有自己的長處和短處,因此現(xiàn)在采用了兩種的混合體,如 PGP。 RSA公鑰密碼體制到目前為止還是一種被認可為安全的體制。雖然自 1978年提出以來, RSA的安全性一直未能得到理論上的證明,但它經(jīng)歷了各種攻擊,至今( 2020年)未被完全攻破。 本課題的研究意義 隨著電子商務的發(fā)展,網(wǎng)絡上資金的電子交換日益頻繁,如何防止信息的偽造和欺騙成為非常重要的問題。在公鑰密碼體制中,解密和加密密鑰不同,解 密和加密可分離,通信雙方無須事先交換密鑰就可建立起保密通信,因此它較好地解決了傳統(tǒng)密碼體制在網(wǎng)絡通信中出現(xiàn)的問題。數(shù)字簽名技術(shù)在身份識別和認證、數(shù)據(jù)完整性、抵賴等方面具有其它技術(shù)無法替代的作用,它在軍事、電子商務和電子政務等領(lǐng)域有著極廣泛的應用。 RSA算法是第一個能同時用于加密和數(shù)字簽名的算法,也易于理解和操作。 RSA的缺點主要有: A)產(chǎn)生密鑰很麻煩,受到素數(shù)產(chǎn)生技術(shù)的限制,因而難以做到一次一密。生成隨機素數(shù)的 時間在于完成對隨機大數(shù)的 Fermat測試的時間, Fermat測試的時間復雜度為 O((log2n)3), n所測試的整數(shù)。因此, RSA的加密和解密均可在多項式時間內(nèi)完成。 RSA在硬件方面,以技術(shù)成熟的 IC應用于各種消費類電子產(chǎn)品。 3) 在 2和 Φ(n )之間隨機選擇一個數(shù) e , e 必須和 Φ(n) 互素,整數(shù) e用做加密密鑰(其中 Φ(n)=(p 1)*(q1))。 7) 將明文 P (假設 P是一個小于 n的整數(shù) )加密為密文 C,計算方法為: C = P^e mod n。 RSA數(shù)字簽名基本概念和 RSA 數(shù)字簽名算法的實現(xiàn)原理 RSA 數(shù)字簽名基本概念 RSA數(shù)字簽名體制使用了 RSA公開密鑰密碼算法進行數(shù)字簽名,鑒于 RSA算法在實踐中已經(jīng)被證明了的安全性, RSA數(shù)字簽名體制在許多安全標準中得以廣泛應用。 數(shù)字簽名的特點是它代表了消息的特征,消息如果發(fā)生改變,數(shù)字簽名的值也將發(fā)生改變,不同的消息將得到不同的數(shù)字簽名。認證技術(shù)主要包括數(shù)字簽名認證、身份認證以及公開密鑰證明等。 數(shù)字簽名類似手書簽名,它具有以 下的性質(zhì): 1)能夠驗證簽名產(chǎn)生者的身份,以及產(chǎn)生簽名的日期和時間; 2)能用于證實被簽消息內(nèi)容; 3)數(shù)字簽名可由第三方驗證,從而能夠解決通信雙方的爭議。 為了滿足數(shù)字簽名的這些要求,例如,通信雙方在發(fā)送消息時,既要防止接收方或其他第三方偽造,又要防止發(fā)送方因?qū)ψ约旱牟焕裾J,也就是說,為了保證數(shù)字簽名的真實性。另外該函數(shù)的設計不基于任何假設和密碼體制而直接構(gòu)造,執(zhí)行的速度快,是一種被廣泛認 可的單向散列算法。 (2)消
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1