国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

ATmega128單片機的真隨機數發生器

發布時間:2010-2-1 11:46    發布者:李寬
關鍵詞: 單片機 , 發生器 , 隨機數
引言

隨機數已廣泛地應用于仿真、抽樣、數值分析、計算機程序設計、決策、美學和娛樂之中。常見的隨機數發生器有兩種:使用數學算法的偽隨機數發生器和以物理隨機量作為發生源的真隨機數發生器。要獲取真正隨機的真隨機數,常使用硬件隨機數發生器的方法來獲取。這些真隨機數都是使基于特定的真隨機數發生源(如熱噪聲、電流噪聲等),每次獲取的真隨機數都是不可測的,具有很好的隨機性。

真隨機數因其隨機性強,在數據加密、信息輔助、智能決策和初始化向量方面有著廣泛應用,構建一種基于硬件真隨機數發生源,具有廣泛的應用價值。但目前硬件真隨機數發生源均較復雜,而且很少有基于單片機的真隨機數發生器。本文利用RC充放電的低穩定度,根據AVR單片機的特點設計了一種性價比極高的真隨機數發生器。該隨機數發生器使用元件很少,穩定性高,對一些價格敏感的特殊場合,如金融、通信、娛樂設備等有較大的應用意義。

1 基本原理和方法

1.1 基本原理

串聯的RC充放電電路由于受到漏電流、電阻熱噪聲、電阻過剩噪聲、電容極化噪聲等諸多不確定性因素的影響,其充放電穩定度一般只能達到10-3。利用這種 RC充放電的低穩定度特性實現廉價的真隨機數發生源。

Atmel公司AVR單片機ATmega 128以其速度快、功能強、性價比高等優點廣泛應用于各種嵌入式計算場合。利用AVR單片機引腳配置靈活多樣的特點,使用Amnega128兩個I/O口作為真隨機數的電氣接口。

其原理如圖1所示。主要原理是利用串聯RC電路的不確定性產生真隨機數源,收集數據,通過AVR單片機ATmega128和主時鐘電路量化RC電路的充放電時問,獲得不確定的2位二進制數據,再利用程序將每4次采集的數據綜合,最后產生1個8位的真隨機數。



1.2 方 法

1.2.1 RC電路充放電過程

I/O口配置策略為:PG3 口(第18腳)作為充電輸出口,PG4 口(第19腳)作為檢測輸入口。當PG3輸出為高時,輸出電流通過電阻對電容進行充電;當PG3輸出為低時,電容通過電阻放電。PG4用于檢測電容上的電平狀態。充放電過程如圖2所示。



1.2.2 AVR單片機獲得不確定的2位二進制數據

AVR單片機主時鐘采用普通晶體振蕩器。用該主時鐘來測量RC電路的充放時間,用AVR單片機的定時器(1個16位定時器)來量化充放電時間。由于主時鐘的周期遠遠小于RC充放電時間,觀察實驗數據,最低2位二進制有效數字具有不確定性。以下為AVR單片機定時器對外部RC電路進行3次充電和2次放電所花時間的量化值:

    1597 1588 1584 1588 1588
    1589 1588 1589 1584 1589
    1589 1589 1589 1584 1589
    1584 1588 1588 1588 1588
    1588 1588 1589 1589 1587
    1596 1588 1588 1589 1589
    1589 1588 1588 1588 1589
    1588 1584 1589 1589 1589
    1589 1589 1588 1588 1588
    1588 1589 1588 1588 1588
    1588 1584 1589 1588 1588
    1588 1589 1589 1588 1589
    1589 1589 1588 1588 1588
    1588 1588 1589 1588 1590
    1588 1589 1588 1588 1588
    1597 1589 1588 1597 1587
    1588 1588 1587 1588 1588
    1588 1588 1588 1588 1588
    1589 1589 1589 1588 1589
    1588 1588 1589 1588 1588
    1588 1588 1588 1588 1588
    1588 1588 1589 1588 1589
    1596 1589 1588 1589 1588
    1588 1588 1588 1589 1584
    1589 1589 1589 1588 1585
    1589 1588 1588 1588 1589
    1589 1588 1589 1588 1588
    1589 1589 1589 1588 1597
    1589 1588 1589 1589

1.2.3 程序設計

由以上數據統計特征可見,每次測量結果僅有兩位不確定二進制數據。為了產生1個8位數據,設計了C語言程序控制專用函數測量4次,每次得到了2個二進制隨機數,這樣調用該函數1次即可得到1字節的隨機數。

主要程序如下:





2 實驗結果和分析

經實驗,得到兩位不確定二進制數的概率分布。

    5 min后數據分布:P(00)=16%,P(01)=19%,P(10)=37%,P(11)=28%。
    10 min后的數據分布:P(00)=16%,P(01)=21%,P(10)=38%,P(11)=25%。
    22 min后的數據分布:P(00)=14%,P(01)=23%,P(10)=38%,P(11)=25%。
    37 min后的數據分布:P(00)=16%,P(01)=26%,P(10)=36%,P(11)=22%。

以上數據由單片機統計后經串口直接輸出到超級終端的顯示參數。

25℃下產生的3 500個8位數據的分布如圖3所示。



從圖中可以看出,有4個區間分布概率較大,分別是[0,32]、[40,90]、[160,225]、[230,255]。產生這樣的分布和具體使用的元器件特性以及測試現場的環境有關。在采集得到大量的序列后,通過計算機分析沒有發現有周期重復性。


3 提高性能的措施

在實際應用中,若采用該方法產生的隨機數進行數據加密時,為防止解密者拆除、短接RC電路或更改RC電路參數,可利用測得的充放電時間來確定外部RC電路的存在和參數的穩健。如若充放電時間不在程序預先設定的區間內,單片機立即銷毀相關數據并停止程序運行,從而達到加密的效果。

提高隨機數產生速率。采用本文的方法產生的隨機數的速率和RC充放電時間有關系,由于RC充放電速率影響,在產生高速率隨機數的時候不合適。針對該問題,可將得到的真隨機數作為種子來產生一定數量的偽隨機數,這樣可大大提高產生隨機數的速率。

結語

設計和實現了一種基于AVR單片機的真隨機數發生器,利用RC充放電電路的不穩定性完成了真隨機數的產生。該隨機數發生器利用AVR單片機少量硬件資源完成,具有設計簡單,成本低廉的優點。最后提出了軟硬件結合的方式,提高了該隨機數發生器的性能,拓展了該真隨機數發生器的應用范圍。

參考文獻

1. Knuth DE.計算機程序設計藝術(第2卷):半數值算法[M].蘇運霖,譯.3版.北京:國防工業出版社,2002:36-67.
2. 楊波.現代密碼學[M].北京:清華大學出版社,2003:128-129.
3. Gary M,John V.使您的軟件運行起來,消除偏差[0L].(2004-03).[2009-02].http://www-900.ibm.com /developerWorks/cn/security/beating/index.shtml.
4. Sehneier. 應用密碼學--協議、算法與C源程序[M].吳世忠,祝世雄,張文證,譯.2版.北京:機械工業出版社,2001:302.
5. 黃楓,申洪.基于Intel RNG的真隨機數發生器研究[J].第一軍醫大學學報,2004,24(9):1091-1095.
6. 梁燦彬,秦光戎,梁竹健.電磁學[M].2版.北京:高等教育出版社,2004:261-265.
7. 馬潮.高檔8位單片機ATmegal28原理與開發應用指南[M].北京:北京航空航天大學出版社,2004:2-11.
8. 鄒望輝,應建華,雷鑒茗.用于實時時鐘的高性能晶體振蕩器[J].計算機與數字工程,2004,32(6):97-99.
9. 閻石.數字電子技術基礎[M].4版.北京:高等教育出版社,2000:44-125.
10. 張澤虹.C語言程序設計[M].北京:電子工業出版社,2007.

        
作者:西華大學 劉曉旭  曹林  董秀成 來源:《單片機與嵌入式系統應用》 2009(11)
本文地址:http://m.qingdxww.cn/thread-8105-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧式午夜理伦三级在线观看| 亚洲欧美日韩精品永久在线| 亚洲日本在线播放| 午夜在线一区| 亚洲人成网站999久久久综合| 亚洲美女爱爱| 91视频3p| 久久国产欧美日韩精品免费| 无码AV毛片色欲欧洲美洲| 亚洲字幕久久| 日本一本高清| 在线免费色| 亚洲午夜精品久久久久久人妖| vr亚洲成年网址在线观看| 日韩精品一区VR观看| 一级片观看| 天天操天天干天搞天天射| 深夜成人| 张柏芝在线观看| 国产亚洲精品成人AV久久| 神马影院午夜理论二| 四虎4hu新地址入口| 日韩午夜在线视频不卡片| 深夜免费在线观看| 啊灬啊灬啊灬快灬深高潮啦 | 5G在线观看免费年龄确认| 肉动漫h黄动漫日本免费观看| 亚洲精品视频免费观看| 日韩三级黄色片| 亚洲第一中文| seyeye高清视频在线| 无码观看AAAAAAAA片| 日本a黄色片| 午夜视频在线播放| 亚洲国产精品久久| 成人亚洲精品| 亚洲综合视频| 日韩欧美网| 在线亚洲+欧美+日本专区| 98色精品视频在线| 青青青伊人|