基于變結構混沌的偽隨機序列發生器
式(5)~式(9)描述了混沌偽隨機序列發生器設計的核心算法。實現一個混沌偽隨機序列發生器可借助于軟件和硬件平臺。如果為計算機或其他軟件提供偽隨機序列,可借助數字計算機這個性能完善的平臺實現式(5)~式(9)的運算,如可用Matlab,C語言等軟件實現一個混沌偽隨機序列發生器。也可結合實際應用在相關信號處理軟硬件平臺上實現混沌偽隨機序列發生器,如利用DSP芯片對語音或視頻信號進行混沌加密,可在DSP內進行上述運算而實現混沌偽隨機序列發生器,也可利用FPGA硬件平臺實現這種偽隨機序列發生器。本文不側重利用何種平臺,如何實現混沌偽隨機序列發生器,而是著重基于上述變結構混沌系統的偽隨機序列發生器性能的測試。為此,選擇Matlab求解變結構混沌系統,通過實現式(5)~式(9)的運算產生一系列偽隨機序列,提取序列并進行序列的隨機性統計測試。
描述一個序列隨機性統計性能的指標有多種,但目前應用最廣的是NIST(National Institute of Standardsand Technology,美國國家技術與標準局)標準。NIST推出2.0版本的測試軟件包STS是當前最具權威的一種隨機性檢測工具,它為研究人員提供了一種量化的報告,顯式地說明一個偽隨機序列性能的好壞。STS-2.0b是當前最新的軟件包版本,由十五項核心測試指標組成。
該測試包評價序列性能好壞有兩項指標:其一是通過率,另一項是P-value分布的均勻性。測試獨立生成的m組隨機序列,依據各組每次測試的P-value值是否大于測試水平α=0.01來計算通過率。若各次測試的通過率在可信性區間


在Linux操作系統環境下進行測試。通過編程將變結構混沌系統進行離散迭代運算來產生數字混沌序列,然后將產生的二進制數字序列保存為txt文檔,并通過測試指令調用軟件包對txt文檔中的序列進行測試,測試由STS軟件包自動完成,并生成測試報告。基于變結構混沌系統產生的偽隨機序列的測試結果如表1所示,序列共有100000000 b,以每組100000 b分為1 000組。本文引用地址:http://www.104case.com/article/193646.htm
從表1中P-value這一列看出,序列僅在FFT這一項中的P-value值測試不滿足P-valueT>0.000 1的條件,這說明序列在該項測試中的P-value值分布不均勻,在其余14項測試中表現為分布均勻。若從通過率來分析,取顯著水平α=0.01,那么根據通過率可信區間的計算公式可得,當PROPORTION的值落在(0.980 560 8,0.999 439 2)區間內時,表明序列通過該測試項,反之則為不通過。表1測試結果顯示序列在所有測試中其結果均落在可信區間之內,所有指標均通過該項測試。
3 結論
為產生性能良好的偽隨機序列,本文構造了一個新的變結構混沌系統。該系統在一個開關函數控制下自動地在兩個混沌子系統之間隨時問隨機地轉換,所產生的混沌信號是兩個不同的混沌信號的混合,因而具有較好的復雜性。利用該變結構混沌系統設計了一種偽隨機序列發生器,基于NIST標準和STS-2.0b測試套件對其產生的偽隨機序列進行了測試,序列通過率全部通過了測試,序列的均勻性只有一項未通過測試。測試結果表明,該偽隨機序列發生器具有良好的隨機性能,可應用于計算機、通信、信息加密等領域之中。
評論