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

正文內(nèi)容

公開(kāi)密鑰加密算法rsa的matlab實(shí)現(xiàn)本科畢業(yè)論文-在線瀏覽

2024-08-07 23:46本頁(yè)面
  

【正文】 函數(shù)轉(zhuǎn)換,變成無(wú)意義的密文。明文,即加密前的真實(shí)的數(shù)據(jù)或信息,它是可以被外界所識(shí)別,它指代的含義比較廣泛,比如用戶A要將一份文件發(fā)送給用戶B,那么我們就將用戶A手里所拿的那份文件稱之為明文。完成加密和解密的算法成為為密碼體制。密碼分析研究的問(wèn)題是如何把密文轉(zhuǎn)換成明文。破譯也是進(jìn)行函數(shù)變換,變換過(guò)程中使用的參數(shù)也叫密鑰。如果一個(gè)密碼體制的破譯是計(jì)算上不可能的。密碼體制必須滿足三個(gè)基本要求:(1)對(duì)所有的密鑰、加密和解密都必須迅速有效;(2)體制必須容易使用;(3)體制的安全性必須只依賴于密鑰的保密性。保密性要求密碼分析員無(wú)法從截獲的密文中求出明文。(2)密碼分析員要由截獲的密文C中系統(tǒng)的求出明文M是計(jì)算上不可能的。(2)密碼分析員要系統(tǒng)地找到密文,使其是明文空間上有意義的明文,這在計(jì)算上是不可能的。如DES和MIT的Kerberos算法。當(dāng)一個(gè)文本要加密傳送時(shí),該文本用密鑰加密構(gòu)成密文,密文在信道上傳送,收到密文后用同一個(gè)密鑰將密文解出來(lái),形成普通文體供閱讀。這種方式在與多方通信時(shí)因?yàn)樾枰4婧芏嗝荑€而變得很復(fù)雜,而且密鑰本身的安全就是一個(gè)問(wèn)題。有一把公用的加密密鑰,有多把解密密鑰,如RSA算法。 在這種編碼過(guò)程中,一個(gè)密碼用來(lái)加密消息,而另一個(gè)密碼用來(lái)解密消息。公鑰和私鑰都是一組十分長(zhǎng)的、數(shù)字上相關(guān)的素?cái)?shù)(是另一個(gè)大數(shù)字的因數(shù))。每個(gè)用戶可以得到唯一的一對(duì)密鑰,一個(gè)是公開(kāi)的,另一個(gè)是保密的。而私鑰必須存放在安全保密的地方。它的工作過(guò)程是:“你要我聽(tīng)你的嗎?除非你用我的公鑰加密該消息,我就可以聽(tīng)你的,因?yàn)槲抑罌](méi)有別人在偷聽(tīng)。我不必?fù)?dān)心大家都有我的公鑰,因?yàn)樗荒苡脕?lái)解密該消息。(2) 密鑰的保存量少。(4) 可以完成數(shù)字簽名和數(shù)字鑒別。由于對(duì)稱密鑰運(yùn)算量小、速度快、安全強(qiáng)度高,因而目前仍廣泛被采用。第一步將原文進(jìn)行置換,得到64位的雜亂無(wú)章的數(shù)據(jù)組;第二步將其分成均等兩段;第三步用加密函數(shù)進(jìn)行變換,并在給定的密鑰參數(shù)條件下,進(jìn)行多次迭代而得到加密密文。接收者使用發(fā)送者的公開(kāi)密鑰對(duì)簽名進(jìn)行解密運(yùn)算,如其結(jié)果為明文,則簽名有效,證明對(duì)方的身份是真實(shí)的。數(shù)字簽名普遍用于銀行、電子貿(mào)易等。   值得注意的是,能否切實(shí)有效地發(fā)揮加密機(jī)制的作用,關(guān)鍵的問(wèn)題在于密鑰的管理,包括密鑰的生存、分發(fā)、安裝、保管、使用以及作廢全過(guò)程。① 包括矩陣各種運(yùn)算。② 包括各種特殊函數(shù)。③ 包括各種數(shù)學(xué)運(yùn)算功能。(2).具有很好的圖視系統(tǒng)。② 高級(jí)圖形處理。③ 圖形用戶界面GUI制作工具,可以制作用戶菜單和控件。(3).可以直接處理聲言和圖形文件。如: WAV文件(例:wavread,sound等)。如: bmp 、gif 、 pcx 、tif 、jpeg等文件。如:SIMULINK、COMM、DSP、 SIGNAL等16種工具箱。① 使用MATLAB語(yǔ)言編寫(xiě)的程序可以直接運(yùn)行,無(wú)需編譯。③ MATLAB的應(yīng)用接口程序API是MATLAB提供的十分重要的組件 ,由 一系列接口指令組成 。 (6). 具有很好的幫助功能① 提供十分詳細(xì)的幫助文件(PDF 、HTML 、demo文件)。 Matlab的程序設(shè)計(jì) 腳本文件和函數(shù)文件M文件有兩種形式 :腳本文件(Script File)和函數(shù)文件(Function File )。(1)M腳本文件:① 對(duì)于一些比較簡(jiǎn)單的問(wèn)題 ,在指令窗中直接輸入指令計(jì)算 。③ MATLAB只是按文件所寫(xiě)的指令執(zhí)行 。⑥ 腳本文件運(yùn)行后 ,所產(chǎn)生的所有變量都駐留在 MATLAB基本工作空間(Base workspace)中。(2)M函數(shù)文件:① 與腳本文件不同 ,函數(shù)文件猶如一個(gè)“黑箱”,把一些數(shù)據(jù)送進(jìn)并經(jīng)加工處理,再把結(jié)果送出來(lái)。③ M函數(shù)文件的特點(diǎn)是:④ 從形式上看,與腳本文件不同 ,函數(shù)文件的笫一行總是以 “function”引導(dǎo)的“函數(shù)申明行”。當(dāng)執(zhí)行文件最后一條指令時(shí) ,就結(jié)束該函數(shù)文件的運(yùn)行,同時(shí)該臨時(shí)函數(shù)空間及其所有的中間變量就立即被清除。(3)M文件的一般結(jié)構(gòu):① 由于從結(jié)構(gòu)上看 ,腳本文件只是比函數(shù)文件少一個(gè)“函數(shù)申明行”,所以只須描述清楚函數(shù)文件的結(jié)構(gòu) 。④ 笫一注釋行:緊隨函數(shù)申明行之后以%開(kāi)頭笫一注釋行。⑤ 在線幫助文本區(qū):笫一注釋行及其之后的連續(xù)以%開(kāi)頭的所有注釋行構(gòu)成整個(gè)在線幫助文本。⑦ 函數(shù)體:為清晰起見(jiàn),它與前面的注釋以“空”行相隔。② 全局(Global)變量:通過(guò) global 指令,MATLAB也允許幾個(gè)不同的函數(shù)空間以及基本工作空間共享同一個(gè)變量,這種被共享的變量稱為全局變量。(3)參數(shù)傳遞:① MATLAB在函數(shù)調(diào)用上有一個(gè)與眾不同之處 :函數(shù)所傳遞的參數(shù)具有可調(diào)性 。④ 函數(shù)體內(nèi)的 nargout 給出調(diào)用該函數(shù)時(shí)的輸出參數(shù)數(shù)目。⑥ 值得注意:nargin、 nargout 本身都是函數(shù),不是變量,所以用戶不能賦值,也不能顯示。具有接受 “任意多輸入” 、返回“任意多輸出”的能力 。 M文件的調(diào)試(1)編寫(xiě) M文件時(shí),錯(cuò)誤(Bug)在所難免。(2)語(yǔ)法錯(cuò)誤是指變量名、函數(shù)名的誤寫(xiě),標(biāo)點(diǎn)符號(hào)的缺、漏等。(3)運(yùn)行錯(cuò)誤是算法本身引起的,發(fā)生在運(yùn)行過(guò)程中。尤其是M函數(shù)文件,它一旦運(yùn)行停止,其中間變量被刪除一空,錯(cuò)誤很難查找。(5)直接調(diào)試法:可以用下面方法發(fā)現(xiàn)某些運(yùn)行錯(cuò)誤。(7)在適當(dāng)?shù)奈恢?,添加顯示某些關(guān)鍵變量值的語(yǔ)句(包括使用 disp 在內(nèi))。echo on 能顯示M腳本文件;echo FunNsme on 能顯示名為FunNsme 的M函數(shù)文件。 keyboard 語(yǔ)句可以設(shè)置程序的斷點(diǎn) 。 3 RSA公鑰密碼體制 算法簡(jiǎn)介公鑰加密算法的典型代表是RSA (Rivest , Shamir , Adelman)算法 ,它是公共密鑰機(jī)制中的一種比較成熟的算法。RSA算法是第一個(gè)既能用于數(shù)據(jù)加密又能用于數(shù)字簽名的算法, 它為公用網(wǎng)絡(luò)上信息的加密和鑒別提供了一種基本的方法,因此對(duì)它的開(kāi)發(fā)和研究對(duì)我們進(jìn)行知識(shí)總結(jié)和積累并將所學(xué)與實(shí)際相結(jié)合都有重大的實(shí)際意義。定理1(歐拉定理) 若整數(shù)a和m 互素,即gcd(a,m)=1,則 特別當(dāng)p為素?cái)?shù)時(shí),對(duì)任意的a,有定理2 若m1, gcd(a,m)=1,則存在c,使得 ca1(modm),稱c 為a 的模m 的逆,記作(modm)定理3 若, ,…, ,則有 定理4 (中國(guó)剩余定理) 設(shè): 是兩兩互素的正整數(shù),則對(duì)任意的整數(shù)一次同余方程組: (i=1,2,…,k)對(duì)模[:] 有惟一解, 是滿足 的一個(gè)整數(shù),即對(duì)模的逆。(4)利用歐幾里得算法計(jì)算d,使之滿足ed≡1(modΦ(n)),d為保密的解密密鑰。其次,加密和解密,用RSA公鑰密碼體制加密時(shí),先將明文數(shù)字化,然后進(jìn)行分組,每組的長(zhǎng)度不超過(guò)log(n),再每組單獨(dú)加密和解密。解密過(guò)程是:m=D(c)=(mod n)。RSA算法整體思路如上所示,在本文中我們就此算法過(guò)程用對(duì)應(yīng)Matlab語(yǔ)言實(shí)現(xiàn)。RSA 算法主要的參數(shù)有3 個(gè):模數(shù)n 、加密密鑰e和解密密鑰d 。一般來(lái)講,模數(shù)n的選擇可以遵守以下4個(gè)原則:① n=p*q , 要求p 和q 為強(qiáng)素?cái)?shù)(Strong Prime);強(qiáng)素?cái)?shù)定義如下:存在兩個(gè)大素?cái)?shù)使得;存在4 個(gè)大素?cái)?shù),使得;稱為三級(jí)素?cái)?shù),為二級(jí)素?cái)?shù)。這是應(yīng)用R S A 算法要遵守的最基本原則,如果RSA算法是安全的,則n=p*q 必須足夠大,使得因式分解模數(shù)n 在計(jì)算上是不可行的,下面給出的是一般性使用原則:① 臨時(shí)性(Casual)384bit,經(jīng)過(guò)努力可以破譯;② 商用性(Commercial)512bit,可由專業(yè)組織破譯;③ 軍用性(Military)1024b it,專家預(yù)測(cè)十年內(nèi)不可破譯。(2)算法e 與d 的選取原則:在RSA算法中的條件是很容易滿足的,這是因?yàn)槿我鈨蓚€(gè)隨機(jī)數(shù)互素的概率為,如果e ,d 比較小,加、解密的速度快,也便于存儲(chǔ),但這必然導(dǎo)致安全性問(wèn)題,一般的e,d 的選取原則如下:① e不可過(guò)小。② 最好選e 為的階數(shù),即存在i ,使得,i 達(dá)到,可以有效地抗擊攻擊。選定e 后可使用歐幾里德算法在多項(xiàng)式時(shí)間內(nèi)計(jì)算出d。原因很簡(jiǎn)單,RSA的安全性依賴于因子分解的困難性,目前因子分解速度最快方法的時(shí)間復(fù)雜度為:T=O(exp(sqrt(ln(n)ln ln(n))))=O(),且n因子被分解,就意味著RSA系統(tǒng)被攻破。所以出于安全性考慮,在設(shè)計(jì)RSA系統(tǒng)時(shí),對(duì)n的選擇是很重要的。因?yàn)槿魀,q 已知,則Φ(n)=(p 1)*(q 1)便可以計(jì)算出,解密密鑰d 便可利用歐幾里得算法求出。在上一節(jié)的參數(shù)分析中我們重點(diǎn)講了對(duì)各參數(shù)選取原則,這里不再重復(fù)?,F(xiàn)在我們就分析幾個(gè)RSA體制的安全性問(wèn)題。若已知明文組=123,=183,=72,=30,假定n=pq=17X11=187,取e=7時(shí),可以發(fā)現(xiàn),明文m經(jīng)過(guò)RSA連續(xù)變換后,就能恢復(fù)原文。(2)同模攻擊的可能性假定兩個(gè)用戶,共享一個(gè)模為n的RSA算法,加密密鑰分別為,并且gcd(,)=1,如果用戶A想加密同一個(gè)明文m,分別從,加密得到密文:= mod n和=mod n,分別將送給,送給。所以實(shí)際中建議不同用戶不可使用公共的模n。否則,任何人都可以用歐幾里得算法獲得(,)= p,結(jié)果容易得到,的分解式。比如給定密文:C=mod ,由可知,其中e必為 奇數(shù)情形。 公鑰密碼體制中安全大素?cái)?shù)的生成構(gòu)造RSA公鑰密碼體制,關(guān)鍵就在于選取大素?cái)?shù)p ,q 。確定性素?cái)?shù)產(chǎn)生方法的優(yōu)點(diǎn)在于產(chǎn)生的數(shù)一定是素?cái)?shù),缺點(diǎn)是產(chǎn)生的素?cái)?shù)帶有一定的限制。但這種可能依然存在。于是在構(gòu)造RSA體制中的大素?cái)?shù)時(shí),首先利用概率性素?cái)?shù)測(cè)試產(chǎn)生偽素?cái)?shù),然后再利用確定性素?cái)?shù)測(cè)試法進(jìn)行檢驗(yàn),這樣可以發(fā)揮二者的優(yōu)越性。 素?cái)?shù)篩選對(duì)于產(chǎn)生的大數(shù),在進(jìn)行后面的素?cái)?shù)判別時(shí)會(huì)比較耗時(shí),所以,在把大數(shù)送入到素?cái)?shù)判別程序前,將一些容易判別出的合數(shù)過(guò)濾掉。算法的步驟如下:(1) 隨機(jī)產(chǎn)生一個(gè)大整數(shù)n 。(3) i ←0。(5) 若y = 0,表示沒(méi)有余數(shù),則數(shù)n 不為素?cái)?shù),結(jié)束。(6) 若i= 52,返回n 為素?cái)?shù)。最簡(jiǎn)單的素性檢測(cè)就是“試除法”,對(duì)于給定的數(shù)n ,用p 進(jìn)行試除(0p)。Miller Rabin算法檢測(cè)是實(shí)際中應(yīng)用最多的素性檢測(cè),它在計(jì)算上較省時(shí)、容易實(shí)現(xiàn)且錯(cuò)誤概率較低。Fermat定理:n是一個(gè)奇素?cái)?shù),a是任何整數(shù)(1≤a≤n1) ,則a= 1(mod n)。這個(gè)理論是通過(guò)一個(gè)事實(shí)經(jīng)由Fermat定理推導(dǎo)而來(lái):n是一個(gè)奇素?cái)?shù),則方程x=1mod n有177。MillerRabin算法的步驟如下:① 將n1表示成2m(其中r 是非負(fù)整數(shù), m 是正奇數(shù)) 。③ i←0 ,計(jì)算x←a(mod n)。⑤ 若i=1,則n為非素?cái)?shù),結(jié)束。⑥ 當(dāng)ir 時(shí),i←i+1,x←x(mod n),若x=n1,則n 通過(guò)測(cè)試,轉(zhuǎn)(7)。⑦ 返回n為素?cái)?shù)。若n 是奇合數(shù),則n通過(guò)以a 為基的MillerRabin算法測(cè)試的數(shù)目最多為(n1)/4,1≤a≤n 1。比如: k = 100, n 是合數(shù), 但測(cè)試全部通過(guò)的概率為(1/4), 這是很小的數(shù),說(shuō)明這樣的事情幾乎不可能發(fā)生。Montgomery算法將部分積對(duì)任意的N 取模轉(zhuǎn)化為對(duì)基數(shù)R 取模,簡(jiǎn)化了計(jì)算過(guò)程, 提高了模冪運(yùn)算的速度.Montgomery算法的理論基礎(chǔ)是:設(shè)N 和R是互素的兩個(gè)整數(shù),且RR NN’=1(N’=Nmod R) ,則對(duì)于任意整數(shù)T,當(dāng)M = TN’mod R 時(shí),( T+ MN)/R 為整數(shù),且滿足(T+MN) / R =TRmod N 。又因?yàn)門(mén)+ MN =T modN , 所以可以很容易推導(dǎo)出(T+ MN)/R= TRmodN 。這樣就給出了滿足0TNR 的任意整數(shù)T時(shí)TR mod N的快速算法, 那么就可以類(lèi)似于ABmodN 的模乘運(yùn)算,其中0A ,B N 。② 選擇與N互素的基數(shù)R ,并選取R和N’,滿足0R N 及0 N’R ,使得RR NN’=1且滿足條件RN T。④ 若S≥N , S=SN 。然而,這樣計(jì)算出的結(jié)果S 并不是嚴(yán)格意義上的模乘ABmod N ,而是多了一個(gè)因子R,那么模乘ABmod N 可以通過(guò)兩次Montgomery算法得到,即:ABmod N =(A*B *Rmod N)*Rmod N =Mon(A,B,N) *R mod N = S*1*R mod N =Mon(Mon(A ,B,N),1,N)。② 計(jì)算Z←Mon(a,1,n)。④ i←i 1,若i 0,轉(zhuǎn)(3),否則轉(zhuǎn)(5)??梢钥闯? 如果僅僅是求模乘運(yùn)算,Montgomery算法需要用到一般的模運(yùn)算和模逆運(yùn)算進(jìn)行預(yù)處理,Montgomery算法并不能有任何速度上的提高,但對(duì)于模冪運(yùn)算,模冪運(yùn)算中約有(3log e)/2次的模乘運(yùn)算,這樣預(yù)處理時(shí),只要處理一次就可以進(jìn)行多次的沒(méi)有除法的Montgomery模乘運(yùn)算,這樣將大大提高模冪運(yùn)算的速度,進(jìn)而提高M(jìn)illerRabin算法的速度。Pocklington定理:設(shè)n = R *F + 1, 這里F=,其中q,q,…,q是不同的素?cái)?shù),若存在a 滿足:a≡1(mod n)且gcd(a 1,n) = 1,其中j =1,…, r 。于是若F ,則n 為素?cái)?shù)。F ,其中F 。③ a ←1。⑤ 若a (mod n) = 1,則轉(zhuǎn)(7)。⑦ 若對(duì)于任意的j(j =1,2,…,r),gcd(a 1,n)= 1,則n 是素?cái)?shù),否則轉(zhuǎn)(4)。 RSA的Ma
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1