随机数在不同领域有不同含义及使用场景。
在计算机领域,通常会用在加密、ID等等方向。
真随机数需要满足三个条件:
(1)无法预测。 随机数不能被猜到,所以必须非常大,否则会被暴力破解。
(2)不能重复。 每次生成的随机数,不能是一样的。
(3)均匀分布。 随机数必须平均散布在所有区间,不能集中在某些区间。
今天在逛阮一峰周刊的时候,发现了无线电的另一个应用。
一般来说,只有通过硬件,才能得到真随机数,单纯的软件算法做不到。
科学家绞尽脑汁,想出各种办法,通过硬件生成随机数。
Random.org 就是专门生成一个随机数的网站。
它在全世界部署了多个无线电接收器,专门监听大气无线电波(即大气噪音,可以理解成大气的布朗运动),通过随机的无线电信号来生成随机数。下图是它的早期硬件设备。
世界最大的 CDN 服务商 Cloudflare ,为了得到真随机数,做得更绝。
它的三个办公室,每个都有不一样的随机数生成装置。
(1)旧金山总部。一进门就有一堵墙,放满了几十盏熔岩灯。
熔岩灯内部是融化的蜡,每时每刻都在变化着形状。
需要随机数的时候,就对着这堵墙拍一张照片。每张照片都是不一样的,然后计算照片的哈希,将其作为种子值,计算得到一个随机数。
有兴趣的可以查看文章:https://www.ruanyifeng.com/blog/2024/06/weekly-issue-305.html