1.一種高性能隨機(jī)數(shù)發(fā)生方法,其特征在于包括以下步驟:
首先,通過物理數(shù)據(jù)采集模塊生成隨機(jī)性較差的隨機(jī)數(shù),所述性能較差的隨機(jī)數(shù)為原始隨機(jī)數(shù);
其次,通過隨機(jī)性算法處理模塊對原始隨機(jī)數(shù)進(jìn)行隨機(jī)性算法處理以得到真隨機(jī)數(shù)。
2.根據(jù)權(quán)利要求1所述的高性能隨機(jī)數(shù)發(fā)生方法,其特征在于:
所述隨機(jī)性算法處理模塊對原始隨機(jī)數(shù)進(jìn)行有理數(shù)逼近無理數(shù)的算法變換;所述算法變換首先得到漸近分?jǐn)?shù),然后對漸近分?jǐn)?shù)使用大整數(shù)除法得到結(jié)果,再將結(jié)果進(jìn)行二進(jìn)制展開,最終得到高隨機(jī)性的隨機(jī)序列。
3.根據(jù)權(quán)利要求1所述的高性能隨機(jī)數(shù)發(fā)生方法,其特征在于:
通過偽隨機(jī)數(shù)生成芯片生成隨機(jī)性較好的偽隨機(jī)數(shù);通過隨機(jī)性算法處理模塊對原始隨機(jī)數(shù)與隨機(jī)性很好的偽隨機(jī)數(shù)進(jìn)行按位異或,最終得到高隨機(jī)性的真隨機(jī)數(shù)。
4.根據(jù)權(quán)利要求3所述的高性能隨機(jī)數(shù)發(fā)生方法,其特征在于:所述隨機(jī)性算法處理模塊對原始隨機(jī)數(shù)與隨機(jī)性很好的偽隨機(jī)數(shù)進(jìn)行按位異或后,接著對異或結(jié)果按位取反,最終得到高隨機(jī)性的真隨機(jī)數(shù)。
5.根據(jù)權(quán)利要求3或4所述的高性能隨機(jī)數(shù)發(fā)生方法,其特征在于:所述偽隨機(jī)數(shù)生成模塊使用偽隨機(jī)數(shù)算法得到隨機(jī)性很好的偽隨機(jī)數(shù);最后使用偽隨機(jī)數(shù)比特位0或1,按位決定物理采集數(shù)對應(yīng)的比特位是否翻轉(zhuǎn),最終得到高隨機(jī)性的真隨機(jī)數(shù)。
6.一種高性能隨機(jī)數(shù)發(fā)生方法,其特征在于包括以下步驟:
首先物理采集隨機(jī)數(shù),將該隨機(jī)性較差的隨機(jī)數(shù)以每s個bit進(jìn)行截??;每s個bit代表一個s位的二進(jìn)制無符號整數(shù),依次作為連分?jǐn)?shù)的部分商x1,…,xn,…,置x0=0;無限連分?jǐn)?shù)<x0,...,xn,...>一定收斂于一個無理數(shù)ξ;
因為x0=0,所以無理數(shù)ξ的小數(shù)點左邊恒為0,用小數(shù)點右邊的二進(jìn)制展開作為隨機(jī)數(shù);
用循環(huán)語句依次計算無理數(shù)ξ的每個漸近分?jǐn)?shù),用條件knkn+1≥2m作為循環(huán)終止的條件;
循環(huán)終止后,利用漸近分?jǐn)?shù)可以將無理數(shù)ξ以二進(jìn)制方式展開到小數(shù)點后m位;由于小數(shù)點右邊最多可能連續(xù)出現(xiàn)s個0,將無理數(shù)ξ以二進(jìn)制方式展開到小數(shù)點后s+m位,再將最左邊的s個bit截取掉,剩下m個bit作為隨機(jī)數(shù)。
s、n、m都可以取任意長,s取32或64,m取1萬到10萬之間;n由m通過計算決定,滿足knkn+1≥2m。
7.一種高性能隨機(jī)數(shù)發(fā)生器,其特征在于:包括用于生成隨機(jī)性能較差的隨機(jī)數(shù)的物理數(shù)據(jù)采集模塊,所述性能較差的隨機(jī)數(shù)為原始隨機(jī)數(shù);還包括用于對原始隨機(jī)數(shù)進(jìn)行隨機(jī)性算法處理以得到真隨機(jī)數(shù)的隨機(jī)性算法處理模塊。
8.根據(jù)權(quán)利要求7所述的高性能隨機(jī)數(shù)發(fā)生器,其特征在于:
所述隨機(jī)性算法處理模塊用于對原始隨機(jī)數(shù)進(jìn)行有理數(shù)逼近無理數(shù)的算法變換;所述算法變換首先得到漸近分?jǐn)?shù),然后對漸近分?jǐn)?shù)使用大整數(shù)除法得到結(jié)果,再結(jié)果進(jìn)行二進(jìn)制展開,最終得到高隨機(jī)性的隨機(jī)序列。
9.根據(jù)權(quán)利要求7所述的高性能隨機(jī)數(shù)發(fā)生器,其特征在于:
還包括偽隨機(jī)數(shù)生成芯片,所述偽隨機(jī)數(shù)生成芯片用于生成隨機(jī)性較好的偽隨機(jī)數(shù);所述隨機(jī)性算法處理模塊用于對原始隨機(jī)數(shù)與隨機(jī)性很好的偽隨機(jī)數(shù)進(jìn)行按位異或,最終得到高隨機(jī)性的真隨機(jī)數(shù)。
10.根據(jù)權(quán)利要求9所述的高性能隨機(jī)數(shù)發(fā)生器,其特征在于:所述隨機(jī)性算法處理模塊對原始隨機(jī)數(shù)與隨機(jī)性很好的偽隨機(jī)數(shù)進(jìn)行按位異或后,接著對異或結(jié)果按位取反,最終得到高隨機(jī)性的真隨機(jī)數(shù);所述偽隨機(jī)數(shù)生成模塊使用偽隨機(jī)數(shù)算法得到隨機(jī)性很好的偽隨機(jī)數(shù);最后使用偽隨機(jī)數(shù)比特位0或1,按位決定物理采集數(shù)對應(yīng)的比特位是否翻轉(zhuǎn),最終得到高隨機(jī)性的真隨機(jī)數(shù)。