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

正文內(nèi)容

公開密鑰加密算法rsa的matlab實(shí)現(xiàn)本科畢業(yè)論文-文庫吧資料

2025-07-03 23:46本頁面
  

【正文】 證算法用于對(duì)消息的數(shù)字簽名進(jìn)行驗(yàn)證,根據(jù)簽名是否有效驗(yàn)證算法能夠給出該簽名為“真”或者“假”的結(jié)論。特殊數(shù)字簽名主要包括:盲簽名、雙重簽名、群簽名、門限簽名、代理簽名、門限代理簽名和不可否認(rèn)的門限代理簽名等簽名方案[6]。(4)按照數(shù)字簽名的實(shí)現(xiàn)分類:可分為直接和需仲裁的數(shù)字簽名。(2)按照簽名用戶分類:可分為單個(gè)用戶簽名和多個(gè)用戶簽名方案[5]。如果相同,則說明收到的信息是完整的,在傳輸過程中沒有被修改,否則說明信息被修改過,因此數(shù)字簽名能夠驗(yàn)證信息的完整性。數(shù)字簽名技術(shù)是將摘要信息用發(fā)送者的私鑰加密,與原文一起傳送給接收者。2005年4月1日起開始施行的《中華人民共和國電子簽名法》中數(shù)字簽名的定義:“是指數(shù)據(jù)電文中以電子形式所含、所附用于識(shí)別簽名人身份并表明簽名人認(rèn)可其中內(nèi)容的數(shù)據(jù)。4 基于RSA的數(shù)字簽名 數(shù)字簽名概述 1976年Whittled Diffie和Maitin Hellman最先提出數(shù)字簽名檔概念[4],目的是使簽名者對(duì)電子文件進(jìn)行簽名并且無法否認(rèn),驗(yàn)證者無法篡改文件。密文通過傳輸?shù)綄?duì)方,接受到密文者可以用私鑰通過解密公式P = ci^d ( mod n )對(duì)密文進(jìn)行解密,然后在調(diào)用hash變換將ASCII碼轉(zhuǎn)換為英語傳輸內(nèi)容顯示出。因此,任何人都可對(duì)明文進(jìn)行加密,但只有授權(quán)用戶(知道d)才可對(duì)密文解密。將密文C解密為明文P,計(jì)算方法為:P = ci^d ( mod n )打開要解密的密文成功打開文件嗎?從密文中讀出固定長度的數(shù)據(jù)到密文緩沖開始隨機(jī)選取兩個(gè)素?cái)?shù)和計(jì)算計(jì)算歐拉函數(shù)在2和之間隨機(jī)選擇一個(gè)和互素的加密密鑰已知和歐拉函數(shù),利用,求出解密密鑰得出:公鑰為,私鑰為結(jié)束(2). 加密輸入待加密的明文,經(jīng)過hash變換求出其ASCALL碼值,再經(jīng)過加密算法:,得到密文。 ③ 確定解密密鑰d: ② 任意選取一個(gè)大整數(shù)e,e與(p1)*(q1)互素,整數(shù)e用做加密密鑰。對(duì)應(yīng)的密文是:ci = mi^e ( mod n ) ( a ) 解密時(shí)作如下計(jì)算: mi = ci^d ( mod n ) ( b )算法流程(1). 產(chǎn)生密鑰① 任意選取兩個(gè)不同的大質(zhì)數(shù)p和q,計(jì)算乘積n=p*q;兩個(gè)素?cái)?shù)p和q不再需要,應(yīng)該丟棄,不要讓任何人知道。最后,利用Euclid 算法計(jì)算解密密鑰d, 滿足 e * d = 1 ( mod ( p 1 ) * ( q 1 ) ) 其中n和d也要互質(zhì)。計(jì)算:n = p * q 。據(jù)猜測,從一個(gè)密鑰和密文推斷出明文的難度等同于分解兩個(gè)大素?cái)?shù)的積。RSA的安全性依賴于大數(shù)分解。⑧ 退出。⑥ 轉(zhuǎn)(4) ,否則n 可能不是素?cái)?shù),轉(zhuǎn)(8)。④ a ←a + 1。② 分解F ,使F = ,其中q( j = 1,2,…,r)為不同的素?cái)?shù)。則此算法的步驟如下:,① 分解n 1,使n 1= R 那么n 的每一個(gè)素因子p 都有p=F *m + 1的形式(m ≥1)。(3). 素?cái)?shù)驗(yàn)證采用Pocklington定理對(duì)素?cái)?shù)進(jìn)行驗(yàn)證,基于Pocklington定理的確定性素?cái)?shù)產(chǎn)生方法,它需要已知n 1的部分素因子。⑤ 返回Z。③ 計(jì)算Z←Mon(Z,1,n)。所以模冪運(yùn)算Z=a(mod n) 的計(jì)算步驟如下:① i←m 1。⑤ 返回S 。③ 計(jì)算S ←{ T+[(Tmod R )N’mod R]N}/R 。所以S=Mon(A ,B ,N)=A*B*Rmod N的計(jì)算步驟如下:① 計(jì)算A’←AR mod N ,B’←B R mod N ,T←A’B’??梢钥闯?Montgomery在算法中選取0 T N R ,這樣(T+MN)/R2N ,(T+MN)/R與TRmod N 也就至多相差一個(gè)N ,只需一次額外的大數(shù)減法。上述理論中,T+MN =T+(TN’ kR)N =T(1+ N’N)kRN = TRR kRN ,為R的倍數(shù),所以(T+MN)/R為整數(shù)。(2). 采用Montgomery 算法進(jìn)行優(yōu)化MillerRabin算法最耗時(shí)的步驟是(3)和(6)的模冪運(yùn)算。若n 是正整數(shù),選k個(gè)小于n 的正整數(shù),以這k 個(gè)數(shù)作為基用MillerRabin算法進(jìn)行測試,若n 是合數(shù),k 次測試全部通過的概率為(1/4)。MillerRabin算法并不是一個(gè)確定算法。否則轉(zhuǎn)(5)。否則轉(zhuǎn)(6)。④ 若x=1或x=n1,則n 通過測試,轉(zhuǎn)(7)。② 隨機(jī)產(chǎn)生一個(gè)整數(shù)a(1an1)。1兩個(gè)解。MillerRabin算法的理論基礎(chǔ):如果n是一個(gè)奇素?cái)?shù),將n1= 2m ,r是非負(fù)整數(shù),m是正奇數(shù), a 是和n互素的任何整數(shù),那么a≡1(mod n)或者對(duì)某個(gè)h(0≤h≤r1),等式a ≡1(mod n)成立,其中w =2m 。(1). Miller Rabin算法MillerRabin算法是Fermat算法的一個(gè)變形改進(jìn),它的理論基礎(chǔ)是由Fermat定理引申而來。檢測一個(gè)數(shù)n 是素?cái)?shù)的最確定的方法就是驗(yàn)證它不能被2和之間的任何數(shù)整除,但這種方法計(jì)算量太大,十分耗時(shí),在實(shí)際中需要更有效的素性檢測方法。 素?cái)?shù)檢測素性檢測就是判斷一個(gè)整數(shù)是否為素?cái)?shù)的準(zhǔn)則。否則,i ←i+ 1,轉(zhuǎn)(4)。(4) 當(dāng)i 53時(shí),計(jì)算y ←n (mod a[i])。(2) 選取從2 開始的一組個(gè)數(shù)約為53個(gè)的素?cái)?shù),記為a[i] 。這里采用大數(shù)除以小素?cái)?shù)過濾掉一部分合數(shù),選取53個(gè)小素?cái)?shù)進(jìn)行對(duì)大數(shù)的過濾。所以文中的算法基于這個(gè)原理,預(yù)先對(duì)密鑰素?cái)?shù)進(jìn)行篩選,采用Montgomery模乘算法優(yōu)化的概率性素?cái)?shù)產(chǎn)生方法MillerRabin算法進(jìn)行檢測,最后用確定性素?cái)?shù)產(chǎn)生方法Pocklington定理進(jìn)行驗(yàn)證。優(yōu)點(diǎn)在于使用概率性素?cái)?shù)產(chǎn)生方法,產(chǎn)生的偽素?cái)?shù)速度很快,構(gòu)造的偽素?cái)?shù)無規(guī)律性。而概率性素?cái)?shù)產(chǎn)生方法的缺點(diǎn)在于它不能證明該數(shù)是素?cái)?shù),也就是說,產(chǎn)生的數(shù)只能是偽素?cái)?shù),為合數(shù)的可能性很小。產(chǎn)生素?cái)?shù)的方法可分為以下兩類:確定性素?cái)?shù)的產(chǎn)生方法和概率性素?cái)?shù)的產(chǎn)生方法。根據(jù)Jcaobi符號(hào)容易推出. 因此,只要給定一個(gè)密文C,不用通過解密密文就能有效的計(jì)算出結(jié)果,即反映了在RSA密碼系統(tǒng)中,通過加密密文也會(huì)泄露一些有關(guān)的明文信息。(3)由密文泄露明文相關(guān)的部分信息量與其他一些密碼弱點(diǎn)一樣,RSA體制同樣存在將明文的部分信息由密文泄露出去的可能。除此之外,不同用戶選用的素?cái)?shù)也是不能相同的。而攻擊者截獲兩個(gè)密文后,可以通過使用擴(kuò)展歐幾里得算法得到r,s,使得r. +s. =: . mod n=()()mod n= m其中,==為同一明文,表明即使RSA密碼系統(tǒng)很安全,但攻擊者破獲A發(fā)送的明文也是可能的。比如:根據(jù)=RSA()=(mod n),則有: ==183(mod187) ==72(mod187) ==30(mod187) ==123(mod187)這時(shí)=,對(duì)加密系統(tǒng)來說是不可靠的,必須加以克服。(1)弱密鑰情形類似其他密碼體制一樣,RSA體制也存在弱密鑰現(xiàn)象。在許多實(shí)際應(yīng)用中,人們總希望使用位數(shù)較短的密鑰d,一是可降低解出或簽名的時(shí)間,二是能夠滿足計(jì)算能力低于主機(jī)的硬件芯片的需求,比如IC卡中的CPU處理。因此RSA的安全性是依賴于因數(shù)分解的困難性。在RSA算法中,若n =p*q 被因數(shù)分解,則RSA便被攻破。反過來,能攻破RSA系統(tǒng),表明可以分解n的因子,不過這不是絕對(duì)的。 安全性分析 如果說RSA體制的安全性等價(jià)于因子分解,那就是說,作為公鑰選擇的(e,n)參數(shù),n是不能輕易被因子分解的,否則構(gòu)造單向函數(shù)的T=Φ(n)=(p1)(q1)就沒有秘密可言了。③ d 要大于。經(jīng)驗(yàn)上e 選16位的素?cái)?shù),這樣既可以有效地防止攻擊,又有較快的加、解密速度。隨著計(jì)算機(jī)能力的不斷提高和分布式運(yùn)算的發(fā)展,沒有人敢斷言具體的安全密鑰長度。② p 和q 之差要大,相差幾位以上;③ p - 1 與q - 1 的最大公因子要??;④ p 和q 要足夠大。(1)算法模n的確定:RSA模數(shù)n =p*q是RSA算法安全性的核心,如果模數(shù)n被分解,則RSA公鑰密碼體制將立刻被攻破,所以選擇合適的n是實(shí)現(xiàn)RSA 算法的重要環(huán)節(jié)。 參數(shù)分析RSA 算法的安全性等價(jià)于分解n 的困難性,但是在實(shí)際的應(yīng)用中,很多時(shí)候是因?yàn)樗惴▽?shí)現(xiàn)的細(xì)節(jié)漏洞導(dǎo)致被攻擊,所以在RSA算法構(gòu)造密碼系統(tǒng)時(shí),為了保證系統(tǒng)的安全性需要仔細(xì)地選擇使用的參數(shù)。m就為恢復(fù)出的明文,它應(yīng)該與前面輸入的待加密的明文內(nèi)容一致。加密過程如下:假設(shè)要加密的明文組為m(0≤mn),加密過程就是c=E(m)=(mod n),c為密文。(5)用E=n,e作為公鑰,用D=n,d)作為私鑰。 RSA公鑰密碼算法 算法步驟 首先,產(chǎn)生密鑰(1)隨機(jī)選取兩個(gè)大素?cái)?shù)p與q;(2)計(jì)算n=p*q(公開),Φ(n)=(p1)*(q1)(保密);(3)隨機(jī)選取正整數(shù)e,使之滿足gcd(e,Φ(n))=1,且1eΦ(n)。 算法的數(shù)學(xué)基礎(chǔ)基于RSA算法的數(shù)學(xué)定理:定義:設(shè)m 是正整數(shù),1,2,3,…,m 中與m 互素的數(shù)的個(gè)數(shù)記作,稱為歐拉函數(shù)。它是建立在“大數(shù)分解和素?cái)?shù)據(jù)檢測”的理論基礎(chǔ)上的,兩個(gè)大素?cái)?shù)相乘在計(jì)算機(jī)上是容易實(shí)現(xiàn)的, 但將該乘積分解成兩個(gè)素?cái)?shù)因子的計(jì)算量卻相當(dāng)巨大, 大到甚至在計(jì)算機(jī)上不可能實(shí)現(xiàn),所以就確保了RSA算法的安全性。(10)通過將原M函數(shù)文件的函數(shù)申明行注釋掉,可使一個(gè)中間變量難于觀察的M函數(shù)文件變?yōu)橐粋€(gè)所有變量都保留在基本工作空間中的M腳本文件。(9)在原M腳本或函數(shù)文件的適當(dāng)位置,增添指令 keyboard 。(8)利用 echo 指令,使運(yùn)行時(shí)在屏幕上逐行顯示文件內(nèi)容。(6)在M文件中,將某些語句后面的分號(hào)去掉, 迫使M文件輸出一些中間計(jì)算結(jié)果,以便發(fā)現(xiàn)可能的錯(cuò)誤。(4)有兩種調(diào)試方法:直接調(diào)試法和工具調(diào)試法。相對(duì)語法錯(cuò)誤而言,運(yùn)行錯(cuò)誤較難處理 。對(duì)于這類錯(cuò)誤,通常能在運(yùn)行時(shí)發(fā)現(xiàn),終止執(zhí)行,并給出相應(yīng)的錯(cuò)誤原因以及所在行號(hào)。錯(cuò)誤有兩種:語法(Syntax)錯(cuò)誤和運(yùn)行(Runtime)錯(cuò)誤。⑧ 跨空間變量傳遞:evalin。⑦ “變長度”輸入輸出宗量:varargin 、 varrgout。⑤ 只要在函數(shù)文件中包括這兩個(gè)變量,就可以知道該函數(shù)文件調(diào)用時(shí)的輸入?yún)?shù)和輸出參數(shù)數(shù)目。② 傳遞參數(shù)數(shù)目的可調(diào)性來源于如下兩個(gè)MATLAB永久變量:③ 函數(shù)體內(nèi)的 nargin 給出調(diào)用該函數(shù)時(shí)的輸入?yún)?shù)數(shù)目。(2)函數(shù)調(diào)用:① 在MATLAB中,調(diào)用函數(shù)的常用形式是:[輸出參數(shù)1,輸出參數(shù)2,…] = 函數(shù)名(輸入?yún)?shù)1,輸入?yún)?shù)2, …)② 函數(shù)調(diào)用可以嵌套,一個(gè)函數(shù)可以調(diào)用別的函數(shù),甚至調(diào)用它自己 (遞歸調(diào)用)。 函數(shù)調(diào)用和參數(shù)傳遞(1)局部變量和全局變量:① 局部(Local)變量:它存在于函數(shù)空間內(nèi)部的中間變量,產(chǎn)生于該函數(shù)的運(yùn)行過程中,其影響范圍也僅限于該函數(shù)本身 。⑥ 編寫和修改記錄:與在線幫助文本區(qū)相隔一個(gè)“空”行,也以%開頭,標(biāo)志編寫及修改該M文件的作者和日期等 。該行供lookfor關(guān)鍵詞查詢和 help在線幫助使用 。② 典型M函數(shù)文件的結(jié)構(gòu)如下 :③ 函數(shù)申明行:位于函數(shù)文件的首行,以關(guān)鍵functio開頭,函數(shù)名以及函數(shù)的輸入輸出宗量都在這一行被定義。⑥ MATLAB允許使用比 “標(biāo)稱數(shù)目 ”較少的輸入輸出宗量,實(shí)現(xiàn)對(duì)函數(shù)的調(diào)用 。⑤ 從運(yùn)行上看 ,與腳本文件運(yùn)行不同 ,每當(dāng)函數(shù)文件運(yùn)行, MATLAB就會(huì)專門為它開辟一個(gè)臨時(shí)工作空間,稱為函數(shù)工作空間( Function workspace) 。② MATLAB提供的函數(shù)指令大部分都是由函數(shù)文件定義的。只要用戶不使用清除指令(clear), MATLAB指令窗不關(guān)閉,這些變量將一直保存在基本工作空間中。④ M腳本文件的特點(diǎn)是:⑤ 腳本文件的構(gòu)成比較簡單,只是一串按用戶意圖排列而成的(包括控制流向指令在內(nèi)的)MATLAB指令集合。② 對(duì)于復(fù)雜計(jì)算,采用腳本文件(Script file)最為合適 。這兩種文件的擴(kuò)展名,均為“ . m” 。② 聯(lián)機(jī)查詢指令:help指令(例:help elfun,help exp,help simulink),lookfor關(guān)鍵詞(例: lookfor fourier )。用戶就可在FORTRAN或C中 , 把MATLAB當(dāng)作計(jì)算引擎使用 。② 可以M文件轉(zhuǎn)變?yōu)楠?dú)立于平臺(tái)的EXE可執(zhí)行文件。(5). 使用方便,具有很好的擴(kuò)張功能。(4). 具有若干功能強(qiáng)大的應(yīng)用工具箱。② 圖形文件。① 聲言文件。使用者可以根據(jù)自己的需求編寫出滿意的圖形界面。如:色彩控制、句柄圖形、動(dòng)畫等。① 可方便地畫出兩維和三維圖形。如:數(shù)值微分、數(shù)值積分、插值、求極值、方程求根、FFT 、常微分方程的數(shù)值解等。如:貝塞爾函數(shù)、勒讓德函數(shù)、伽碼函數(shù)、貝塔函數(shù)、橢圓函數(shù)等。如:正交變換、三角分解、特征值、常見的特殊矩陣等。2 Matlab工具介紹 MATLAB語言的主要特點(diǎn)(1).具有豐富的數(shù)學(xué)功能。 數(shù)字簽名:數(shù)字簽名不同于手
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1