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

正文內(nèi)容

大隨機數(shù)生成器算法的研究與實現(xiàn)—免費畢業(yè)設計論文-在線瀏覽

2025-02-01 10:19本頁面
  

【正文】 流程圖 圖 1 1024 位隨機數(shù)產(chǎn)生原理圖 偽隨機數(shù) 產(chǎn)生器 的 產(chǎn)生過程 : 輸入 : 輸入為兩個 64 比特的偽隨機數(shù) DTi 和 Vi,其中 DTi 表示當前的日期和時間 ,每產(chǎn)生一個數(shù) Ri 后, DTi 都更新一次; Vi 是產(chǎn)生第 i 個隨機數(shù)時的種子,其初值可任意設定,以后每次自動更新。 輸出 : 輸出為一個 64 比特的偽隨機數(shù) Ri 和一個 64 比特的新種子 Vi+1 Step_1: 使用兩個 56 比特的密鑰 K1 和 K2,對偽隨機數(shù) DTi 進行一次三重DES 加密 (EDE),得到 Result_1。 step_3: 使用密鑰 K1 和 K2 對 Result_2 進行一次三重 DES 加密 (EDE),得到一個 64bit 的 Ri 和 Result_3。 step_5: 使用密鑰 K1和 K2 對 Result_4 進行一次三重 DES加密 (EDE),得到Result_5,即得到一個 64bit 的新種子 V(i+1). (公式 2) (說明 : EDE 表示兩個密鑰的三重 DES) step_6: V(i+1)將作為下一輪的輸入 Vi,再次循環(huán)完成 step_1 到 step_5 的過程 ,直到完成 16 輪迭代加密 . 本方案具有非常高的密碼強度,這是因為采用了 112 比特長的密鑰和 9 個DES 加密,同時還由于算法由兩個偽隨機數(shù)輸入驅(qū)動,一個是當前的日期和時間,另一個是算法上次產(chǎn)生的新種子。 隨機數(shù)產(chǎn)生為 1024 位,即 16組 64位 2進制數(shù),且有最高為(第 1024 位 2進制數(shù))為 1,所以該隨機數(shù)高位在( 16 進制) 10000000 與 FFFFFFFF 之間。從技術上說,對 DES 的批評主要集中在以下 3 個方面:作為區(qū)組密碼, DES 的加密單位僅有 64 位二進制,對于數(shù)據(jù)傳輸來說太??;密鑰僅有 56 位二進制未免太短,各次迭代中使用的密鑰K(i)是遞推產(chǎn)生的 ,這種相關性降低了密碼體制的安全性;實現(xiàn)替代函數(shù) Si 所用的 S盒的設計原理尚未公開,其中可能留有隱患。據(jù)稱,目Confidential PagePage 8 of 56 8 12/30/2020 前尚無人找到針對此方案的攻擊方法。由于 16輪迭代的每輪使用一個 48 位二進制的密鑰,所以這一方法可以增強DES 的加密強度。 5 算法實現(xiàn) 函數(shù)名 : get_SystemStatus_W32 函數(shù)功能 : 得到系統(tǒng)狀態(tài) 輸入 : 無 輸出 : 系統(tǒng)狀態(tài)字符串 ,ni:得到的字符串長度 流程圖: 圖 2 得到系統(tǒng)狀態(tài) 的方法示意 圖 buf: 用以保存系統(tǒng)狀態(tài)字符中, maxlen:字符串長度 int CCreRndNum::get_SystemStatus_W32(int maxlen) { int ni = 0。 MEMORYSTATUS ms。 //返回長整型 (DWORD) if (maxlen = sizeof(DWORD)) 進程 ID的句柄標實符 線程的句柄標實符 CPU 脈沖值 內(nèi)存狀態(tài)字 凡是長度大于 maxlen ,ni 等于 ni加上其長度,返回 ni Confidential PagePage 9 of 56 9 12/30/2020 { memcpy(amp。dwRes, sizeof(dwRes))。 maxlen = sizeof(dwRes)。 if (maxlen = sizeof(DWORD)) { memcpy(amp。dwRes, sizeof(dwRes))。 maxlen = sizeof(dwRes)。 if (maxlen = sizeof(DWORD)) { memcpy(amp。dwRes, sizeof(dwRes))。 maxlen = sizeof(dwRes)。 GlobalMemoryStatus(amp。 if (maxlen = sizeof(MEMORYSTATUS)) { memcpy(amp。ms, sizeof(MEMORYSTATUS))。 maxlen = sizeof(MEMORYSTATUS)。 } void CCreRndNum::GetKey() { int sysInfoLen = get_SystemStatus_W32(300)。 //字符串型 int iKey32[32]。//字符串 for(int i = 0。 i++)//字符串轉(zhuǎn)化為整型 { iKey32[i] = CharToInt(sKey32[i])。 i 64。 0x01。 0x01。 FILETIME ft。ft)。 i 32。 0x01)。 0x01)。 srand((unsigned)time(NULL))。 i 64。 } } 函數(shù)名 : Step_1 函數(shù)功能 : 產(chǎn)生隨機數(shù)第 1步 (見 圖 1) 輸入 : DTi(時間 ),K1,K2(密鑰 ) 輸出 : Result_1[64] 調(diào)用函數(shù) : MyDes::EDE() void CCreRndNum::Step_1() { GetTime()。 //產(chǎn)生密鑰并保存在 KK1,KK2 中 CDES MyDes。 //三重 DES 加密 (EDE) } 函數(shù)名 : Step_2 函數(shù)功能 : 產(chǎn)生隨機數(shù)第 2步 (見 圖 1) 輸入 : Result_1,Vi(第一次輸入的隨機數(shù) ) 輸出 : Result_2[64] void CCreRndNum::Step_2() { int i。 i 64。 } } 函數(shù)名 : Step_3 函數(shù)功能 : 產(chǎn)生隨機數(shù)第 3步 (見圖 1) 輸入 : Result_2,K1,K2(密鑰 ) 輸出 : Result_3[64] Confidential PagePage 12 of 56 12 12/30/2020 調(diào)用函數(shù) : MyDes::EDE() void CCreRndNum::Step_3() {CDES MyDes。 } 函數(shù)名 : Step_4 函數(shù)功能 : 產(chǎn)生隨機數(shù)第 4步 異或 (見 圖 1) 輸入 : Result_1,Result_3 輸出 : Result_4[64] void CCreRndNum::Step_4() { int i。 i 64。 } } 函數(shù)名 : Step_5 函數(shù)功能 : 產(chǎn)生隨機數(shù)第 5步 (見圖 1) 輸入 : Result_4,K1,K2(密鑰 ) 輸出 : Result_5[64] 調(diào)用函數(shù) : MyDes::EDE void CCreRndNum::Step_5() {CDES MyDes。} 函數(shù)名 : GetRandNumber 函數(shù)功能 : 產(chǎn)生隨機數(shù) ,保存在 dwRndNum[33]中 . 輸入 : 無 輸出 : dwRndNum[33] 備注 : 輸出 1025 位二進制 ,故用 33 個 DWORD 型的數(shù)存放隨機數(shù) . BOOL CCreRndNum::GetRandNumber(DWORD dwRndNum[]) { GetVi()。 for (m = 0。 m++) //17 輪產(chǎn)生 1088(取 1025)位的 Ri { Step_1()。 Step_3()。 i 64。 //保存到 1024bit 的 Ri 中 } Step_4()。 for (i = 0。 i++) //Vi+1 自動賦給 Vi { Vi[i] = Result_5[i]。 for ( i = 0。 i++) //取第 1~1024 位 { temp = (UINT)(i / 32)。 else dwRndNum[temp] = dwRndNum[temp] 1 | (DWORD)Ri[i]。i32。} } dwRndNum[32] amp。 //取第 1025 位 ,其余位為 0 return TRUE。 均勻性檢驗,又稱頻率檢驗,意在檢驗偽隨機數(shù)的經(jīng)驗頻率與理論頻率的差異是否顯著。 組合規(guī)律檢測,按隨機數(shù)出現(xiàn)的先后次序,根據(jù)一定的規(guī)律組合,檢驗其組合的觀察值與理值是不否有顯著差異,包括距離檢驗和配套檢驗等。 本程序采用了均勻性檢測,即頻率檢測。并且存放在 32 個數(shù)組中, 所以取其中高位數(shù)組的值就可以判斷是否滿足均勻性檢測。 bb++。 for (int i =0。i++) { sprintf(s,(%2d) %10lX\r\n,i,dwn[i])。 } cc=cc/bb*(bb1)+dwn[31]/bb。 (s)。 隨機數(shù)產(chǎn)生器界面簡單,隨機數(shù)足夠隨機并且保證隨機數(shù)范圍滿足 1024 位2進制數(shù)。 對程序改進的方法:對檢測的方法增加其他的種類,例如 參數(shù)檢驗 , 游程檢驗 等方法,畢竟,通過的檢測越多隨機數(shù)的可靠性就越高。 [2] (美 )克魯格林斯基 (Kruglinski,.).Visual C++ 技術內(nèi)幕 [M].北京 :清華大學出版社 ,1999。 [4] Bruce ,算法與 C源程序 [M]. 北京 : 機械工業(yè)出版社 , 2020。 [6]( 美 ) Steven John 設計模式 [M]. 北京 : 中國電力出版社 , 2020。 [8] . 貝達特, . 皮爾索 .隨機數(shù)據(jù)分析方法 [M].北京: 北京國防工業(yè)出版社 , 1976。在此向他表示我最衷心的感謝! 在論文完成過程中,本人還得到了萬武南老師和劉銘贊同學的熱心幫助,本人向他們表示深深的謝意! 最后向在百忙之中評審本文的各位專家、老師表示衷心的感謝! 作者簡介: 姓 名:張金 性別:男 出生年月: 民族:漢 Email: Confidential PagePage 19 of 56 19 12/30/2020 聲 明 本論文的工作是 2020 年 2 月至 2020 年 6 月在成都信息工程學院網(wǎng)絡工程系完成的。除非另有說明,本文的工作是原始性工作。 ( 2)學??梢圆捎糜坝?、縮印或其他復制方式保存學位論文。 ( 4)學??稍试S學位論文被查閱或借閱。 除非另有科研合同和其他法律文書的制約,本論文的科研成果屬于成都信息工程學院。 本設計主要為第 3 代移動通信系統(tǒng)( 3G)提供符合要求的隨機數(shù)( 1024 位),首先取得系統(tǒng)時間和 RAND()函數(shù)所產(chǎn)生的隨機數(shù)作為最初的隨機初值,經(jīng)過三重 DES(兩密鑰通過 MD5算法得來)和異或的變換,保證其隨機數(shù)的足夠隨機,然后通過 16次的循環(huán)得到一個組合起 來的 1024 位隨機數(shù),設計還提供一個檢驗隨機數(shù)是否隨機的平臺,采用了均勻性檢測,即頻率檢測的方法檢測隨機數(shù)的隨機性,通 過檢測發(fā)現(xiàn),所產(chǎn)生的隨機數(shù)能夠達到我們所期望的隨機性。 關鍵字 :隨機數(shù) ; RSA; MD5; 加密技術 ;均勻性檢測 Big Random Number Generator Algorithm Research and Implement Abstract The big random number is used everywhere in modern society especially in the encryption technology. The random number is the key technology of the encryption. This design mainly provides the request random number (1024) for 3rd Generation of mobile munication system. The way to provide the number is discussed in this article, and the Randomness test is discussed too. There are many ways to finish the task which are shown in this paper. We hope these techniques can be useful. Key words: Random number。 MD5。 Even line of examination目 錄 論文總頁數(shù): 19頁 1 引言 ........
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1