-
-
化腐朽为神奇
-
发表于:
2020-7-28 23:04
9158
-
随机函数值较简单容易计算容易得到,因为它一般算式较简单所以生成的值有一些固有的特点,使得其随机性不好,故一般称其为伪随机数,由于相邻数据之间有一些关系这样的一组数据不能看做是纯粹的未知数,优良的随机函数一般元素分布都是比较均匀的这是它的优点。
我们有可能将这些数据改造为真随机数组吗?答案是肯定的,根据热力学第二定律之熵增加原理,我们如果用多种因素去打乱其现有的分布,数组只会向着熵增加的方向发展而不会相反,实践证实熵增加也是会饱和的,饱和以后继续打乱也没有意义,推荐使用随机排序来打乱数组,这种打乱的效率很高,这样就能够生成源源不断的真随机数组。
真随机数组的概念比较有意思,一般定义是1)看上去像乱码,2)不能预测其后面的数值,3)不能重复产生。所以世界上不存在真随机数组,因为一旦数组生成后就不符合定义了,所以真随机数组是存在于生成机制中的东西。
如果应用熵增加原理建造随机数组,只要不断用不重复的方式进行随机排序,它将源源不断的生成具有真随机数组特性的东西。最终的产品是元素之间毫无关系的未知数,用这样的东西去加密信息是不能被破解的。
如果真随机数组采自物理参数那样的东西是不受控的,也不能复现也不好保存,不适用于加密信息。而上述用人工方式产生的数组则是受控的,可以复现,如果使用用户密码控制真随机数组的产生,那将生成相对的真随机数组对加密者来说是伪随机数组,对解密者来说是真随机数组。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课