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

正文內容

公開密鑰加密算法rsa的matlab實現(xiàn)畢業(yè)論文-資料下載頁

2024-08-27 16:38本頁面

【導讀】數(shù)字簽名算法之一。其算法的安全性基于數(shù)論中大素數(shù)分解的困難性,所以RSA公鑰密碼體制算法。的關鍵是如何產生大素數(shù)和進行大指數(shù)模冪運算。本文首先介紹了RSA公開密鑰加密算法的數(shù)學原。理,并介紹了幾種流行的產生大素數(shù)的算法。然后用matlab具體實現(xiàn)公鑰加密算法RSA的加密和解。密,從而實現(xiàn)了數(shù)據的安全傳輸。

  

【正文】 ) 隨機選取兩個素數(shù) p 和 q 計算歐拉函數(shù) ( ) ( 1) * ( 1)n p q? ? ? ? 在 2 和 ()n? 之間隨機選擇一個和()n? 互素的加密密鑰 e 計算 *n p q? 已知 e 和歐拉函數(shù) ()n? ,利用1mod ( )ed n?? ,求出解密密鑰 d 得出:公鑰為 (, )ne ,私鑰為(, )nd 結束 開始 陜西理工學院畢業(yè)論文(設計) 第 18 頁 共 41 頁 N Y N Y Y N Y 圖 加密流程圖 ( 3) . 解密 經過解密算法 moddm c n? ,將密文 c 回復為原來的明文 m 。 將密文 C解密為明文 P,計算方法為: P = ci^d ( mod n ) 開始 結束 關閉密文 從明文中一次讀入固定長度的字節(jié)到緩沖 新建一個文件,用于存密文 打開要加密的明文 關閉明文 將明文的擴展名逐字節(jié)加密,并將結果寫入密文 對緩沖區(qū)的數(shù)據逐字節(jié)加密,并將結果寫入密文 明文的數(shù)據全部讀出了嗎? 成功新建文件 ? 成功打 開文件? 陜西理工學院畢業(yè)論文(設計) 第 19 頁 共 41 頁 打開要解密的密文 成功打開文件嗎? 從密文中讀出固定長度的數(shù)據到密文緩沖 然而只根據 r和 e(不是 p和 q)要計算出 d是不可能的。因此,任何人都可對明文進行加密,但只有授權用戶(知道 d)才可對密文解密。 圖 解密流程圖 將明文緩沖區(qū)中的解密結果寫入 新明文 成功創(chuàng)建文件? 結束 密文中的數(shù)據全部讀出了嗎? 關閉密文 關閉新明文 開始 對密文緩沖中的數(shù)據解密,結果存入明文緩沖 用新明文的全名創(chuàng)建一個文件 對密文形式的明文擴展名進行解密,并將解密得到的擴展名與新明文的文件名連接成新明文的全名 從密文中讀出加密過的明文擴展名 陜西理工學院畢業(yè)論文(設計) 第 20 頁 共 41 頁 運行過程 具體實現(xiàn)過程如下: 在 matlab環(huán)境下新建一個 .m 文件,將程序保存在此文件中,然后由 matlab 的 file 菜單下的open命令找到保存的程序,再點擊 debug菜單下的 run命令運行此程序 ,運行后彈出如圖 圖 密鑰產生 根據提示隨意輸入兩個素數(shù),如: p=11,q=23,按回車鍵后界面顯示如圖 : 陜西理工學院畢業(yè)論文(設計) 第 21 頁 共 41 頁 圖 b 明文輸入 在界面提示處如入待加密的明文,如:“ xia wu san dian xing dong dai shang AK47” ,按回車后,運行界面如圖 : 圖 密文產 算法程序程序見附錄 B 陜西理工學院畢業(yè)論文(設計) 第 22 頁 共 41 頁 結論分析 開始輸入兩個素數(shù) p=11和 q=23產生公鑰和私鑰 e和 d,通過調用 hash變換將輸入明文的英文字母轉換為 ASCII 碼,用公鑰通過加密公式 C= mi^e ( mod n )對明文進行加密,在仿真軟件上顯示出密文為亂碼,第三方竊取也無法理解其意思,加密成功。密文通過傳輸?shù)綄Ψ?,接受到密文者可以用私鑰通過 解密公式 P = ci^d ( mod n )對密文進行解密,然后在調用 hash 變換將 ASCII 碼轉換為英語傳輸內容顯示出。結果與傳輸前的明文完全一致,加密解密成功。 陜西理工學院畢業(yè)論文(設計) 第 23 頁 共 41 頁 4 基于 RSA 的數(shù)字簽名 數(shù)字簽名概述 1976年 Whittled Diffie和 Maitin Hellman最先提出數(shù)字簽名檔概念 [4],目的是使簽名者對電子文件進行簽名并且無法否認,驗證者無法篡改文件。這位數(shù)字簽名的發(fā)展奠定了理路基礎。 2020 年 4 月 1 日起開始施行的《中華人民共和國電子簽名法》中數(shù)字簽名的定義:“是指數(shù)據電文中以電子形式所含、所附用于識別簽名人身份并表明簽名人認可其中內容的數(shù)據?!? 數(shù)字簽名主要的功能是:保證信息傳輸?shù)耐暾?、發(fā)送者的身份認證、防止交易中的抵賴發(fā)生。 數(shù)字簽名技術是將摘要信息用發(fā)送者的私鑰加密,與原文一起傳送給接收者。接收者只有用發(fā)送的公鑰才能解密被加密的摘要信息,然后用 Hash函數(shù)對收到的原文產生一個摘要信息,與解密的摘要信息對比。如果相同,則說明收到的信息是完整的,在傳輸過程中沒有被修改,否則說明信息被修改過,因此 數(shù)字簽名能夠驗證信息的完整性。 按照不同的分類方式可以對數(shù)字簽名進行不同的分類: (1)按照數(shù)學難題分類:數(shù)字簽名方案可分為基于離散對數(shù)問題的簽名方案和基于素因子分解問題的簽名方案。 (2)按照簽名用戶分類:可分為單個用戶簽名和多個用戶簽名方案 [5]。 (3)按照數(shù)字簽名的特性分類:可分為不具有消息自動恢復的數(shù)字簽名和具有消息自動恢復特性的數(shù)字簽名。 (4)按照數(shù)字簽名的實現(xiàn)分類:可分為直接和需仲裁的數(shù)字簽名。 (5)按照數(shù)字簽名的功能可將數(shù)字簽名分為:普通數(shù)字簽名和特殊數(shù)字簽名。特殊數(shù)字簽名主要包括:盲簽 名、雙重簽名、群簽名、門限簽名、代理簽名、門限代理簽名和不可否認的門限代理簽名等簽名方案 [6]。 一個數(shù)字簽名體制一般包含兩個組成部分:簽名算法 (Signature Algorithm)和驗證算法(Verification Algorithm)。簽名算法用于對消息產生數(shù)字簽名,它通常受一個簽名密鑰的控制,簽名算法或者簽名密鑰是保密的,有簽名者掌握;驗證算法用于對消息的數(shù)字簽名進行驗證,根據簽名是否有效驗證算法能夠給出該簽名為“真”或者“假”的結論。驗證算法通常也受一個驗證密鑰的控制,但驗證算法和驗證密鑰應當 是公開的,以便需要驗證簽名的人能夠方便的驗證 [7]。 數(shù)字簽名機制作為保障網絡信息安全的手段之一,可以解決偽造、抵賴、冒充和篡改問題 [8]。 (1)防冒充 (偽造 ):其他人不能偽造對消息的簽名,因為私有密鑰只有簽名者自己知道,所以其他人不可能構造出正確的簽名結果數(shù)據。顯然要求各位保存好自己的私有密鑰,好象保存自己家門的鑰匙一樣。 可鑒別身份:由于傳統(tǒng)的手工簽字一般是雙方直接見面的,身份可以很清楚;在網絡環(huán)境中,接收方必須能夠鑒別發(fā)送方宣稱的身份。接收者使用發(fā)送者的公開密鑰對簽名報文進行解密運算,如其結果為明文 ,則簽名有效,證明對方身份是真實的。 (2)防篡改 (防破壞信息的完整性 ):數(shù)字簽名時,簽名與原有文件已經形成了一個混合的整體數(shù)據,不可能篡改,從而保證了數(shù)據的完整性。 (3)防重放:在數(shù)字簽名中,如果采用了對簽名報文添加流水號、時戳等技術,可以防止重放攻擊。 (4)防抵賴:數(shù)字簽名可以鑒別身份,不可能冒充偽造,那么,只要保存好簽名的報文,就好似保存好了手工簽署的合同文本,也就是保留了證據,簽名者就無法抵賴。以上是簽名者不能抵賴,如果接收者確已收到對方的簽名報文,要防接收者的抵賴,在數(shù)字簽名體制中,要求接收者 返回一個自己簽名的表示收到的報文,給對方或者是第三方,或者引入第三方機制,如此操作,雙方均不可抵賴。 (5)機密性 (保密性 ):有了機密性保證,截收攻擊也就失效了。手工簽字的文件是不具備保密性的,文件一旦丟失,文件信息就極可能泄露。數(shù)字簽名,可以加密要簽名的信息。 數(shù)字簽名體制 (Signature Algorithm System)是一個滿足下列條件的五元組 (M, S, K, SIG, VER), 陜西理工學院畢業(yè)論文(設計) 第 24 頁 共 41 頁 其中 (1)M為消息空間,它是某個字母表中所有字符串的集合; (2)S代表簽名空間,它是所有可能的數(shù)字簽名構成的集合; (3)K代表密鑰空間,它是所有可能的簽名密鑰和驗證密鑰對 (sk, vk)構成的集合; (4)SIG是簽名算法, VER是驗證算法。對于任意的一個密鑰對 (sk, vk)∈ K,每一個消息 m∈ M和簽名 s∈ S,簽名變換 SIG: M Ksk→ S和驗證變換 VER: M S Klvk→ {true, false}是滿足下列條件的函數(shù): ??? ??? )( )(),( mS I Gsf a ls e mS I Gstr u esmVERskskvk ( ) RSA的數(shù)字簽名 RSA 是目前使用最為廣泛、最著名的公開密鑰系統(tǒng),它是由麻省理工學院的三位學者 Rivest、Shamir和 Adleman于 1978年提出的。 RSA密碼系統(tǒng)可以完成數(shù)據加密、數(shù)字簽名以及密鑰交換等功能,其安全性是建立在大素數(shù)因子分解困難問題上的 [9]。 設 n=pq, p、 q是兩個大素數(shù),消息空間和簽名空間為 P=A=Zn,定義 K={(n, p, q, a, b)ln=pq,p, q為素數(shù), ab=l(mod (n))}。值 n和 b公開的, p、 q、 a是保密的。對 K=(n, p, q, a, b),簽名及驗證算法定義如下: 簽名算法: y=Sigk (x)=xamodn, n∈ Z; ( ) 驗證算法 : Verk( x, y)=真 x=y6 modn, x, y∈ Zn。 ( ) 如果 B使用 RSA解密規(guī)則 Dk簽一個消息 x,那么 B 是能產生簽名的唯一的人,這是因為 Dk是保密的。驗證算法使用 RSA的加密規(guī)則 Ek,因為 Ek是公開的,保存在公開的信任機構服務器中,所以任何人能驗證一個簽名。 RSA 數(shù)字簽名方案的不足 (1) 隨著計算機速度的提高,以及集群計算技術的應用, RSA 算法已經不足夠安全,對 RSA 的破解也成為可能。 RSA算法運行中所需要的密鑰長度變得越來越大,使其 計算量也猛增。經過實驗得到,密鑰長度為 1024 位至 2048位是比較合理的 [10],既可以保證系統(tǒng)的安全性,計算量又可以接受。然而密鑰長度的猛增,對 RSA的應用帶來嚴重的負面影響,使其應用范圍越來越受到制約。 (2)任何人能通過對某一 y計算 x=Ek(y)來偽造一個隨機消息 x關于 B的簽名 y,這是因為 y=sigk( x) ; (3) 如果消息 x1和 x2的簽名分別是 y1和 y2,則擁有 x x y y2的任何人可偽造 B 關于
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1