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

正文內(nèi)容

rsa文件加密的研究和實(shí)現(xiàn)--畢業(yè)設(shè)計(jì)論文(存儲(chǔ)版)

  

【正文】 因?yàn)槭菍?duì)文件加密的軟件,需要加密的數(shù)據(jù)通常并不止幾字節(jié),這時(shí)由上層程序?qū)?shù)據(jù)按用戶的設(shè)置分塊,分別加密或解密。 class monty 為 RSA 準(zhǔn)備大數(shù)求 冪模 運(yùn)算的函數(shù), vlong 的友元。其他接口函數(shù)的使用見(jiàn) DLL 接口文檔。 窗體等圖形操作界面直接由 Visual Studio 的所見(jiàn)即所得的方式完成,不需要編碼實(shí)現(xiàn)。其中最具影響力的因素顯然是RSA 加密需要的 n 的位數(shù)。在測(cè)試范圍內(nèi),隨著加密位數(shù)增大,每一行中的最大最小值差距也呈粗略的增大趨勢(shì)。而且,兩個(gè) k 位長(zhǎng)的整數(shù)相乘的結(jié)果也未必是 2k位,比如 100*100=10000,相乘結(jié)果是2k1 位。從理論上說(shuō),對(duì)于同樣的起點(diǎn),素?cái)?shù)測(cè)試次數(shù)越多,需要的時(shí)間就越長(zhǎng)。 表 33 小素?cái)?shù)因子個(gè)數(shù) NP 對(duì)密鑰生成時(shí)間的影響 NP 測(cè)試 5 次 n 為 512bit 時(shí)密鑰生成需要的時(shí)間 (秒 ) 平均耗間 (秒 ) 100 200 300 400 500 測(cè)試 5 次 n 為 1024bit 時(shí)密鑰生成需要的時(shí)間 (秒 ) 平均耗間 (秒 ) 100 畢業(yè)論文(設(shè)計(jì)) 23 200 300 400 500 不同顏色的單元格表示每行中的最大值和最小值 這種顏色代表行中最大值 這種顏色代表行中最小值 由于測(cè)試時(shí)間漫長(zhǎng),測(cè)試的數(shù)據(jù)量比較有限。實(shí)際上就是測(cè)試 .Net 基礎(chǔ)類庫(kù)中實(shí)現(xiàn)文件操作的 中的 StreamReader、 StreamWriter 等類的讀寫性能。密鑰具體數(shù)據(jù)見(jiàn)附錄( n的實(shí)際位數(shù)有微小差距)。畢業(yè)論文(設(shè)計(jì)) 25 再測(cè)試幾個(gè) 1280bit 的密鑰加解密,發(fā)現(xiàn)私有密鑰解密所需要的時(shí)間相對(duì)于公鑰加密時(shí)間更長(zhǎng)??梢詮膬蓚€(gè)角度來(lái)理解文件在加密后增大:( 1) 因?yàn)槟?shù) n 通常較大,所以加密冪模運(yùn)算的結(jié)果通常很大,這使得逐字節(jié)加密時(shí) ,密文比明文長(zhǎng)很多。按此原理,冪模運(yùn)算結(jié)果長(zhǎng)度近似為加密模數(shù) n 的長(zhǎng)度,加密后數(shù)據(jù)長(zhǎng)度是加密前的 N/8 倍( N 是加密位數(shù)),而轉(zhuǎn)換為十六進(jìn)制文本后長(zhǎng)度又增大1 倍,加密后得到的文本長(zhǎng)度就是加密前原始數(shù)據(jù)大小的 N/4 倍,所以 B=A N/4,這與畢業(yè)論文(設(shè)計(jì)) 26 前面從實(shí)驗(yàn)結(jié)果總結(jié)得到的公式基本一致,可以把公式中的 260 修正為更精確一些的256。 4. 在更快的 PC,對(duì)進(jìn)行文件加密測(cè)試 在一些性能更好的 PC 上,本軟件可以獲得更好的性能,測(cè)試數(shù)據(jù)同樣可以分析得到以上段落敘述的結(jié)論。在2020 年初主流配置的 PC 上運(yùn)行此軟件,逐字節(jié)加密 1KB 大小的文件,消耗時(shí)間均在 。這都是 因?yàn)樵龃罅瞬介L(zhǎng)后,文件被分成的塊數(shù)少了,冪模運(yùn)算次數(shù)下降。根據(jù)這些數(shù)據(jù),可以總結(jié)出本軟件使用的加密方式,加密前后文件大小的近似換算公式如下: 1 0 24260 NAB ??? , 其中 A 是待加密文件數(shù)據(jù)長(zhǎng)度, B 是加密后文件長(zhǎng)度, N 是 RSA 加密位數(shù), N8。 表 35 本軟件生成的加密文件大小測(cè)試 (文件大小單位: Byte) n位數(shù) 文件大小 50Byte 100Byte 150Byte 200Byte 250Byte 512bit 公鑰加密 6,557 12,977 19,397 25,817 32,237 1024bit 公鑰加密 12,986 25,835 38,684 51,533 64,382 從表 35 的數(shù)據(jù)可以發(fā)現(xiàn),對(duì)于同樣的文件進(jìn)行加密,使用 1024bit 密鑰加密所得到的文件大小是使用 512bit 加密的 2 倍左右。對(duì)于一定的加密位數(shù)來(lái)說(shuō),私鑰解密所需要的時(shí)間比公鑰加密需要的時(shí)間長(zhǎng)。加密時(shí)使用的測(cè)試文件、各密鑰文件以及加解密后生成的文件可以從以下地址下載: 內(nèi)附說(shuō)明。 4. 測(cè)試 SS 對(duì)耗時(shí)的影響 同樣未發(fā)現(xiàn)明顯規(guī)律,在使用中設(shè)置 SS 為 1000。測(cè)試結(jié)果如表 33 所示。而取 6 個(gè)值以上,測(cè)試算法失敗的概率已經(jīng)非常小,沒(méi)有什么實(shí)用意義,所畢業(yè)論文(設(shè)計(jì)) 22 以這里測(cè)試 A 從 4 個(gè)到 6 個(gè)的情況。這是因?yàn)?,?shí)際作為參數(shù)設(shè)置的是兩個(gè)大素?cái)?shù)的搜索起點(diǎn)。 表 中 各 項(xiàng) 對(duì) 應(yīng) 的 全 部 測(cè) 試 數(shù) 據(jù) 見(jiàn) ,包括兩個(gè)作為素?cái)?shù)搜索起點(diǎn)的隨機(jī)數(shù)和生成的素?cái)?shù) p、 q 以及 e、 d、 n。 測(cè)試數(shù)據(jù)與分析改進(jìn) 密鑰生成測(cè)試 生成密鑰運(yùn)算最費(fèi)時(shí)的工作是尋找素?cái)?shù)。 文件操作使用 .Net 基礎(chǔ)類庫(kù)中的 中的類實(shí)現(xiàn)。由于核心類庫(kù)的對(duì)外功能都使由 RSA_san 類提供的,所以在新 cpp文件中全局的聲明一個(gè) RSA_san 類的對(duì)象指針 (RSA_san *WRSA),全局函數(shù) int start_RSA_san()初始化 *WRSA 對(duì)象,在初始化成功后,其他全局函數(shù)通過(guò)調(diào)用 *WRSA對(duì)象的公開方法實(shí)現(xiàn)各種功能,如加密、讀取密鑰等。 class vlong_value 是 flex_unit 的派生類,在靈活大數(shù)存儲(chǔ)的基礎(chǔ)上實(shí)現(xiàn)四則運(yùn)算函數(shù)。 需要加密和解密的數(shù)據(jù)也是通過(guò)字符串參數(shù)置入的。m )用來(lái)完成這種算法。歐幾里德算法是一種遞歸算法,較容易理解。對(duì)于這種情況, RSA算法加密解密是否還可以實(shí)現(xiàn),是一個(gè)需要從數(shù)學(xué)角度論證的問(wèn)題。 //測(cè)試用的底數(shù) for ( unsigned i=0。 圖 25 在素?cái)?shù)搜索范圍內(nèi)剔除小素?cái)?shù)因子 p 的倍數(shù) 接下來(lái),對(duì)可能為素?cái)?shù)的數(shù) (即標(biāo)記數(shù)組 b[]中值為 1 的元素對(duì)應(yīng)的數(shù) )進(jìn)行素?cái)?shù)測(cè)試。i++) { unsigned p = pl[i]。最后,只需對(duì)那些 b[]中為 1 的元素對(duì)應(yīng)的大數(shù)進(jìn)行比較確切的素?cái)?shù)測(cè)試即可,只要被測(cè)試的數(shù)是素?cái)?shù)概率達(dá)到一定門限,就判這個(gè)數(shù)為素?cái)?shù)。 經(jīng)過(guò) 和 小節(jié),所有的大數(shù)運(yùn)算功能都準(zhǔn)備完畢,在此基礎(chǔ)上,本工程將尋找素?cái)?shù)的功能置于類 Prime_factory_san 之中。 } return D*R1 (mod n)。 return x。由于 RnRnnm ???? ?0 , M(m) 中 t 結(jié)果 范圍是 0≤ t2n,返回時(shí)如果 t 不小于 n,應(yīng)返回 tn。 選擇與模數(shù) n 互素的基數(shù) R=2k, n 滿足 2k- 1≤ n2k, n 應(yīng) 為奇數(shù) 。 } 有些文獻(xiàn)將上述算法稱為平方乘積二進(jìn)制快速算法,例如參考文獻(xiàn)中的《基于 RSA算法的一種新的加密核設(shè)計(jì)》,其實(shí)這種算法本質(zhì)上和圖 24 的流程完全一致,只是把根據(jù)指數(shù)奇偶分開的減一和除以二合并成對(duì)指數(shù)二進(jìn)制各位的判斷而已。 ② 求 13mod28 的值 開始 D = 1 P = 2 mod 17 = 2 E = 8 E 偶數(shù) D = 1 P = PP mod n = 4 E = E/2 =4 E 偶數(shù) D = 1 P = PP mod n = 3 E = E/2 =2 E 偶數(shù) D = 1 P = PP mod n = 9 E = E/2 =1 E 奇數(shù) D = DP mod n = 9 P = 不需要計(jì)算 E = (E1)/2 =0 最終 D = 9 即為所求。所以寫一個(gè) vlong 的友元,完成冪模運(yùn)算功能。當(dāng)大數(shù)被強(qiáng)制轉(zhuǎn)換為 unsigned 時(shí),將取其最低四字節(jié)的值。 最先完成的功能是大數(shù)的存儲(chǔ),存儲(chǔ)功能由 flex_unit 類提供。圖 22 形象的說(shuō)明了分層設(shè)計(jì)給復(fù)用帶來(lái)的好處。但是對(duì)于非 PC 設(shè)備,只能方便的移植到運(yùn)行 Windows 嵌入式操作系統(tǒng)的設(shè)備,向其他操作系統(tǒng)移植困難,需要重新編寫大量代碼。因?yàn)橛袕?qiáng)大的標(biāo)準(zhǔn)庫(kù)支持,文件的讀取和保存操作、各環(huán)節(jié)必要的數(shù)據(jù)編碼轉(zhuǎn)換、圖形操作界面的實(shí)現(xiàn)也很簡(jiǎn)單 (使用 或 等包 ),如果結(jié)合一種快速開發(fā)的 IDE,比如 JBuilder,整個(gè)軟件可以在很短的時(shí)間內(nèi)編碼完成。 ② 可以保存密鑰和裝載密鑰,密鑰保存為純文本。例如,我們可以將任意一個(gè)文件畢業(yè)論文(設(shè)計(jì)) 5 用某人的公開密鑰加密變換成一段可以復(fù)制粘貼的文本,然后粘貼在公眾互聯(lián)網(wǎng)上,對(duì)方只需把需要解密的文本復(fù)制保存成一個(gè)文本文件,在本地機(jī)用自己的私有密鑰解密即可。 一種更實(shí)際的情況是,我們想通過(guò) Inter 上的公眾論壇或郵件發(fā)送重要保密信息給某人。如果采用對(duì)稱密鑰加密,張三和李四提前約好一個(gè)密碼就可以。 文件加密使用 RSA 的意義 如 節(jié)所述,小型文件加密可以使用 RSA。當(dāng)然,如果文件更大,加密就顯得十分漫長(zhǎng)了。 雖然 RSA 加密運(yùn)算的速度十分慢,但是在 PC 性能越來(lái)越好的今天,對(duì)于幾千字 節(jié)的數(shù)據(jù)進(jìn)行一次幾百位密鑰的 RSA 加密,所消耗的時(shí)間應(yīng)該是可以接受的。 JCE(Java Cryptography Extension) 在 JCA 的基礎(chǔ)上作了擴(kuò)展, JCE 也是由幾個(gè)軟件包組成,其中最主要的是 包,此軟件包提供了 JCE 加密技術(shù)操作 API。 Open SSL是一個(gè)開放源代碼的實(shí)現(xiàn)了 SSL 及相關(guān)加密技術(shù)的軟件包,由加拿大的 Eric Yang 等發(fā)起編寫的。整個(gè)工程的分層設(shè)計(jì),給引用移植和后續(xù)開發(fā)帶來(lái)便利。它易于理解和操作,也十分流行。畢業(yè)論文(設(shè)計(jì)) 畢業(yè)設(shè)計(jì) RSA 文件加密的研究和實(shí)現(xiàn) 此畢業(yè)設(shè)計(jì)有: 1. 源 程序 物有所值,下載后聯(lián)系 1246188598 拿其它文檔 和程序 畢業(yè)論文(設(shè)計(jì)) 摘 要 分析 RSA 算法的應(yīng)用現(xiàn)狀,論證文件加密應(yīng)用 RSA 算法的可行性和意義。 關(guān)鍵詞 RSA RSA 算法 文件加密 加密成文本 Abstract Do research about the application area of RSA encryption and reason that RSA can be used for file encryption. Design a RSA fileencrypt solution and plete an application on Microsoft Windows?. Design a C++ class based on normal RSA algorithm. And make a DLL module based on the class. Then plete a .Net Framework? windowapplication using that DLL. The application can encrypt any file and decrypt them. The file after encryption can be saved as a text file. And the encryptionkeys also can be saved as pivotal classes chart, project description, core algorithm flowchart, all source code, and module interfaces document. Do application performance test and record the performance data. Analyze the result then optimize core algorithm and improve the application. Finally, create a practical application using RSA algorithm that can encrypt and decrypt any file. And several modules in the project can be reuse by other applications. For instance, the C++ class can be crosspiled for handheld devices, the DLL can be referenced by other win32 applications, and the .Net class can be easily referenced by web server applications or web services. Keywords RSA RSA algorithm file encryption encrypt to text 畢業(yè)論文(設(shè)計(jì)) 目 錄 前 言 ................................................................................................................... 1 第 1 章 RSA 應(yīng)用現(xiàn)狀及應(yīng)用于文件加密的分析 ............................................. 2 RSA 算法介紹與應(yīng)用現(xiàn)狀 .................................................................................................. 2 RSA 應(yīng)用于文件加密
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1