随机性(Randomness)(110404)
2011-4-4 17:17
阅读:7902
标签:随机性, 随机数产生
随机性(Randomness)(110404)
闵应骅
在“概率逻辑和随机处理(101122)”一文中,我提出了一个疑问:世界上的事情,究竟是确定性的事情多呢,还是随机性的事情多?许多网友回答:随机性的事情多。但真要人为地产生一个真正的随机数序列却没有那么容易。
随机数在科学研究中很重要。许多实验数据离不开模拟仿真,都是在假定随机输入的情况下得到的。许多经济规律的验证也是用随机数输入的。在信息安全领域,要想保密数据,更离不开随机性。自然界中,热传播、布朗运动、掷骰子都是真随机的。这种随机序列应该是不能预料的、不可重复的、不能用规则产生的。可是,没有规则,用计算机怎么产生?计算机程序必须按规则才能运行。所以,一般计算机软件产生的是伪随机数(Pseudorandom number),MATLAB还有各种分布的随机数产生器。譬如在硬件测试领域是用线性反馈移位寄存器(LFSR)产生伪随机序列和压缩响应。真正的随机数产生是一个非常困难的问题。
转了一圈,又回到了随机数的定义。不严格地定义清楚,凭感觉,一定会误导方向,引起许多不必要的争论。从哲学上去空谈随机,也许可以说出许多,但对工程实现无益。有人说,随机的0,1序列一定一半是0,一半是1;相邻两位必须有1/4的机会是00。但是,MIT的计算机科学家和密码专家Silvio Micali说:0,1,2,...,9都写成二进制,就符合这两条件,你能说它是随机的吗?苏联大数学家柯尔莫哥洛夫说:一个位串称为真正随机的,如果此串的最短描述和它自己一样长。研究人员已经用磁头寻找次数、热噪声、原子大小的量子效应,进行非确定性的随机数产生。许多物理现象基本上是真正随机的。
基于物理过程做随机数产生,要求物理过程与随机数产生在时间上有所同步。例如,用布朗运动产生随机数,如果采样速度太快,就会产生许多连续的0或1,以致破坏随机性。而财务或国家安全方面的密码系统可能需要每秒产生几百万随机位。所以,实际需求是随机序列既要快,又要长。像LFSR产生的伪随机序列达到一定长度以后又循环回去了,这就不行。不过,当位数很多时,其周期也是一个天文数字。
据本月CACM报道,现在INTEL公司声称找到了一个基于硬件的真正的随机数产生器。他们用数字电路做了样机,可以集成到CPU里面。他们用工作芯片上的热噪声。原理上说,这个真正的随机数产生器可以用模拟电路,根据CPU中噪声的变化产生中断。但是,它必须在芯片之外,用总线相连,而总线是易被监听的。而且,这种模拟电路需要大电容,用CMOS工艺制造比较困难。INTEL的电路用45纳米CMOS,能产生每秒24亿随机位,比类似的模拟电路快200倍,功耗只有7微瓦。而且,在同一芯片上可以设置几个这样的随机数产生器,以解决可扩展性的问题。也可以工作在低速,每秒10MB,功耗10微瓦。INTEL的专家承认,该电路的输出与由晶体管、电源和温度变化引起的CPU处理的波动有关。不过,他们已经开发自调整的反馈回路,来补偿这些变化。其熵可达99.9965%,已通过NIST(美国国家标准与技术研究所)的测试。但是,NIST的专家认为对于随机性的测试还需要做许多工作。
看到INTEL的这个工作,我有点感概。他们不是在怎么空谈、高谈随机性,而是在解决随机数产生中的实际问题。他们的公司不是天天谈管理、做战略,而是做原创性的研究,进而推向市场。我想这是我们需要学习的。
闵应骅
在“概率逻辑和随机处理(101122)”一文中,我提出了一个疑问:世界上的事情,究竟是确定性的事情多呢,还是随机性的事情多?许多网友回答:随机性的事情多。但真要人为地产生一个真正的随机数序列却没有那么容易。
随机数在科学研究中很重要。许多实验数据离不开模拟仿真,都是在假定随机输入的情况下得到的。许多经济规律的验证也是用随机数输入的。在信息安全领域,要想保密数据,更离不开随机性。自然界中,热传播、布朗运动、掷骰子都是真随机的。这种随机序列应该是不能预料的、不可重复的、不能用规则产生的。可是,没有规则,用计算机怎么产生?计算机程序必须按规则才能运行。所以,一般计算机软件产生的是伪随机数(Pseudorandom number),MATLAB还有各种分布的随机数产生器。譬如在硬件测试领域是用线性反馈移位寄存器(LFSR)产生伪随机序列和压缩响应。真正的随机数产生是一个非常困难的问题。
转了一圈,又回到了随机数的定义。不严格地定义清楚,凭感觉,一定会误导方向,引起许多不必要的争论。从哲学上去空谈随机,也许可以说出许多,但对工程实现无益。有人说,随机的0,1序列一定一半是0,一半是1;相邻两位必须有1/4的机会是00。但是,MIT的计算机科学家和密码专家Silvio Micali说:0,1,2,...,9都写成二进制,就符合这两条件,你能说它是随机的吗?苏联大数学家柯尔莫哥洛夫说:一个位串称为真正随机的,如果此串的最短描述和它自己一样长。研究人员已经用磁头寻找次数、热噪声、原子大小的量子效应,进行非确定性的随机数产生。许多物理现象基本上是真正随机的。
基于物理过程做随机数产生,要求物理过程与随机数产生在时间上有所同步。例如,用布朗运动产生随机数,如果采样速度太快,就会产生许多连续的0或1,以致破坏随机性。而财务或国家安全方面的密码系统可能需要每秒产生几百万随机位。所以,实际需求是随机序列既要快,又要长。像LFSR产生的伪随机序列达到一定长度以后又循环回去了,这就不行。不过,当位数很多时,其周期也是一个天文数字。
据本月CACM报道,现在INTEL公司声称找到了一个基于硬件的真正的随机数产生器。他们用数字电路做了样机,可以集成到CPU里面。他们用工作芯片上的热噪声。原理上说,这个真正的随机数产生器可以用模拟电路,根据CPU中噪声的变化产生中断。但是,它必须在芯片之外,用总线相连,而总线是易被监听的。而且,这种模拟电路需要大电容,用CMOS工艺制造比较困难。INTEL的电路用45纳米CMOS,能产生每秒24亿随机位,比类似的模拟电路快200倍,功耗只有7微瓦。而且,在同一芯片上可以设置几个这样的随机数产生器,以解决可扩展性的问题。也可以工作在低速,每秒10MB,功耗10微瓦。INTEL的专家承认,该电路的输出与由晶体管、电源和温度变化引起的CPU处理的波动有关。不过,他们已经开发自调整的反馈回路,来补偿这些变化。其熵可达99.9965%,已通过NIST(美国国家标准与技术研究所)的测试。但是,NIST的专家认为对于随机性的测试还需要做许多工作。
看到INTEL的这个工作,我有点感概。他们不是在怎么空谈、高谈随机性,而是在解决随机数产生中的实际问题。他们的公司不是天天谈管理、做战略,而是做原创性的研究,进而推向市场。我想这是我们需要学习的。
转载本文请联系原作者获取授权,同时请注明本文来自闵应骅科学网博客。
链接地址:https://wap.sciencenet.cn/blog-290937-429625.html?mobile=1
收藏
当前推荐数:8
推荐到博客首页
网友评论25 条评论