• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于USB接口的真隨機(jī)數(shù)生成平臺(tái)設(shè)計(jì)?

      2016-02-05 10:03:15
      微處理機(jī) 2016年6期
      關(guān)鍵詞:噪聲源固件上位

      趙 儉

      (解放軍信息工程大學(xué),鄭州450000)

      基于USB接口的真隨機(jī)數(shù)生成平臺(tái)設(shè)計(jì)?

      趙 儉

      (解放軍信息工程大學(xué),鄭州450000)

      隨機(jī)數(shù)作為網(wǎng)絡(luò)空間安全的基礎(chǔ)技術(shù)歷來(lái)受到相關(guān)領(lǐng)域研究人員的重視。針對(duì)日益廣泛的真隨機(jī)數(shù)應(yīng)用需求,在分析國(guó)內(nèi)外各種真隨機(jī)數(shù)生成方法的基礎(chǔ)上,基于物理噪聲源芯片和內(nèi)含微處理器的USB接口芯片構(gòu)建一個(gè)真隨機(jī)數(shù)生成平臺(tái)。給出平臺(tái)的總體設(shè)計(jì)框圖,詳細(xì)分析了平臺(tái)核心硬件的配置電路設(shè)計(jì)和固件程序以及上位機(jī)軟件設(shè)計(jì)。該平臺(tái)具有結(jié)構(gòu)簡(jiǎn)單、實(shí)現(xiàn)方便、可擴(kuò)展性強(qiáng)等特點(diǎn),通過(guò)該平臺(tái)的構(gòu)建一方面可以方便快捷地獲取大量真隨機(jī)數(shù),另一方面將該平臺(tái)應(yīng)用于課程教學(xué)實(shí)踐,對(duì)于相關(guān)專業(yè)學(xué)生學(xué)習(xí)了解真隨機(jī)數(shù)的典型產(chǎn)生方法具有重要意義。

      真隨機(jī)數(shù);通用串行總線接口;隨機(jī)噪聲源芯片;平臺(tái)設(shè)計(jì);固件程序;課程教學(xué)

      1 引 言

      隨機(jī)數(shù)的應(yīng)用十分廣泛,無(wú)論是科學(xué)仿真實(shí)驗(yàn)還是現(xiàn)代通信應(yīng)用都離不開(kāi)隨機(jī)數(shù),特別是在網(wǎng)絡(luò)空間安全領(lǐng)域,隨機(jī)數(shù)不可或缺,如安全協(xié)議、密碼算法等運(yùn)行過(guò)程中都需要用到具有良好隨機(jī)特性的隨機(jī)數(shù),可以說(shuō)隨機(jī)數(shù)是確保信息安全的基礎(chǔ)。隨機(jī)數(shù)的產(chǎn)生方法可以分成兩類即數(shù)學(xué)方法和物理方法。數(shù)學(xué)方法是依據(jù)數(shù)據(jù)公式/模型生成隨機(jī)數(shù),它并不是嚴(yán)格意義上的隨機(jī)數(shù),通常也叫偽隨機(jī)數(shù),如平方取中、反饋移位寄存器(Feedback Shift Register,F(xiàn)SR)、線性同余發(fā)生器等,這種偽隨機(jī)數(shù)是可以重復(fù)產(chǎn)生的,只是可以將其重復(fù)周期設(shè)計(jì)得足夠長(zhǎng),截取重復(fù)周期內(nèi)的一段數(shù)據(jù)也能夠通過(guò)隨機(jī)性檢驗(yàn),滿足一般的應(yīng)用需求。物理方法采用觀測(cè)客觀世界中的隨機(jī)物理現(xiàn)象獲取隨機(jī)數(shù),也叫真隨機(jī)數(shù),如擲色子、檢測(cè)放射性元素的衰變、電子元器件的熱噪聲等,真隨機(jī)數(shù)完全滿足不可預(yù)測(cè)性、良好的隨機(jī)統(tǒng)計(jì)特性(能夠通過(guò)各種隨機(jī)性檢驗(yàn))和不能重復(fù)產(chǎn)生等三點(diǎn)隨機(jī)特性,消除了偽隨機(jī)數(shù)的周期性問(wèn)題,在信息安全領(lǐng)域具有重要的應(yīng)用價(jià)值。

      在真隨機(jī)數(shù)生成方面目前國(guó)內(nèi)外的專家學(xué)者從不同角度開(kāi)展了一些列研究?;粑慕莸仍O(shè)計(jì)了一款利用數(shù)字電路相位漂移以及時(shí)鐘抖動(dòng)進(jìn)行工作的真隨機(jī)數(shù)生成器,其隨機(jī)源采用多組反相器振蕩環(huán)路予以實(shí)現(xiàn),并利用線性反饋移位寄存器進(jìn)行后處理,在FPGA平臺(tái)上進(jìn)行了測(cè)試驗(yàn)證[1]。張亮等提出了一種由時(shí)間離散混沌系統(tǒng)作為高頻振蕩源,以低速時(shí)鐘進(jìn)行采樣產(chǎn)生隨機(jī)數(shù)的方法,給出了硬件設(shè)計(jì)并進(jìn)行了測(cè)試分析[2]。胡月設(shè)計(jì)了基于鼠標(biāo)軌跡和手寫(xiě)簽名等生物特征作為熵源的真隨機(jī)數(shù)發(fā)生器,并采用Hash函數(shù)、圖像加密、信號(hào)處理等不同的后處理措施以提高隨機(jī)特性[3]。周慶等提出基于鼠標(biāo)移動(dòng)產(chǎn)生隨機(jī)數(shù)并利用混沌Hash函數(shù)進(jìn)行后處理的方法[4]。趙巖等提出了一種通過(guò)對(duì)電力線信道上的噪聲進(jìn)行采樣獲取真隨機(jī)數(shù)的方法,使用加密算法進(jìn)行后處理以消除偏差和自相關(guān)性[5]。JS Teh等利用GPU作為熵源并利用簡(jiǎn)單的異或后處理實(shí)現(xiàn)無(wú)偏差輸出[6]。隨著電子技術(shù)的發(fā)展,真隨機(jī)數(shù)的產(chǎn)生方法越來(lái)越趨向于芯片化,國(guó)密辦也陸續(xù)發(fā)布了多款隨機(jī)噪聲源芯片,論文即是基于噪聲源芯片和內(nèi)含微處理器的USB接口芯片構(gòu)建一個(gè)真隨機(jī)數(shù)生成平臺(tái),通過(guò)該平臺(tái)一方面可以方便快捷地獲取大量真隨機(jī)數(shù),另一方面將該平臺(tái)應(yīng)用于相關(guān)課程的教學(xué)實(shí)踐,對(duì)于相關(guān)專業(yè)學(xué)生學(xué)習(xí)了解真隨機(jī)數(shù)的一種典型產(chǎn)生方法具有重要意義。

      2 真隨機(jī)數(shù)生成平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)

      構(gòu)建基于USB接口的真隨機(jī)數(shù)生成平臺(tái)主要包括硬件平臺(tái)和軟件設(shè)計(jì)兩部分,真隨機(jī)數(shù)生成平臺(tái)總體框圖如圖1所示。物理噪聲源芯片在內(nèi)含微處理器的USB接口芯片控制下輸出0、1隨機(jī)序列,微處理器獲取該隨機(jī)序列經(jīng)USB接口送入上位機(jī),上位機(jī)軟件接收USB接口傳輸?shù)碾S機(jī)數(shù)據(jù)在數(shù)據(jù)框顯示出來(lái),同時(shí)以數(shù)據(jù)文件的形式保存在指定數(shù)據(jù)盤(pán),留待后續(xù)研究分析。

      2.1 硬件設(shè)計(jì)與實(shí)現(xiàn)

      依據(jù)平臺(tái)總體框圖,其硬件設(shè)計(jì)部分主要涉及物理噪聲源芯片、USB接口芯片的選型和外圍電路設(shè)計(jì)。鑒于技術(shù)成熟度和平臺(tái)設(shè)計(jì)的后續(xù)可擴(kuò)展性考慮,平臺(tái)的隨機(jī)噪聲源芯片采用的是WNG-8,USB接口芯片采用的是Cypress公司的AN2131QC。其中WNG-8芯片工作電流低于30mA,隨機(jī)數(shù)據(jù)產(chǎn)生速率可達(dá)20Mbps,有3.3V和5.0V工作電壓兩種型號(hào),采用SOP8和DIP8兩種形式的封裝,其芯片引腳及功能如表1所示。

      圖1 真隨機(jī)數(shù)生成平臺(tái)框圖

      表1 WNG-8引腳功能

      圖2 WNG-8工作時(shí)序

      WNG-8的外圍電路如圖3所示。依據(jù)參考電路,在使用WNG-8時(shí),為保護(hù)電路防止過(guò)載,噪聲源芯片的正電源VDD端應(yīng)串接一個(gè)限流電阻R。當(dāng)VDD=3.3V時(shí),R=40±10Ω,當(dāng)VDD=5V時(shí),R=100±20Ω。同時(shí)在電源和地之間跨接一個(gè)約為0.1μf的旁路電容C,以便對(duì)電源進(jìn)行去耦濾波,提高電源質(zhì)量,確保芯片穩(wěn)定工作。

      USB接口芯片的外圍電路設(shè)計(jì)比較成熟,可參考文獻(xiàn)[7]實(shí)施,需要注意的是當(dāng)接口配置程序設(shè)計(jì)采用加點(diǎn)后通過(guò)EEPROM加載時(shí),電路中EEP-ROM地址引腳信號(hào)的電平設(shè)置。

      圖3 WNG-8工作配置電路

      2.2 軟件設(shè)計(jì)與實(shí)現(xiàn)

      平臺(tái)軟件包括USB接口芯片的固件設(shè)計(jì)和上位機(jī)應(yīng)用軟件的設(shè)計(jì)。

      固件程序是在AN213lQC加電后,加載到USB接口芯片中并在其中運(yùn)行,完成控制WNG-8獲取隨機(jī)數(shù)據(jù)、輸出隨機(jī)數(shù)據(jù)到USB接口等功能。固件程序可以通過(guò)驅(qū)動(dòng)加載或者通過(guò)平臺(tái)外接I2C總線接口的EEPROM芯片加載,在設(shè)計(jì)中接口采用的是后一種加載固件的方式。該固件程序運(yùn)行于AN2131QC的8051內(nèi)核,根據(jù)總體框架安排,數(shù)據(jù)傳輸過(guò)程如下:通過(guò)USB接口芯片中51核的I/O口PB2模擬輸出CLK作為WNG-8的時(shí)鐘驅(qū)動(dòng)信號(hào),在該時(shí)鐘信號(hào)驅(qū)動(dòng)下,WNG-8的DATA引腳輸出0、1隨機(jī)數(shù)據(jù)同樣通過(guò)51核的I/O口PB3傳輸?shù)経SB接口芯片,再通過(guò)該接口芯片傳送到主機(jī)。

      固件程序的設(shè)計(jì)基于接口芯片廠家提供的固件程序框架設(shè)計(jì)[7-9],主要分幾個(gè)大的模塊:①主程序模塊,完成設(shè)備初始化操作、設(shè)備“重枚舉”、循環(huán)等待上位機(jī)指令數(shù)據(jù)的傳送操作;②設(shè)備描述模塊,提供主機(jī)啟動(dòng)后設(shè)備重新枚舉時(shí)所需要的VID、PID等設(shè)備描述符信息;③數(shù)據(jù)收發(fā)處理模塊,主要完成初始化后數(shù)據(jù)的傳送,并根據(jù)指令信息進(jìn)行外圍設(shè)備的控制操作,在平臺(tái)中即是控制WNG-8獲取隨機(jī)數(shù)并傳送至主機(jī)。

      固件的開(kāi)發(fā)在Keil uvision2環(huán)境下實(shí)施,其中對(duì)WNG-8進(jìn)行操作控制的核心程序如下:

      該部分固件采用匯編語(yǔ)言和C語(yǔ)言混合編程,經(jīng)編譯后生成HEX二進(jìn)制文件,通過(guò)Cypress公司提供的下載工具ControlPanel可以直接下載到AN2131QC接口芯片中運(yùn)行,或下載到EEPROM中,將平臺(tái)復(fù)位后自動(dòng)從EEPROM中裝載進(jìn)51核心運(yùn)行。

      上位機(jī)軟件通過(guò)Cypress提供的ezusb.sys驅(qū)動(dòng)程序調(diào)用CreatFile()函數(shù)獲得平臺(tái)設(shè)備句柄,再通過(guò)調(diào)用DeviceIoControl()函數(shù)即可獲取平臺(tái)USB接口傳送的隨機(jī)數(shù)據(jù),發(fā)送對(duì)WNG-8的控制指令等。上位機(jī)應(yīng)用程序采用C++編程實(shí)現(xiàn),其界面如圖4所示。

      圖4 真隨機(jī)數(shù)生成平臺(tái)界面

      3 結(jié)束語(yǔ)

      USB接口以其數(shù)據(jù)傳輸速率高、支持熱插拔、使用便捷等特性得到廣泛應(yīng)用,通過(guò)該接口芯片結(jié)合物理噪聲源芯片設(shè)計(jì)的真隨機(jī)數(shù)生成平臺(tái)具有結(jié)構(gòu)簡(jiǎn)單、可擴(kuò)展性強(qiáng)等特點(diǎn)。如借助USB接口芯片豐富的I/O復(fù)用功能引腳,可以根據(jù)需要采用多個(gè)WNG-8物理噪聲源芯片并行連接到該接口芯片,實(shí)現(xiàn)多路隨機(jī)數(shù)據(jù)序列同步生成以大大提高隨機(jī)數(shù)據(jù)的生成速率。經(jīng)測(cè)試,通過(guò)該平臺(tái)獲取的真隨機(jī)數(shù)通過(guò)了國(guó)家密碼管理局發(fā)布的隨機(jī)性檢測(cè)規(guī)范要求[10]。通過(guò)該平臺(tái)的構(gòu)建,一方面可以方便快捷地獲取大量真隨機(jī)數(shù),另一方面將該平臺(tái)應(yīng)用于課程教學(xué)實(shí)踐,對(duì)于相關(guān)專業(yè)學(xué)生學(xué)習(xí)了解真隨機(jī)數(shù)的典型產(chǎn)生方法具有重要意義。

      [1] 霍文捷,劉政林,陳毅成,等.一種基于FPGA的真隨機(jī)數(shù)生成器的設(shè)計(jì)[J].華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2009,37(1):73-76. Huo Wenjie,Liu Zhenglin,Chen Yicheng,et al.Design of a true random number generator using FPGA[J].Joural of Huazhong University of Science and Technology.Nature-Science,2009,37(1):73-76.

      [2] 張亮,戎蒙恬,諸悅,等.基于混沌系統(tǒng)的真隨機(jī)數(shù)發(fā)生器芯片設(shè)計(jì)和實(shí)現(xiàn)[J].上海交通大學(xué)學(xué)報(bào),2006,40(3):421-424. ZHANG Liang,RONG Meng-tian,ZHU Yue,et al.The ASIC Design and Realization of a Truly Random Number Generator Based on Chaos[J].Journal of Shanghai Jiaotong University,2006,40(3):421-424.

      [3] 胡月.基于生物特征的真隨機(jī)數(shù)發(fā)生器的研究與設(shè)計(jì)[D].重慶:重慶大學(xué),2008. HuYue.Research and Design on Ture Random Number Generator based on Biometric Characteristics[D]. Chongqing:Chongqing University,2008.

      [4] Q Zhou,X Liao,KW Wong,Y Hu,D Xiao.True random number generator based on mouse movement and chaotic hash function[J].Information Sciences,2009,179(19):3442-3450.

      [5] 趙巖,陳嵐.基于電力線信道噪聲的真隨機(jī)數(shù)發(fā)生器的設(shè)計(jì)[J].電視技術(shù),2014,38(7):164-167. ZHAO Yan,CHEN Lan.Design of True Random Generator Based on Noise of Power Line[J].TV Engineering,2014,38(7):164-167.

      [6] JSTeh,A Samsudin,M Al-Mazrooie,A Akhavan.GPUs and chaos:a new true random number generator[J]. Nonlinear Dynamics,2015,82(4):1913-1922.

      [7] 張弘.USB接口設(shè)計(jì)[M].西安:西安電子科技大學(xué)出版社,2002. ZHANG Hong.Universal Serial Bus Interface Design[M].Xi’an:Xidian University Press,2002.

      [8] 呂志成,龐晶,雍少為.EZ-USB接口設(shè)備的軟件開(kāi)發(fā)方法[J].微處理機(jī),2008,29(2):91-94. LV Zhi-cheng,PANG Jing,YONG Shao-wei.The Software Development Method of EZ-USB Interface Equipment[J].Microprocessors,2008,29(2):91-94.

      [9] Cypress Semiconductor.EZ-USB Development Kit Manual Getting Started[DB/OL]http://www.cypress.com/.

      [10] 國(guó)家密碼管理局.GM/T0005-2012隨機(jī)性檢測(cè)規(guī)范[S].北京:中國(guó)標(biāo)準(zhǔn)出版社,2012. State Cryptography Administration.GM/T0005-2012 Randomness Test Specification[S].Beijing:Chinese Standard Press,2012.

      Design of True Random Number Generation Platform Based on USB Interface

      Zhao Jian
      (The PLA Information Engineering University,Zhengzhou 450000,China)

      As the foundation technology of the network security related fields,the random numbers are paidmore attention.In view of the increasingly application requirements of the true random numbers,based on analysis of the generating methods of true random numbers,a true random number generation platform based on a physical noise source chip and a USB interface chip with amicroprocessor embedded is constructed,the overall block diagram of the platform is proposed,the configuration circuit of the core hardware is designed,and the design of the firmware and the host computer software are analyzed in detail.The platform has some advantages such as a simple structure,convenient implementation and good expansibility.A large number of true random numbers can be acquired from the constructed platform fast and conveniently,and it can be applied in teaching practice,so that the students of related subjects can learn about the typicalmethod of the true random number generator.

      True Random Number;Universal Berial Bus Interface;Random Noise Source Chip;Design of the Platform;Firmware;Course Teaching

      10.3969/j.issn.1002-2279.2016.06.019

      TP39

      A

      1002-2279(2016)06-0076-03

      國(guó)家自然科學(xué)基金(60130607)

      趙儉(1979-),男,安徽省桐城市人,講師,碩士研究生,主研方向:無(wú)線安全,設(shè)備管控。

      2016-04-11

      猜你喜歡
      噪聲源固件上位
      汽車后視鏡-A柱區(qū)域氣動(dòng)噪聲源特征識(shí)別
      汽車工程(2021年12期)2021-03-08 02:34:18
      特斯拉 風(fēng)云之老阿姨上位
      車迷(2018年12期)2018-07-26 00:42:22
      “三扶”齊上位 決戰(zhàn)必打贏
      基于ZigBee和VC上位機(jī)的教室智能監(jiān)測(cè)管理系統(tǒng)
      基于固件的遠(yuǎn)程身份認(rèn)證
      一種基于相位增量隨機(jī)化的寬帶噪聲源產(chǎn)生技術(shù)
      以新思路促推現(xiàn)代農(nóng)業(yè)上位
      提取ROM固件中的APP
      一種通過(guò)USB接口的可靠固件升級(jí)技術(shù)
      利用源強(qiáng)聲輻射模態(tài)識(shí)別噪聲源
      石景山区| 海兴县| 陇南市| 南和县| 柳江县| 汉中市| 长沙县| 杂多县| 福安市| 当雄县| 沧州市| 贵州省| 慈溪市| 吐鲁番市| 双城市| 龙海市| 汤阴县| 汕头市| 惠州市| 尼木县| 电白县| 清远市| 津市市| 邻水| 上林县| 凌海市| 扶风县| 喜德县| 江陵县| 政和县| 宝鸡市| 乾安县| 龙胜| 唐海县| 凌海市| 应城市| 西乌| 建昌县| 仁布县| 集贤县| 固安县|