[發明專利]一種偽隨機數生成器及偽隨機數生成方法有效
| 申請號: | 201110428803.3 | 申請日: | 2011-12-20 |
| 公開(公告)號: | CN102520908A | 公開(公告)日: | 2012-06-27 |
| 發明(設計)人: | 金銀軍;李曉龍;寧振虎;周端陽;王博;喻賢成 | 申請(專利權)人: | 大唐微電子技術有限公司 |
| 主分類號: | G06F7/58 | 分類號: | G06F7/58 |
| 代理公司: | 北京安信方達知識產權代理有限公司 11262 | 代理人: | 栗若木;曲鵬 |
| 地址: | 100094*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 隨機數 生成器 生成 方法 | ||
技術領域
本發明涉及數據信號生成技術領域,尤其涉及一種偽隨機數生成器及偽隨機數生成方法。
背景技術
偽隨機數在計算機軟件、硬件、安全等領域有著廣泛的應用,因而產生高效優質(即隨機性高)的偽隨機數變得非常重要。當前產生偽隨機數的方案是通過模指數定義的偽隨機數發生器產生。在偽隨機數生成過程中,需要一直對數據求n次方,并按順序保存數據。利用該現有方法產生的數據,其長度可長可短,但容易出現循等破壞偽隨機數質量的數據。總體而言,現有的偽隨機數生成方案所產生的偽隨機數,占用空間大,效率低,并且所產生數據的隨機性也不夠高,不能滿足當前實際應用中對隨機性越來越高的要求。
因此,如何高效地生成高質量的偽隨機數成為當前需要解決的一個問題。
發明內容
本發明所要解決的技術問題在于,提供一種偽隨機數生成器及偽隨機數生成方法,用于克服當前偽隨機數生成效率低且質量較差的缺陷,解決如何實現高效地生成高質量偽隨機數的技術問題。
為了解決上述問題,本發明提出了一種偽隨機數生成器,包括:
奇偶判斷模塊,用于判斷當前偽隨機數ai是奇數還是偶數,若為偶數,則將當前偽隨機數送入平方處理模塊,若為奇數,則將當前偽隨機數送入雙曲處理模塊;
所述平方處理模塊,用于對當前偽隨機數ai按照平方算法生成下一偽隨機數ai+1;
所述雙曲處理模塊,用于對當前偽隨機數ai按照雙曲算法生成下一偽隨機數ai+1。
其中,所述平方處理模塊,在ai是偶數時,進行平方處理時,令ai+1=S(ai)來獲得新的偽隨機數ai+1;其中,函數S(x)=x2mod?p;p是一個素數。
其中,所述雙曲處理模塊,在ai是奇數時,進行雙曲處理時,令ai+1=T(ai)來獲得新的偽隨機數ai+1;其中,函數T(x)=(x-x-1)mod?p;p是一個素數。
本發明還提供一種偽隨機數生成器,包括:
參數輸入模塊,用于配置初始參數及初始偽隨機數a0;
奇偶判斷模塊,用于判斷當前偽隨機數ai是奇數還是偶數,若為偶數,則將當前偽隨機數送入平方處理模塊,若為奇數,則將當前偽隨機數送入雙曲處理模塊;
所述平方處理模塊,用于對當前偽隨機數ai按照平方算法生成下一偽隨機數ai+1輸出至計數判斷模塊;
所述雙曲處理模塊,用于對當前偽隨機數ai按照雙曲算法生成下一偽隨機數ai+1輸出至計數判斷模塊;
所述計數判斷模塊,用于接收下一偽隨機數ai+1,對計數值i進行加1遞增令i=i+1,將利用平方處理或雙曲處理后所得的偽隨機數ai+1作為當前偽隨機數ai,判斷當前計數值i是否大于預設計數門限L,若遞增后的計數值大于預設計數門限,即i>L,則跳轉至溢出處理模塊進行處理,否則,將當前偽隨機數ai發送給輸出模塊;
溢出處理模塊,用于在i>L時,對偽隨機數ai進行溢出處理,令ai=(ai-ai-L)mod?p,將ai作為偽隨機數輸出至輸出模塊;
所述輸出模塊,一方面用于對外輸出新生成的偽隨機數ai,另一方面將新生成的偽隨機數ai及當前計數值i反饋至奇偶判斷模塊,用于繼續生成下一個偽隨機數。
其中,所述參數輸入模塊配置初始參數的包括:一個大素數p,一個用于限制初始a0的長度的整數N;一個整數L,用于作為對計數值i進行大小判斷的門限值;所述初始偽隨機數a0是一個非平凡(nonuniform)大數,即計數值i=0。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于大唐微電子技術有限公司,未經大唐微電子技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110428803.3/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種易于制作馬靴的鞋楦結構
- 下一篇:走路可按摩的鞋





