[發明專利]一種軟件實現的真隨機數產生方法無效
| 申請號: | 201010603005.5 | 申請日: | 2010-12-24 |
| 公開(公告)號: | CN102063285A | 公開(公告)日: | 2011-05-18 |
| 發明(設計)人: | 方震 | 申請(專利權)人: | 倍奧銳(北京)科技有限公司 |
| 主分類號: | G06F7/58 | 分類號: | G06F7/58 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100192 北京市海淀區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 軟件 實現 隨機數 產生 方法 | ||
技術領域
本發明涉及只使用軟件的隨機函數配合設備的上電時間的不可預測性生成真隨機數的方法。
背景技術
真正意義上的隨機數在某次產生過程中是按照實驗過程中表現的分布概率隨機產生的,其結果是不可預測的,是不可見的。而以往使用電子設備中程序的隨機函數是按照一定算法模擬產生的,這些數列是“似乎”隨機的數,實際上它們是通過一個固定的、可以重復的計算方法產生的。它們不真正地隨機,因為它們實際上是可以依據函數的架構和程序的運行時間計算出來的,其結果是確定的,是可見的。我們可以認為這個可預見的結果其出現的概率是100%。所以以往使用軟件隨機函數所產生的“隨機數”并不隨機,是偽隨機數。
通常目前真隨機數的產生方法都是依賴與硬件電路來實現,這樣無疑增加設備的設計復雜度和設備成本。
發明內容
有鑒于此,本發明提供一種軟件實現的真隨機數產生方法,以解決現有單純使用軟件只能生成偽隨機數的問題。
本發明所提供的一種真隨機數產生方法的具體方案如下:
設備第一次上電時,電子設備的程序調用存儲模塊中的初始隨機種子,隨機函數使用該隨機種子產生一個偽隨機數,并將該偽隨機數寫入存儲模塊,之后程序每循環一次,生成一個偽隨機數,并寫入存儲模塊;其中程序循環的周期都是毫秒級別的,所以每次設備的上電時間內,隨機函數可以生成很多次隨機數。最后設備斷電后,因設備上電至設備斷電的時間不可預知性,最終生成的隨機數是無法預知的。當設備第二次上電時即調用上次設備生成的無法預知的隨機數作為隨機種子,即可生成真隨機數。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明所提供的真隨機數生成方法的示意圖;
圖2為本發明所提供的真隨機數生成方法的結構示意圖;
圖3為本發明所提供的真隨機數生成方法的流程圖;
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
申請人經研究發現,通過軟件方式生成的隨機數,都是通過一個固定的,可以重復的方法根據一個隨機種子生成一個隨機數,因此以往軟件生成的隨機數都稱為偽隨機數,其結果是確定的,是可預見的。當然如果隨機種子是一個真隨機數,那以此隨機種子所生成的隨機數,也是一個真隨機數。但是電子設備的一致性導致它每次上電后所獲取隨機種子也只能通過固定的算法從固定的位置提取出來,所以隨機種子也是確定。因此以往單靠軟件不能生成的真隨機數。
為了解決上述問題,本發明提供了一種軟件實現的真隨機數產生方法,該方法包括隨機函數、循環模塊、存儲模塊和隨機種子
隨機函數用于生成偽隨機數,存儲模塊用來存儲隨機函數經過循環模塊后生成的隨機數,并將此隨機數作為下次上電隨機函數的隨機種子。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于倍奧銳(北京)科技有限公司,未經倍奧銳(北京)科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010603005.5/2.html,轉載請聲明來源鉆瓜專利網。





