计算机科学

首页 > 计算机科学

硬件随机数生成器

这张 SSL 加速卡使用硬件生成器来生成加密密钥,以加密计算机网络中传输的数据。

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

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

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

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


上一篇:密钥
下一篇:比特币黄金
相关推荐