新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 利用FPGA的自身特性實(shí)現(xiàn)隨機(jī)數(shù)發(fā)生器

利用FPGA的自身特性實(shí)現(xiàn)隨機(jī)數(shù)發(fā)生器

作者: 時(shí)間:2017-10-13 來源:網(wǎng)絡(luò) 收藏

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

本文引用地址:http://butianyuan.cn/article/201710/365615.htm

基本的原理

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

基于FPGA的隨機(jī)數(shù)發(fā)生器基本原理是利用奇數(shù)個(gè)反相器組成振蕩器作為隨機(jī)數(shù)發(fā)生器的噪聲源,因?yàn)橛捎贔PGA自身的特性--信號傳輸存在抖動(dòng),所以多個(gè)反相器組成振蕩器輸出也不是很穩(wěn)定的時(shí)鐘信號,每個(gè)振蕩器輸出不是相同的,這樣成為了理想的噪聲源,見圖1。振蕩器輸出通過D觸發(fā)器進(jìn)行采樣輸出,采樣頻率是fs,然后多個(gè)采樣輸出結(jié)果經(jīng)過異或門之后再通過一個(gè)D觸發(fā)器進(jìn)行采樣,采樣頻率還是fs。這樣簡單的隨機(jī)數(shù)發(fā)生器就完成了。

圖1.隨機(jī)數(shù)發(fā)生器原理圖[1]

關(guān)鍵詞: fpga

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉