硬件随机数生成器

维基百科,自由的百科全书
跳转至: 导航搜索
这张 SSL 加速卡使用硬件生成器来生成加密密钥,以加密计算机网络中传输的数据。

计算机科学中,硬件随机数生成器英语hardware random number generator),或真随机数生成器英语True Random Number Generator, TRNG)是一种通过物理过程而不是计算机程序来生成随机数字的设备。这样的设备通常是基于一些能生成低等级、统计学随机的「噪声」信号的微观现象,如热力学噪声英语thermal noise光电效应量子现象。这些物理过程在理论上是完全不可预测的,并且已经得到了实验的证实。硬件随机数生成器通常由换能器放大器模拟数字转换器组成。其中换能器用来将物理过程中的某些效果转换为电信号,放大器及其电路用来将随机扰动的振幅放大到宏观级别,而模拟数字转换器则用来将输出变成数字,通常是二进制的零和一。通过重复采样这些随机的信号,一系列的随机数得以生成。

随机数据生成器也可以建立在「随机」的宏观过程基础上,比如基于掷硬币骰子轮盘彩票摇奖机。这些现象中的不可预测性可由动力系统混沌理论证明。虽然在经典力学中宏观过程都是决定论的,但一个设计良好的此类设备是无法在现实生活中被预测的,因为它的每次使用都依赖于敏感的初始条件。

虽然骰子传统上被用作赌博的工具或角色扮演游戏中的「随机」元素,但早在1890年,维多利亚时代科学家弗朗西斯·高尔顿就描述了一种用骰子来产生科学研究用的随机数的方法。

硬件随机数生成器通常每秒只能产生很有限的随机比特,这意味着它是相对较慢的。为了提高数据产生效率,它们都常被用来生成伪随机数生成器的「种子」,并以此生成伪随机的输出序列。