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

正文內(nèi)容

畢業(yè)設計-kasumi算法的研究與vc實現(xiàn)—論文(參考版)

2024-12-05 17:20本頁面
  

【正文】 除非另有科研合同和其他法律文書的制約,本論文的科研成果屬于成都信息工程學院。 ( 4)學??稍试S學位論文被查閱或借閱。 ( 2)學校可以采用影印、縮印或其他復制方式保存學位論文。除非另有說明,本文的工作是原始性工作。在此向他表示我最衷心的感謝! 最后向在百忙之中評審本文的各位專家、老師表示衷心的感謝! 作者簡介 姓名:鄔小洪 性別:男 出生年月: 1984 年 2 月 民族:漢 Email: 第 26 頁 共 26頁 聲 明 本論文的工作是 2021年 2月至 2021年 6月在成都信息工程學院網(wǎng)絡工程系完成的。 [8] 趙雪 .3GPP算法 KASUMI 的一種高速硬件實現(xiàn) [J].通信技術 ,2021。 [6] 毛光燦 .3G 核心加密算法 KASUMI 算法 [J].通信技術 ,2021 (11):9294。 [4]戴鋒. Visual C++程序設計基礎 [M].北京:清華大學出版社, 2021。 [2]譚浩強 .C程序設計(第二版) [M].北京:清華大學出版社 1999。在課題研究過程中遇到了很多困難,在我的指導老師的指導下,問題得以不斷的修正,最終得到解決。在課題研究前期,我在網(wǎng)上 和圖書館查找了許多資料,做了許多前瞻性的信息收集,而且做好了整個項目的需求分析,時間規(guī)劃,為項目擬定了一個比較合理的開發(fā)計劃,所以我始終能夠把握系統(tǒng)進展的方向,掌握了總體設計上的主動性。 結 論 通過本次課題的研究,使我掌握了 KASUMI 算法的概念,了解了 KASUMI 算法的構成以及算法流程。 圖 61 系統(tǒng)測試主界面 圖 62 獲取數(shù)據(jù) 圖 63 加密并顯示運行時間 圖 64驗證通過 圖 65驗證沒通過 第 22 頁 共 26頁 軟件測試結果 軟件的加密速度 表 61 循環(huán)次數(shù)為 10000的平均耗時 次數(shù) 運行時 間(毫秒) 單次耗時(微秒) 1 296 2 297 3 281 4 297 5 329 6 296 7 297 8 328 9 343 10 312 平均值 表 62 循環(huán)次數(shù)為 100000的平均耗時 次數(shù) 運行時間(毫秒) 單次耗時(微秒) 1 2937 2 2968 3 2985 4 2969 5 2938 6 3234 7 2985 8 3000 9 2984 10 3187 平均值 從表 61 和表 62 中可以看出, KASUMI 加密函數(shù)的加密速度是非??斓?, 第 23 頁 共 26頁 具不完全統(tǒng)計, KASUMI 加密函數(shù)的時間在 3微妙左右。操作部分主要是由幾個 BUTTON 按 第 21 頁 共 26頁 鈕組成,通過獲取 onClick 事件,進行相應的操作與顯示。簡單的可以分為三個部分:獲取數(shù)據(jù)部分、數(shù)據(jù)對比部分和操作部分;獲取數(shù)據(jù)部分主要是用于顯示測試KASUMI 函數(shù)的數(shù) 據(jù),這一組數(shù)據(jù)通過讀文件操作,從 文件中讀取。最后輸出的結構再次進行交換,將輸出的 64位原文的高 32位與低 32 位交換,即:現(xiàn)在的低 32位為現(xiàn)在的高 32 位,高 32 位為現(xiàn)在的低 32位。首先是將輸入的 64 位密文的高 32 位與低 32位交換,即:現(xiàn)在的低 32 位為現(xiàn)在的高 32 位,高 32 位為現(xiàn)在的低 32 位。 } KASUMI 算法加密時的 f 函數(shù)與解密時的 f 函數(shù)從表面看似乎是相同的,但是從它的流程去分析就能看出他們的不同點。 d[1].b8[3] = (u8)(left)。 d[1].b8[2] = (u8)(left 8)。 d[1].b8[1] = (u8)(left 16)。 //feistel 循環(huán)結構 d[1].b8[0] = (u8)(left 24)。 n++。 temp = FO( temp, (7n))。 n++。 temp = FL( temp, (7n))。 n = 0。 right= (((u32)d[0].b8[0]) 24) + (((u32)d[0].b8[1]) 16) + (d[0].b8[2] 8) + (d[0].b8[3])。 int n。 } f 函數(shù)的程序實現(xiàn) (解密時的函數(shù) ) void JieMiKasumi( u8 *dataj ) { u32 left, right, temp。 d[0].b8[3] = (u8)(left) 。 d[0].b8[2] = (u8)(left 8) 。 d[0].b8[1] = (u8)(left 16) 。//feistel 循環(huán)結構 d[0].b8[0] = (u8)(left 24) 。 left = left ^ temp 。 temp = FO( right, n ) 。 temp = FO( temp , n++ ) 。 n = 0 。 left = (((u32)d[0].b8[0]) 24) + (((u32)d[0].b8[1]) 16) + (d[0].b8[2] 8) + (d[0].b8[3]) 。 第 19 頁 共 26頁 int n。 } } f 函數(shù)的程序實現(xiàn) (加密時的函數(shù) ) void Kasumi( u8 *data ) { u32 left, right, temp。 KIi3[n] = Kprime[(n+7)amp。 KIi2[n] = Kprime[(n+3)amp。 KIi1[n] = Kprime[(n+4)amp。 KOi3[n] = ROL16(key[(n+6)amp。 KOi2[n] = ROL16(key[(n+5)amp。 KOi1[n] = ROL16(key[(n+1)amp。 KLi2[n] = Kprime[(n+2)amp。 n8。 ++n ) { Kprime[n] = (u16)(key[n] ^ C[n])。 } //循環(huán)產(chǎn)生數(shù)組 Kj’ for( n=0。 n8。 k16 = (WUYA *)k。 WUYA *k16。 第 18 頁 共 26頁 密鑰產(chǎn)生程序實現(xiàn) void KeySchedule( u8 *k ) { //常數(shù)表 static u16 C[] = { 0x0123,0x4567,0x89AB,0xCDEF, 0xFEDC,0xBA98,0x7654,0x3210 }。 } FL 函數(shù)的輸入由 32 位的數(shù)據(jù)輸入 indata 和 32 位的子密鑰 KL 組成,子密鑰分為兩個 16 位的子密鑰 KLi,1 和 KIi,2,其中, KL = KLi,1 || KLi,2。 indata = (((u32)left) 16) + right 。 b = (u16)(right | KLi2[n]) 。 KLi1[n]) 。//移位的高 16 位 right = (u16)(indata) 。 FL 函數(shù)的程序實現(xiàn) static u32 FL( u32 indata, int n ) { u16 left , right , a , b 。 32 位的數(shù)據(jù)輸入 indata 被分成兩半, left 和 right,其中: indata = left || right 。//移位合并 return( indata )。 left = left ^ right。 left = left ^ KOi3[n]。 right = FI( right, KIi2[n] )。 left = left ^ right。//強制轉換成 16 位,即取低 16 位 left = left ^ KOi1[n]。 left = (u16)(indata 16)。最后將得到indata=seven || nine ,即 16 位的輸出。與此類 似,密鑰 subkey 也被分成一個 7 位的子密鑰和一個 9 位的子密鑰。 return( indata )。 indata = (u16)((seven 9) + nine)。 seven = (u16)(S7[seven] ^ (nine amp。 0x1FF)。 seven = seven ^ (subkey 9)。 seven = (u16)(S7[seven] ^ (nine amp。 0x7F)。 nine = (u16)(indata 7)。 static u16 S7[] = {}。重點的是算法的研究與算法的程序實現(xiàn)。解密功能如圖 4 410 圖 49 加密并解密界面 圖 410 解密界面 本系統(tǒng)相當于其他系統(tǒng)非常簡單,功能也非常少。 KASUMI 的解密函數(shù)是從 KASUMI 的加密函數(shù)的定義中導出來的,這里不用去理解它是怎么導出來的,將在關鍵代碼分析的時候具體給出。 圖 45 密鑰輸入報錯界面 圖 46 明文輸入報錯界面 第 15 頁 共 26頁 圖 47 密鑰輸入報錯界面 圖 48 加密界面 解密功能,在 3GPP 中, KASUMI 算法更多應用的只是它的加密功能,因為 KASUMI 算法產(chǎn)生的密文只 是作為 3GPP 中的密鑰,所以不需要去解密。因為隨機產(chǎn)生明文和密鑰的時候已經(jīng)限定了它的字符和長度。就是因為只是驗證程序實現(xiàn)的正確性,所以我采用了隨機產(chǎn)生明文和密鑰的方法以便快速驗證,并不需要每次都去手動輸入,這樣大大提高了驗證的效率。當明文和密鑰在輸入的情況下,但是輸入的長度并不是 16位或 者 32 位,系統(tǒng)會自動彈出一個模態(tài)對話框,提示用戶明文必須輸入 16位或者密鑰必須輸入 32 位,如圖 4 47。 主控程序 I/O 接口 解密算法 密鑰產(chǎn)生 I/O 接口 輸入密文和密鑰 輸出原文 第 14 頁 共 26頁 當啟動對話框準備輸入的時候,如果在明文和密鑰沒有輸入或隨機產(chǎn)生的情況下,系統(tǒng)會自動彈出一個模態(tài)對話框,提示用戶明文必須輸入 16 位,如圖 44。在前面引言里我已經(jīng)提到 KASUMI算法是對 64 位二進制位明文和密鑰為 128 位二進制位。該界面由幾個模塊組成:輸入?yún)^(qū)、輸出區(qū)和操作區(qū)。 主控程序 主控程序在此方案中起到了一個中轉站的作用,它與每一個模塊都有密切的關系,就輸入接口而言,主控程序將從接口接收數(shù)據(jù)(密文和密鑰),然后對數(shù)據(jù)進行處理;接著把處理的數(shù)據(jù)傳遞給密鑰產(chǎn)生模塊,該模塊每輪產(chǎn)生 8個子密鑰,然后傳遞給主控程序;接著主控程序將處理的數(shù)據(jù)與子密鑰傳遞給解密模塊,解密模塊又將解密后的結果傳遞給主控程序;最后主控程序將解密后的結果通過輸出接口輸出。 密鑰 產(chǎn)生模塊 密鑰產(chǎn)生模塊的主要作用是產(chǎn)生每一輪解密所需要的子密鑰。 KASUMI 算法程序實現(xiàn)的解密解決方案 主控程序 I/O 接口 加密算法 密鑰產(chǎn)生 I/O 接口 輸入明文和密鑰 輸出密文 第 13 頁 共 26頁 圖 42 KASUMI算法程序實現(xiàn)解密方案 上圖為本系統(tǒng)實現(xiàn)解密的解決方案,此方案一共由五個模塊組成,其中包括兩個 I/O 接口、一個密鑰產(chǎn)生模塊、一個解密模塊和主控模塊。 加密模塊 加密模塊的主要作用是對數(shù)據(jù)進行加密。 I/O 接口 在本方案中,包含了兩個 I/O 接口:一個 I/O 接口用作明文和密鑰的輸入一個 I/O 接口用作密文的輸出。 KASUMI 算法程序實現(xiàn) KASUMI 算法程序的實現(xiàn)語言是多種多樣的,如: C、 C++、 JAVA 等等程序設計語言,本文 KASUMI 算法程序的實現(xiàn)是利用 C語言來實現(xiàn)的。從功能上看,該系統(tǒng)非常簡單;從界面上 看,該系統(tǒng)也與其他加密軟件類似,但是它們有區(qū)別;從代碼上看,該系統(tǒng)并沒有把加密解密算法封裝,而是作為程序的全局函數(shù)。它是構成 feistel 結構的重要組成部分。 7輪, FL 函數(shù)作為 FO函數(shù)的參數(shù)進行傳遞; 8 輪, FO函數(shù)作為 FL函數(shù)的參數(shù)進行傳遞。它是構成 feistel 結構的重要組成部分。這里需要主要的是 16位的輸入并不是均等分為 8位和 8位的左右輸入,而是 9 位和 7位的不均等輸入。它由兩個非線性 Sbox S7 和 S9 的 4次循環(huán)結構組成。產(chǎn)生的子密鑰分別應用于 KL 函數(shù)、 KO 函數(shù)和 KI函數(shù)。 。 。 。 。 通過上圖可以清晰地看出 KASUMI 算法的一個總體流程,下面就詳細介紹KASUMI 算法的子流程圖: 密鑰產(chǎn)生
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1