3752|6

9805

帖子

24

TA的资源

版主

楼主
 

【NUCLEO-L4R5ZI评测】对比STM32的真随机和电脑的伪机数 [复制链接]

网上都说一搬情况下会用电脑软件生成的随机数都是计算出来的伪随机数,存在一定规律
为此还有一个专门提供真随机数服务的组织random.org,据说是通过大气噪声
看到STM32手册里说STM32L4R5的RNG模块生成的是真随机数,是通过模拟电路的噪声源作为随机数的种子
在网上查了一些资料看到很多人说伪随机存在一定规律
其中有一篇介绍树莓派的真随机数发生器的博客,对比了真随机数生成的RGB图像和伪随机数生成的RGB图像
被多次转载和翻译过
这是作者生成的真随机数图像
这是作者生成的伪随机数图像
作者生成的伪随机图像全是竖条看起来好像非常规律,那么真实情况是不是这样呢?
我先使用C#写一个数组生成图像的工程,在初始化里填写STM32生成的数组可以在指定目录生成一个.bmp的图像
因为STM32通过串口输出数据的速率有限,我把图像的大小设定为200*200像素,每个像素对应3个字节分别为R、G、B三个颜色
如果取消byteArray= (byte)random.Next(255);的注释则使用电脑的随机数生成器产生的随机数生成图像
STM32使用RNG工程,把串口通信加进去,生成随机数后取模运算后将结果发送到PC
串口助手接收数据后,复制串口助手收到的数组,添加到c#工程的数组中
使用这种方法生成了3张真随机数图像,3张伪随机数图像
下面4张图片有2个是用STM32生成的,另外2张是用PC生成的,你能猜出哪2个是STM32生成的吗?
或者我把这4个图像无逢拼接成一个呢?
压缩包里文件名有rng的是STM32生成的,有random是生成的,有兴趣的可以看看,你能找到真随机和伪随机的区别吗?
random2.rar (806.82 KB, 下载次数: 4)
我试过一些方法并没找出来两者的差别,实验的结果说明伪随机可能是存在一定的规律但也不是那个贴子里写的那么明显吧
此帖出自stm32/stm8论坛

最新回复

我觉得和那哥们儿写得c有关  详情 回复 发表于 2018-1-30 11:51
点赞 关注(1)
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 

回复
举报

9805

帖子

24

TA的资源

版主

沙发
 
AN4230 STM32 microcontrollers random number generation validation using NIST sta.pdf (517.02 KB, 下载次数: 0)
此帖出自stm32/stm8论坛
 
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 

回复

2168

帖子

8

TA的资源

五彩晶圆(初级)

板凳
 
不错的实验。
伪随机印象里是循环周期特别长的,但是长到什么程度,还真没研究过
此帖出自stm32/stm8论坛
 
个人签名坐而言不如起而行
 

回复

120

帖子

0

TA的资源

一粒金砂(中级)

4
 
会不会是要正确的周期才会有比较规律的图案
此帖出自stm32/stm8论坛
 
 
 

回复

7671

帖子

2

TA的资源

五彩晶圆(高级)

5
 
现在pc的系统绝大多数也是真随机,取的是事件,比如鼠标点击、磁盘网络等的中断、键盘敲击等,平时作为一个随机数池,需要的时候取一个出来返给你。
此帖出自stm32/stm8论坛

点评

查过一些资料说linux下是使用特定的函数这么做的,windows下不确定,抽空可以在阿里云虚主机上试一下,看没有鼠标效果会怎么样  详情 回复 发表于 2018-1-29 16:47
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复

9805

帖子

24

TA的资源

版主

6
 
freebsder 发表于 2018-1-29 13:30
现在pc的系统绝大多数也是真随机,取的是事件,比如鼠标点击、磁盘网络等的中断、键盘敲击等,平时作为一个 ...

查过一些资料说linux下是使用特定的函数这么做的,windows下不确定,抽空可以在阿里云虚主机上试一下,看没有鼠标效果会怎么样
此帖出自stm32/stm8论坛
 
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 

回复

3416

帖子

0

TA的资源

纯净的硅(高级)

7
 
我觉得和那哥们儿写得c有关
此帖出自stm32/stm8论坛
 
个人签名

So TM what......?

 

 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表