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

正文內(nèi)容

大隨機(jī)數(shù)生成器算法的研究與實現(xiàn)—免費畢業(yè)設(shè)計論文-資料下載頁

2024-11-29 10:19本頁面

【導(dǎo)讀】經(jīng)成了不可缺少的一部分,像RSA,MD5中隨機(jī)數(shù)成為加密技術(shù)的關(guān)鍵。本設(shè)計主要為第3代移動通信系統(tǒng)提供符合要求的隨機(jī)數(shù),三重DES和異或的變換,保證其隨機(jī)數(shù)的足夠隨機(jī),機(jī)性,通過檢測發(fā)現(xiàn),所產(chǎn)生的隨機(jī)數(shù)能夠達(dá)到我們所期望的隨機(jī)性。了多種隨機(jī)數(shù)的檢測方法供大家參考,希望對大家有所幫助。

  

【正文】 ,所以在隨機(jī)數(shù)的研究中還有很深的東西需要我們?nèi)ネ诰颉? 本課題研究的意義 保證我們能夠很快速的 得到需要的隨機(jī)數(shù),而且隨機(jī)數(shù)能夠足夠大足夠隨機(jī),盡量能夠?qū)嵱迷谛枰玫诫S機(jī)數(shù)的任何地方,特別是在科研領(lǐng)域,比如第 3代移動通信系統(tǒng)( 3G)中需要的 1024 隨機(jī)數(shù),就能滿足它的要求,我們所要做的就是使產(chǎn)生的隨機(jī)數(shù)盡量的靠近真隨機(jī)數(shù)。 本課題的研究方法 工作任務(wù): ,認(rèn)識現(xiàn)階段隨機(jī)數(shù)產(chǎn)生器的產(chǎn)生方式和所用到的知識,結(jié)構(gòu)體系是怎樣的。 ,能夠保留的優(yōu)點就要盡量用到,如果有不足應(yīng)該怎樣改正,加上自己的理解和題目的要求做一個滿意的隨機(jī)數(shù) 產(chǎn)生器。 要求: 使用 VC++平臺,編寫一個能產(chǎn)生 1024 位的隨機(jī)數(shù)發(fā)生器,而且隨機(jī)數(shù)還要Confidential PagePage 3 of 56 3 12/30/2020 是足夠隨機(jī)的,并且還要編制一個檢驗平臺,能在該平臺上檢驗該隨機(jī)數(shù)是足夠隨機(jī)的 。 設(shè)計思路:采用 VC++ 1.使用 VC++實現(xiàn)控件的開發(fā)與界面的設(shè)計,盡量使外觀簡單容易實用,輸出結(jié)果方便易看 2.借鑒其他隨機(jī)數(shù)產(chǎn)生器的產(chǎn)生方法,參閱 AES, DES中隨機(jī)數(shù)的產(chǎn)生方法,借鑒出其中的精華,補上自己的構(gòu)思與想法盡量使隨機(jī)數(shù)不出現(xiàn)重復(fù)。 2 常見隨機(jī)數(shù)生成方法簡析 迭代取中法 這里在迭代取中法中介紹平方取中法 , 其迭代式如下 : Xn+1=(Xn^2/10^s)(mod 10^2s) Rn+1=Xn+1/10^2s 其中, Xn+1 是迭代算子,而 Rn+1 則是每次需要產(chǎn)生的隨機(jī)數(shù)。 第一個式子表示的是將 Xn 平方后右移 s 位,并截右端的 2s 位。 而第二個式子則是將截尾后的數(shù)字再壓縮 2s 倍,顯然 :0=Rn+1=1. 迭代取中法有一個不良的性就是它比較容易退化成 0。 乘同余法 乘同余法的迭代式如下 : Xn+1=Lamda*Xn(mod M) (Lamda 即參數(shù) λ ) Rn+1=Xn/M 各參數(shù)意義及各步的作用可參 。 當(dāng)然,這里的參數(shù)的選取至關(guān)重要 。 經(jīng)過前人檢驗的兩組性能較好的素數(shù)取模乘同余法迭代式的系數(shù)為 : 1 ) lamda=5^5,M=2^3531 2 ) lamda=7^5,M=2^311 混同于法 混合同余法是加同余法和乘同余法的混合形式 , 其迭代式如下 : Xn+1=( Lamda*Xn+C )%M Rn+1=Xn/M 經(jīng) 前人研究表明,在 M=2^q 的條件下,參數(shù) lamda,miu,X0 按如下選取,周期較大,概率統(tǒng)計特性好 : Lamda=2^b+1,b 取 q/2 附近的數(shù) Confidential PagePage 4 of 56 4 12/30/2020 C=(1/2+sqrt(3))/M X0 為任意非負(fù)整數(shù) 它的一個致命的弱點,那就是隨機(jī)數(shù)的生成在某一周期內(nèi)成線性增長的趨勢,顯然,在大多數(shù)場合,這種極富 “ 規(guī)律 ” 型的隨機(jī)數(shù)是不應(yīng)當(dāng)使用的。 實現(xiàn) : 1 double _random( void ) 2 { 3 int a。 4 double r。 5 6 a = rand() % 32767 。 7 r = (a + ) / 。 8 9 return r。 10 11 } 反變換法 它首先需要使用均勻分布獲得一個 (0,1) 間隨機(jī)數(shù) , 這個隨機(jī)數(shù)相當(dāng)于原概率分布的 Y 值 , 因為我們現(xiàn)在是反過來求 X. 哎 , 聽糊涂了也沒關(guān)系 , 只要知道算法怎么執(zhí)行的就行 . 采用概率積分變換原理 , 對于隨機(jī)變量 X 的分布函數(shù) F(X) 可以求其反函數(shù),得 : 原來我們一般面對的是概率公式 Y=f(X). 現(xiàn)在反過來 , 由已知的概率分布或通過其參數(shù)信息來反求 X. Xi=G(Ri) 其中 ,Ri 為一個 01 區(qū)間內(nèi)的均勻分布的隨機(jī)變量 . F(X) 較簡單 時,求解較易,當(dāng) F(X) 較復(fù)雜時,需要用到較為復(fù)雜的變換技巧。 平均分布 : 已知隨機(jī)變量密度函數(shù)為 : Confidential PagePage 5 of 56 5 12/30/2020 指數(shù)分布 : 指數(shù)分布的分布函數(shù)為 : x0 時 ,F(x)=0 。 x=0,F(x)=1exp(lamda*x) 利用反函數(shù)法,可以求得 : x=lnR/lamda( 怎么來的別問 ) 正態(tài)分布隨機(jī)變量的生成 : 正態(tài)分布在概率統(tǒng)計的理論及應(yīng)用中占有重要地位,因此,能產(chǎn)生符合正態(tài)分布的隨機(jī)變量就在模擬一類的工作中占有相當(dāng)重要的地位。 下面介紹兩種方法。 經(jīng)過一定的計算變行,符合二維的正態(tài)分布的隨機(jī)變量的生成可按下面的方法進(jìn)行: 1) 產(chǎn)生位于 01 區(qū)間上的兩個隨機(jī)數(shù) r1 和 r2. 2) 計算 u=2*r11,v=2*r21 及 w=u^2+v^2 3) 若 w1 ,則返回 1) 4) x=u[(lnw)/w]^(1/2) ( 怎么來的別問 ) y=v[(lnw)/w]^(1/2) 如果為 (miu,sigma^2) 正態(tài) 分 布 , 則按 上述 方 法產(chǎn) 生 x 后, x’=miu+sigma*x 由于采用基于乘同余法生成的 01 上的隨機(jī)數(shù)的正態(tài)分布隨機(jī)數(shù)始終無法能過正態(tài)分布總體均值的假設(shè)檢驗。而采用 C 語言的庫函數(shù)中的隨機(jī)數(shù)生成函數(shù) rand() 來產(chǎn)生 01 上的隨機(jī)數(shù),效果較為理想。 離散型隨機(jī)變量 基本的思想是 這樣的: 1 )在泊松分布中,求出 X 取何值時, p(X=k) 取最大值時,設(shè)為 Pxmax. 其時,這樣當(dāng)于求解 f(x)=lamda^k/k! 在 k 取何值時有最大值,雖然,這道題有一定的難度,但在程序中可以能過一個循環(huán)來得到取得 f(x) 取最大值時的整數(shù)自變量 Xmax 。 Confidential PagePage 6 of 56 6 12/30/2020 2) 通過迭代,不斷生成 01 區(qū)間上的隨機(jī)數(shù),當(dāng)隨機(jī)數(shù) Pxmax 時,則終止迭代,否則重復(fù) (2) 3) 記錄迭代過程的次數(shù),即為所需要得到的符何泊松分布的隨機(jī)量。 顯然,這種方法較為粗糙,在試驗的過程中發(fā) 現(xiàn):生成的的隨機(jī)量只能算是近似的服從泊松分布,所以,更為有效的算法還有待嘗試。 實現(xiàn) : 采用 double 至少可以支持 lamda=700 ,即 exp(700)!=0 1 const int MAX_VAL = 10000 。 2 double U_Rand( double a, double b ) // 均勻分布 3 { 4 double x = random( MAX_VAL )。 5 return a + (b a) * x / (MAX_VAL 1 )。 6 } 7 double P_Rand( double Lamda ) // 泊松分布 8 { 9 double x = 0 ,b = 1 ,c = exp( Lamda ),u。 10 do { 11 u = U_Rand( 0 , 1 )。 12 b *= u。 13 if ( b = c ) 14 x ++ 。 15 } while ( b = c )。 16 return x。 17 } 為防止 lamda 過大而溢出 ,故 應(yīng)該自己來寫一個浮點類 4 隨機(jī)數(shù)的檢驗 隨機(jī)數(shù)的統(tǒng)計檢驗,就是根據(jù)( 0, 1)上均勻總體簡單子樣式的性質(zhì)來研究所產(chǎn)生的隨機(jī)數(shù)序列的相應(yīng)性質(zhì),進(jìn)行比較鑒別,視其差異顯著與否,決定取舍。如果所產(chǎn)生的偽隨機(jī)數(shù)經(jīng)過各類檢驗,其差異均不顯著,我們即接受其為均勻總體隨機(jī)數(shù)的子樣。 需要指出的是,若所產(chǎn)生的偽隨機(jī)數(shù)序列通過某種隨機(jī)性檢驗,只是說它與隨機(jī)數(shù)的性質(zhì)和規(guī)律不矛盾,我們不能扛絕它,并不是說它們已經(jīng)具有隨機(jī)數(shù)的性質(zhì)與規(guī)律。因此檢驗所產(chǎn)生的偽隨機(jī)數(shù)序列時,所通過的檢驗越多,隨機(jī)數(shù)序列就越靠得住。隨機(jī)數(shù)的檢驗方法有: Confidential PagePage 7 of 56 7 12/30/2020 參數(shù) 檢驗,檢驗其分布參數(shù)的觀察值與理論值的差異顯著性。 均勻性檢驗,又稱頻率檢驗,意在檢驗偽隨機(jī)數(shù)的經(jīng)驗頻率與理論頻率的差異是否顯著。 獨立性檢驗,即檢驗所產(chǎn)生的偽隨機(jī)數(shù)的獨立性和統(tǒng)計相關(guān)是否異常,包括相關(guān)關(guān)系檢驗和聯(lián)列表檢驗等。 組合規(guī)律檢測,按隨機(jī)數(shù)出現(xiàn)的先后次序,根據(jù)一定的規(guī)律組合,檢驗其組合的觀察值與理值是不否有顯著差異,包括距離檢驗和配套檢驗等。 游程檢驗,把隨機(jī)數(shù)序列按一定的規(guī)則進(jìn)行分類,分為正負(fù)游程檢驗和升降游程檢驗等。 4 大隨機(jī)數(shù)產(chǎn)生的機(jī)理 流程圖 圖 1 1024 位隨機(jī)數(shù)產(chǎn)生原理 圖 偽隨機(jī)數(shù)產(chǎn)生器 的 產(chǎn)生過程 : 輸入 : 輸入為兩個 64 比特的偽隨機(jī)數(shù) DTi 和 Vi,其中 DTi 表示當(dāng)前的日期和時間 ,每產(chǎn)生一個數(shù) Ri 后, DTi 都更新一次; Vi 是產(chǎn)生第 i 個隨機(jī)數(shù)時的種子,其初值可任意設(shè)定,以后每次自動更新。 密鑰 : 產(chǎn)生器用了 3 次三重 DES 加密, 3 次加密使用相同的兩個 56 比特的密鑰 K1 和 K2,這兩個密鑰必須保密且不能用作他用。 輸出 : 輸出為一個 64 比特的偽隨機(jī)數(shù) Ri 和一個 64 比特的新種子 Vi+1 Confidential PagePage 8 of 56 8 12/30/2020 Step_1: 使用兩個 56 比特的密鑰 K1 和 K2,對偽隨機(jī)數(shù) DTi 進(jìn)行一次三重DES 加密 (EDE),得到 Result_1。 step_2: 任意設(shè)置一個值為 Vi 的初值 ,將 Vi 和 Result_1 進(jìn)行異或 ,得到Result_2。 step_3: 使用密鑰 K1 和 K2 對 Result_2 進(jìn)行一次三重 DES 加密 (EDE),得到一個 64bit 的 Ri 和 Result_3。 (公式 1) (說明 : EDE 表示兩個密鑰的三重 DES) step_4: 異或 Result_1 和 Result_3,得到 Result_4。 step_5: 使用密鑰 K1和 K2 對 Result_4 進(jìn)行一次三重 DES加密 (EDE),得到Result_5,即得 到一個 64bit 的新種子 V(i+1). (公式 2) (說明 : EDE 表示兩個密鑰的三重 DES) step_6: V(i+1)將作為下一輪的輸入 Vi,再次循環(huán)完成 step_1 到 step_5 的過程 ,直到完成 16 輪迭代加密 . 本方案具有非常高的密碼強(qiáng)度,這是因為采用了 112 比特長的密鑰和 9 個DES 加密,同時還由于算法由兩個偽隨機(jī)數(shù)輸入驅(qū)動,一個是當(dāng)前的日期和時間,另一個是算法上次產(chǎn)生的新種子。而且即使某次產(chǎn)生的隨機(jī)數(shù) Ri 泄露了,但由于 Ri又經(jīng)一次 EDE加密才產(chǎn)生新種子 Vi+1,所以別人即使得到 Ri也得不到 Vi+1,從而得不到新隨機(jī)數(shù) Ri+1。 隨機(jī)數(shù)產(chǎn)生為 1024 位,即 16組 64位 2進(jìn)制數(shù),且有最高為(第 1024 位 2進(jìn)制數(shù))為 1,所以該隨機(jī)數(shù)高位在( 16 進(jìn)制) 10000000 與 FFFFFFFF 之間。 DES 算法簡介 自 DES 算法 1977 年公諸于世以來,人們一直對 DES 的安全性持懷疑態(tài)度,對密鑰的長度、迭代次數(shù)及 S盒的設(shè)計眾說紛紜。從技術(shù)上說,對 DES 的批評主要集中在以下 3 個方面:作為區(qū)組密碼, DES 的加密單位僅有 64 位二進(jìn)制,對于數(shù)據(jù)傳輸來說太??;密鑰僅有 56 位二進(jìn)制未免太短,各次迭代中使用的密鑰K(i)是遞推產(chǎn)生的,這種相關(guān)性降低了密碼體制的安全性;實現(xiàn)替代函數(shù) Si 所用的 S盒的設(shè)計原理尚未公開,其中可能留有隱患。 針對以上 DES 的缺陷,人們提出了幾種增強(qiáng) DES 安全性的方法,主要有以下3種: 2) 三重 DES算法 Confidential PagePage 9 of 56 9 12/30/2020 用 3 個不同
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1