真正的随机数是很难找到的。人们选择的数字根本不是随机的,计算机创造的伪随机数也不是非常随机的。现在,科学家们已经开发出一种方法,可以从真正的随机性来源中产生随机数——晶体在溶液中开始生长的确切时间、地点和方式的不可预测阶段。

“生成真正的随机数真的很难,”他说李·克罗宁格拉斯哥大学教授。化学中的随机性通常被称为随机性,但它的意思大致相同。

用于工艺研究的化学方案的图像

来源:©2020 Edward C Lee/Elsevier Inc

使用了三种不同的化学物质来生成真实的随机数——硫酸铜、多氧金属酸钨盐和钴配位簇

克罗宁的团队开发了一种机器人,它可以在10 × 10的小瓶阵列中自动生长晶体,为它们拍照,并通过测量它们的大小、方向和颜色来生成随机数串。研究人员分析了在三种溶液中生长的晶体产生的数字,其中包括一种溶液硫酸铜并发现他们都通过了随机质量的统计测试。

计算机被设计成可预测的,所以它们不擅长生成随机数。大多数只能从几乎随机的事件中创建伪随机数,比如按键之间的时间间隔。但理论上,如果你对初始条件有足够的了解,这些是可以计算出来的。

伪随机数对于很多目的来说都是随机的,但对于像数学建模和数据加密这样的关键应用就不是这样了,现在从信用卡到网站密码,数据加密都被使用。

一些计算机可以对不可预测的物理过程(如热噪声或光电效应)进行采样,以生成真实的随机数。随机数也可以由放射性衰变或大气噪声产生。而内容网络Cloudflare的互联网加密依赖于一个惊人的随机来源:a墙上有100个熔岩灯

为了证明他们的系统是有效的随机的,克罗宁的团队用他们的晶体衍生数字加密了一个单词——“晶体!”事实证明,他们的系统性能与使用伪随机数生成器对同一个单词进行加密一样好。

克罗宁之前也制造过化学机器人Chemputer执行有机合成任务的序列.他说,最新的机器人可以被开发成一个硬件随机数生成器,但它的真正目的是研究随机化学,比如无序材料多孔性液体或者是太阳能电池材料的缺陷。

“随机数的性质是否告诉我们,一种材料的缺陷分布更好?”克罗宁问道。“如果我们优化缺陷的分布,就像通过随机数的质量读出的那样,我们能制造出更高效的太阳能电池吗?””

“人们本以为这样一个宏观的随机来源会受到实验系统偏差的影响,或者随机的自相关性,”但克罗宁的方法似乎产生了高质量的随机数,”他说Manuel Laso他在马德里理工大学研究晶体的随机性。

“各种材料的性能在很大程度上取决于缺陷,有时我们依靠缺陷来确定性能,”他说格雷姆天在南安普顿大学。“用这种方法来衡量缺陷的随机性,并对其进行优化,是一个有趣的方向。”

本文于2020年2月20日更新。以前的版本错误地指出,基于晶体的加密方法优于使用伪随机数生成器的加密。