利用FPGA的自身特性實現隨機數發生器
本文主要介紹利用FPGA的自身的特性實現隨機數發生器,在Virtex-II Pro開發板上用ChipScope觀察隨機數序列,以及在PCIe4Base(基于Virtex-4 FPGA)上實現。
本文引用地址:http://www.j9360.com/article/201710/365615.htm基本的原理
隨機數在計算機科學中的密碼學中有著重要的用途,常常被用作密鑰的來源。隨機數包括偽隨機數以及真隨機數。偽隨機數是通過一定的算法計算得出,具有類似于隨機數的統計特征,這樣的發生器稱為偽隨機數發生器。而真隨機數是通過物理現象產生,例如使用電子元件的噪聲、核裂變等等作為噪聲源[2],這樣的隨機數發生器叫做物理隨機數發生器,也叫做真隨機數發生器(TRNG:Ture Random Number Generator)。
基于FPGA的隨機數發生器基本原理是利用奇數個反相器組成振蕩器作為隨機數發生器的噪聲源,因為由于FPGA自身的特性--信號傳輸存在抖動,所以多個反相器組成振蕩器輸出也不是很穩定的時鐘信號,每個振蕩器輸出不是相同的,這樣成為了理想的噪聲源,見圖1。振蕩器輸出通過D觸發器進行采樣輸出,采樣頻率是fs,然后多個采樣輸出結果經過異或門之后再通過一個D觸發器進行采樣,采樣頻率還是fs。這樣簡單的隨機數發生器就完成了。
圖1.隨機數發生器原理圖[1]
關鍵詞:
fpga
相關推薦
-
xiaohua | 2002-09-24
-
-
sandman555 | 2005-02-05
-
-
-
-
-
-
sandman555 | 2005-02-05
-
-
-
-
-
herbertwj | 2004-08-15
-
sandman555 | 2005-02-05
-
評論