当前位置:首页 > 单片机 > 单片机
[导读]引 言 随机数已广泛地应用于仿真、抽样、数值分析、计算机程序设计、决策、美学和娱乐之中。常见的随机数发生器有两种:使用数学算法的伪随机数发生器和以物理随机量作为发生源的真随机数发生器。要获取真正随


引 言
    随机数已广泛地应用于仿真、抽样、数值分析、计算机程序设计、决策、美学和娱乐之中。常见的随机数发生器有两种:使用数学算法的伪随机数发生器和以物理随机量作为发生源的真随机数发生器。要获取真正随机的真随机数,常使用硬件随机数发生器的方法来获取。这些真随机数都是使基于特定的真随机数发生源(如热噪声、电流噪声等),每次获取的真随机数都是不可测的,具有很好的随机性。
    真随机数因其随机性强,在数据加密、信息辅助、智能决策和初始化向量方面有着广泛应用,构建一种基于硬件真随机数发生源,具有广泛的应用价值。但目前硬件真随机数发生源均较复杂,而且很少有基于单片机的真随机数发生器。本文利用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单片机少量硬件资源完成,具有设计简单,成本低廉的优点。最后提出了软硬件结合的方式,提高了该随机数发生器的性能,拓展了该真随机数发生器的应用范围。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭