馬荔,張建國,李璞,徐航,王云才
?
基于自治布爾網絡的高速物理隨機數發生器研究
馬荔1, 2,張建國1, 2,李璞1, 2,徐航1, 2,王云才1, 2
(1. 太原理工大學 物理與光電工程學院,山西 太原,030024;2. 新型傳感器與智能控制教育部和山西省重點實驗室,山西 太原,030024)
利用確定性的數學算法可產生快速偽隨機數,然而其具有可預測性,難以確保信息安全。從混沌物理熵源中提取的物理隨機數具有統計無偏和不可預測性,但是受限于傳統混沌電路的帶寬瓶頸,隨機數的實時產生速率無法有效提高,為此,設計實現一種基于自治布爾網絡的寬帶混沌振蕩器。研究結果表明:利用該裝置可產生速率達10 Gbit/s的物理隨機數序列;所產生的物理隨機數序列具有良好的隨機統計特性;該裝置可便捷地應用于數據加密、高速保密通信等領域。
自治布爾網絡;混沌;高速物理隨機數發生器
隨機數在科學計算、數字通信、光纖傳感、雷達測距[1?4]等領域被廣泛應用。特別是在保密通信領域,隨機數發生器是通信系統中的重要組成部分。隨機數發生器分為2種:偽隨機數發生器和物理隨機數發生器。偽隨機數是通過某種確定性的算法(如線性同余法[5])結合“種子”(初值)而產生,具有很高的產生速率,但是,偽隨機數固有的周期性使其存在被預測和破解的可能,無法確保信息的安全。相對于偽隨機數,物理隨機序列無法預測,不可再現,因此,能更好地保證傳輸信息的安全。物理隨機數的產生是建立在一種稱為物理熵源的隨機信號源的基礎上,如電阻熱噪聲[6]、振蕩環中的相位抖動[7]、混沌激光[8?10]、自發輻射中的量子噪聲[11]等。其中,基于混沌電路的物理熵源具有結構簡單、功耗低、易集成等特點, 目前已經產生多種物理隨機數發生器方案[12?13]。但是,受限于混沌電路的熵源帶寬,此類物理隨機數發生器的速率僅為數kbit/s至數十Mbit/s,不能滿足現代通信速率的需求。為此,本文作者設計一種基于自治布爾網絡的振蕩器,當其工作于混沌狀態時,振蕩器固有的周期抖動(由邏輯門熱噪聲引起,抖動范圍為數十ps)經混沌非線性放大增強了約2個數量級(抖動范圍達數ns),并產生了高熵值。通過1個高頻時鐘對增強的周期抖動進行采樣,利用樣本值的不確定性將采樣序列轉換成物理隨機序列。該方案具有結構簡單,易于集成等優點。本文提出的基于自治布爾網絡的隨機數發生器可以在現場可編程邏輯門陣列 (FPGA)上實現, 并可實時產生10 Gbit/s以上速率的隨機數序列,性能優于現有混沌隨機數發生器。
本文設計的基于自治布爾網絡的振蕩器如圖1所示。網絡中含有若干可執行邏輯運算的結點,組成具有雙向耦合關系的環狀拓撲結構。圖中每個結點代表1個具有三輸入三輸出功能的邏輯門,執行異或(XOR)或異或非(XNOR)操作。邏輯門的真值如圖1(b)所示。利用GHIL等[14]提出的布爾延遲方程(BDEs, Boolean delay equations)如下式所示:

然而,上述結論是在將邏輯門視為理想器件(響應速度無限快)情況下得出的,而在真實電路中,任何邏輯器件都無法響應變化速度過快的信號,即存在所謂的非線性低通濾波效應[15]。利用SPICE軟件對圖1(a)中的網絡建立更接近實際電路的仿真模型:結點個數設置為7,網絡中任選1個結點執行XNOR操作,而其余6個結點執行XOR操作;則利用RC濾波器(電阻?電容濾波器)來模擬,通過改變電阻、電容即可實現延遲時間量的連續調節,同時還能模擬邏輯器件的低通效應。仿真結果表明:1) 當網絡中所有延遲時間設置為相等,即=30 ps時,振蕩器呈現周期性振蕩狀態;2) 當網絡中的延遲時間設置為不完全一致即=(30±3) ps時,振蕩器進入隨機振蕩狀態,出現了所謂的布爾混沌現象[16]。

1—XNOR邏輯門;2~7—XOR邏輯門。
1.2.1 自治布爾網絡振蕩器電路特性
利用現場可編程門陣列(Altera Cyclone IV FPGA cyclone IV,EP4CE10F17C8N)實現圖1所示的自治布爾網絡振蕩器。由于在實際電路中,各結點(邏輯門器件)之間的物理路徑很難做到完全一致,導致延遲時間之間存在微小差異,因此,正如仿真預測結果一樣,自治布爾網絡出現了隨機振蕩。振蕩信號的時序、頻譜和自相關分別如圖2(a)~(c)所示。同時,進一步分析該振蕩信號頻率“抖動”的概率密度分布(PDF),結果如圖2(d)所示,總體呈泊松分布。值得一提的是,該頻率“抖動”比傳統意義上由熱噪聲引起的頻率抖動(數十ps)增加了約2個數量級,且更大的“抖動”意味著從中可提取實時速率更高的隨機數序列。

圖2 自治布爾網絡振蕩器的
1.2.2 最大李雅普諾夫指數
根據小數據法[17]計算上述自治布爾網絡振蕩器的最大李雅普諾夫指數,具體計算步驟如下。
1) 采集一段40 μs的混沌電壓時間序列(),并通過與閾值(cc/2)比較,將其轉換成布爾變量()∈{0,1},如圖3(a)所示。當()<cc/2時,()=0;當()>cc/2時,()=1。其中,cc是FPGA中邏輯異或門和異或非門的工作電壓。
2) 參考文獻[15],計算布爾距離函數():

選取0=10 ns,=0.01,振蕩器輸出信號的最大李雅普諾夫指數ab=0.22 ns?1,如圖3(b)所示;最大李雅普諾夫指數值為正,表明了輸出振蕩信號的混沌屬性。

1—布爾電壓;2—混沌電壓;3—相鄰軌跡變化;4—指數率。



本隨機數發生器單元模塊具有如下優點:1) 以最少的器件個數實現了自治布爾網絡物理熵源,產生了隨機性較好的混沌信號;2) 隨機數發生器模塊占用FPGA芯片資源極少,僅需7個邏輯門和11個D型觸發器(共18個邏輯單元LE);3) 只需相應增加模塊的級數就可以實時產生更高速率的隨機數, 例如FPGA工作頻率為100 MHz,產生的隨機數速率可達100×L Mbit/s。本文中設置模塊數量為100,隨機數發生器速率即可達到10 Gbit/s,此時總計需要1 800個LE,以目前使用FPGA芯片的容量及規模,只占其資源的17%(通常為104個LE)。因此,本隨機數發生器的速率還有較大的提升空間。

圖4 基于自治布爾網絡物理熵源的隨機數發生器單元模塊
圖5所示為高速10 Gbit/s隨機數發生器,圖中clk為FPGA輸入時鐘。

圖5 高速10 Gbit/s隨機數發生器
為了測試所產生隨機數的質量,對其進行NIST[18]及DIEHARD[19]隨機性檢驗測試。以美國國家標準與技術研究院提供的NIST SP800-22測試為例,采集1 Gbit隨機數(1 000組,每組1 Mbit)進行15項測試,顯著水平=0.01。測試結果以值和概率給出。當值大于0.01,概率超過0.980 6表明隨機數通過了相應測試,如表1所示。

表1 美國國家標準與技術研究院測試結果
基于自治布爾網絡振蕩器的隨機數發生器產生的 1 Gbit隨機數能夠通過NIST全部隨機數測試標準,表明其具備良好的隨機性。
1) 設計了一種基于自治布爾網絡振蕩器的高速物理隨機數發生器,該裝置可產生速率達10 Gbit/s的物理隨機數序列;NIST測試結果表明該裝置所產生的隨機序列具有良好的統計學特性。
2) 該設計還具有結構緊湊、易于集成制造等優點,可便捷地應用于數據加密、保密通信、密鑰產生等領域。
[1] 蕭寶瑾, 仝海麗, 張建忠, 等. 硬件加密的擴頻通信方案[J]. 物理學報, 2011, 60(8): 81?86. XIAO Baojin, TONG Haili, ZHANG Jianzhong, et al. Spread spectrum communication based on hardware encryption[J]. Acta Physica Sinica, 2011, 60(8): 81?86.
[2] ZADOK A, ANTMAN Y, PRIMEROV N, et al. Random-access distributed fiber sensing[J]. Laser & Photonics Reviews, 2012, 6(5): L1?L5.
[3] AI X, NOCK R, RARITY J G, et al. High-resolution random-modulation cw lidar[J]. Applied optics, 2011, 50(22): 4478?4488.
[4] 蘇桂平, 呂述望, 程志蓉. 口令的安全分析及真隨機數在金融安全中的應用[J]. 計算機工程與應用, 2002, 38(8): 140?141. SU Guiping, Lü Shuwang, CHENG Zhirong. Analysis of password security and application of real random number in the finance security[J]. Computer Engineering and Applications, 2002, 38(8): 140?141.
[5] LEHMER D H。 Mathematical methods in large-scale computing units[M]. Boston: Harvard University Press, 1951: 141?146.
[6] PETRIE C S, CONNELLY J A. A noise-based IC random number generator for applications in cryptography[J]. IEEE Transactions on Circuits and Systems I: Fundamental Theory and Applications, 2000, 47(5): 615?621.
[7] BUCCI M, GERMANI L, LUZZI R, et al. A high speed truly IC random number source for smart card microcontrollers[C]//9th International Conference on Dubrovnik, Croatia, Germany: IEEE, 2002: 239?242.
[8] UCHIDA A, AMANO K, INOUE M, et al. Fast physical random bit generation with chaotic semiconductor lasers[J]. Nature Photonics, 2008, 2(12): 728?732.
[9] WANG Anbang, LI Pu, ZHANG Jianguo, et al. 4.5 Gbps high-speed real-time physical random bit generator[J]. Optics Express, 2013, 21(17): 20452?20462.
[10] LI Pu, WANG Yuncai, ZHANG Jianzhong. All-optical fast random number generator[J]. Optics express, 2010, 18(19): 20360?20369.
[11] KWON O, CHO Y W, KIM Y H. Quantum random number generator using photon-number path entanglement[J]. Applied optics, 2009, 48(9): 1774?1778.
[12] CALLEGARI S, ROVATTI R, SETTI G. Embeddable ADC-based true random number generator for cryptographic applications exploiting nonlinear signal processing and chaos[J]. IEEE Transactions on Signal Processing, 2005, 53(2): 793?805.
[13] CICEK I, PUSANE A E, DUNDAR G. A new dual entropy core true random number generator[J]. Analog Integrated Circuits and Signal Processing, 2014, 81(1): 61?70.
[14] GHIL M, ZALIAPIN I, COLUZZI B. Boolean delay equations: A simple way of looking at complex systems[J]. Physica D: Nonlinear Phenomena, 2008, 237(23): 2967?2986.
[15] ZHANG R, CAVALCANTE H L D S, GAO Z, et al. Boolean chaos[J]. Physical Review E, 2009, 80(4): 045202.
[16] ROSIN D P. Dynamics of Complex Autonomous Boolean Networks[M]. Berlin, Germany: Springer International Publishing, 2015: 57?79.
[17] KANTZ H, SCHREIBER T. Nonlinear time series analysis[J]. Technometrics, 1997, 47(3): 381?381.
[18] National Institute of Standards and Technology. Nist statistical tests suite[EB/OL]. [2014?07?16]. http://cs-rc.nist.Gov/groups/ ST/toolkit/rng/stats_test.html
[19] MARSAGLIA G. DIEHARD: a battery of tests of randomness[EB/OL]. [2009?06?06] http://stat.fsu.edu/~geo/ diehard. Html.
(編輯 楊幼平)
High-speed physical random number generator based on autonomous Boolean networks
MA Li1, 2, ZHANG Jianguo1, 2, LI Pu1, 2, XU Hang1, 2, WANG Yuncai1, 2
(1. College of Physics and Optoelectronics, Taiyuan University of Technology, Taiyuan 030024, China; 2. Key Laboratory of Advanced Transducers and Intelligent Control System, Ministry of Education, Taiyuan 030024, China)
Using deterministic mathematical algorithms can produce fast pseudo-random numbers. However, their predictability makes them difficult to guarantee the security of communication. Unpredictable random numbers can be extracted from chaotic circuits, called physical random number generators (physical-RNGs). But the bandwidths of the conventional chaotic circuits limit their generation bit rates. A novel physical-RNG by utilizing the autonomous Boolean network which can produce wideband chaotic signals was designed. The results show that the physical-RNG can produce physical random bits stream at a speed up to 10 Gbit/s. The physical random numbers generated by the physical-RNG own good random characteristics. The physical-RNG can be conveniently applied in data encryption and secure communications.
autonomous Boolean network; chaos; high-speed physical random number generator
TN791
A
1672?7207(2018)04?0888?05
10.11817/j.issn.1672?7207.2018.04.016
2017?04?29;
2017?06?22
國家自然科學基金資助項目(51404165, 616013190, 61505137, 61475112, 61501414, 61771439)(Projects(51404165, 616013190, 61505137, 61475112, 61501414, 61771439) supported by the National Natural Science Foundation of China)
王云才,博士,教授,從事混沌激光產生與應用及光通信等研究;E-mail:wangyc@tyut.edu.cn