首页
社区
课程
招聘
化腐朽为神奇
发表于: 2020-7-28 23:04 9158

化腐朽为神奇

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

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 433
活跃值: (2130)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
2
沙发
2020-7-28 23:14
0
雪    币: 1372
活跃值: (2100)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
额,有具体实现方案吗
2020-7-28 23:35
0
雪    币: 10014
活跃值: (2012)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
4
本人以前的帖子中有详细说明随机排序的实现的方法,那种变换绝对是翻天覆地的,且都是不可逆的变换。
2020-7-29 19:38
0
雪    币: 10014
活跃值: (2012)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
5
事实上加密用真随机数组真是大材小用了,用随机函数的伪随机数组就足矣。
在加密软件中,使用用户密码控制随机函数生成的数组一样具有良好的随机性和未知性,并且根本无法跟踪,既安全有听使唤,用得好根本无法破解。
2020-8-17 18:42
0
雪    币: 4752
活跃值: (2923)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
6
又来水帖了?
2020-8-17 19:24
0
游客
登录 | 注册 方可回帖
返回