Linux 内核熵池

阅读数:37 评论数:0

跳转到新版页面

分类

Linux

正文

Linux内核采用熵来描述数据的随机性,熵(entropy)是描述系统混乱无序程序的物理量,一个系统的熵越大则说明该系统的有序性越差,即不确定性越大。在信息学中,熵被用来表征一个符号或系统的不确定性,熵越大,表明系统所含有用信息量越少,不确定度越大。

计算机本身是可预测的系统,因此,用计算机算法不可能产生真正的随机数,但是机器的环境中充满了各处各样的噪声,如硬件设备中断的时间,用户点击时间间隔等是完全随机的,事先无法预测。Linux内核实现的随机数产生器正是利用系统中的这些随机噪声来产生高质量的随机数序列。

内核维护了一个熵池用来收集来自设备驱动程序和其它来源的环境噪声。理论上,熵池中的数据是完全随机的,可以实现产生真随机数序列。为跟踪熵池中数据的随机性,内核中将数据加入池的时候将估算数据的随机性,这个过程称作熵估算。熵估算描述池中包含的随机数位数,其值 越大表示池中数据的随机性越好。