新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 利用FPGA的自身特性實現隨機數發生器

        利用FPGA的自身特性實現隨機數發生器

        作者: 時間:2017-10-13 來源:網絡 收藏

        本文主要介紹利用FPGA的自身的特性實現隨機數發生器,在Virtex-II Pro開發板上用ChipScope觀察隨機數序列,以及在PCIe4Base(基于Virtex-4 FPGA)上實現。

        本文引用地址:http://www.104case.com/article/201710/365615.htm

        基本的原理

        隨機數在計算機科學中的密碼學中有著重要的用途,常常被用作密鑰的來源。隨機數包括偽隨機數以及真隨機數。偽隨機數是通過一定的算法計算得出,具有類似于隨機數的統計特征,這樣的發生器稱為偽隨機數發生器。而真隨機數是通過物理現象產生,例如使用電子元件的噪聲、核裂變等等作為噪聲源[2],這樣的隨機數發生器叫做物理隨機數發生器,也叫做真隨機數發生器(TRNG:Ture Random Number Generator)。

        基于FPGA的隨機數發生器基本原理是利用奇數個反相器組成振蕩器作為隨機數發生器的噪聲源,因為由于FPGA自身的特性--信號傳輸存在抖動,所以多個反相器組成振蕩器輸出也不是很穩定的時鐘信號,每個振蕩器輸出不是相同的,這樣成為了理想的噪聲源,見圖1。振蕩器輸出通過D觸發器進行采樣輸出,采樣頻率是fs,然后多個采樣輸出結果經過異或門之后再通過一個D觸發器進行采樣,采樣頻率還是fs。這樣簡單的隨機數發生器就完成了。

        圖1.隨機數發生器原理圖[1]

        關鍵詞: fpga

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 萝北县| 石景山区| 大石桥市| 绩溪县| 黑龙江省| 瑞金市| 靖州| 新野县| 仙居县| 朔州市| 方城县| 北流市| 镇安县| 包头市| 甘南县| 固镇县| 襄樊市| 岳池县| 龙州县| 上犹县| 沧州市| 柏乡县| 会东县| 茂名市| 濉溪县| 固安县| 龙川县| 长宁区| 和田县| 潍坊市| 富平县| 焦作市| 白水县| 阜宁县| 贺州市| 淳化县| 平山县| 临安市| 永济市| 安乡县| 小金县|