能力值:
( LV12,RANK:760 )
|
-
-
2 楼
这个世界不存在真的随机数~
|
能力值:
( LV10,RANK:163 )
|
-
-
3 楼
单纯的rand,random很不和谐,随机加复合运算就没XX.
|
能力值:
( LV3,RANK:30 )
|
-
-
4 楼
用来干什么啊,需要这么厉害的随机
|
能力值:
( LV3,RANK:20 )
|
-
-
5 楼
感觉一个加入时间的随机种子和一个随机函数可能都比你要好,这个有意义吗?
|
能力值:
( LV4,RANK:40 )
|
-
-
6 楼
存不存在真随机数没关系,需要的是之间没有关联的数组,至于干什么用可以直接当密钥使用。
伪随机数不能胜任的关键是数据间是有关联的,所以要出现漏洞。
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
没有绝对随机数,但符合一定的标准就认为是真随机,产生的随机数据还是送检一下,检测一下是否真随机,,金融机构对这个还是有要求的,如果不是特别严谨的场合,随机数其实无所谓的事情
|
能力值:
( LV12,RANK:760 )
|
-
-
8 楼
std::random_device rd;
std::mt19937 gen(rd());
std::array<unsigned int, std::mt19937::state_size> seed_data;
std::generate_n(seed_data.begin(), seed_data.size(), std::ref(gen));
std::seed_seq seq(std::begin(seed_data), std::end(seed_data));
auto engine = std::make_unique<std::mt19937>(seq);
std::cout << *engine;
随手写了个输出标准mt随机数,敢问这随机就算有公式在能攻击到么?
一个随机算法是要靠大量的数据测试,大量的数学证明的~~mt19937能流行至今肯定是有原因的~
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
老大,你还真较真了,看看LZ以前的文章吧,也就是能XXOO一下,真写东西,毛都不会。
|
能力值:
( LV4,RANK:40 )
|
-
-
10 楼
To cvcvxk:
确实即便是很简单的随机函数也是不好攻击的。
乱排随机函数的意义主要是数组元素之间没有关联,这是现有随机函数做不到的。
mt19937是不错啊,但也只能生成伪随机数组,如果利用它来做乱排随机函数就更加厉害了,将能为你做出海量的独立数据并且是可控的,比采自自然的真随机数组更好使用。
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
我觉得把……随机种子很重要……
比如某个东西……别人跟他的服务器时间同步了……然后……
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
只要有足够大基数就够了,比如至少64bit ,甚至128bit
|
能力值:
( LV4,RANK:40 )
|
-
-
13 楼
是啊随机种子很重要。
用普通随机函数来制作乱排随机函数是很简单的事情,这是个化腐朽为神奇的过程。
第一次使用,用普通随机函数F,选定种子让其生成长度为N的数组。(这是基本材料,只要N不是过小,都应是元素均匀分布的)
第二次使用F,再次选定种子对上面长度为N的数组进行随机排序,建造最终的数组。
如果用作密钥工作已经完成。要作乱排随机函数只剩下输出的问题了,就不多说了。
可见乱排随机函数需要普通随机函数两次设置种子。
|
能力值:
( LV4,RANK:40 )
|
-
-
14 楼
内容有所增加,欢迎继续批评。
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
你研究这个半年了吧
|
能力值:
( LV4,RANK:40 )
|
-
-
16 楼
何止半年,只对信息加密感兴趣,就这个简单实用。
|
能力值:
( LV4,RANK:40 )
|
-
-
17 楼
欢迎继续批评!
|
能力值:
( LV4,RANK:40 )
|
-
-
18 楼
欢迎继续讨论。
|
能力值:
( LV4,RANK:40 )
|
-
-
19 楼
欢迎继续讨论这种随机数发生方式。它的特点是同时生成大量的随机数,并且随机数的质量不是以往的伪随机数(基于算式的随机函数的产物)能比拟的。
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
感兴趣,希望lz能写个代码看看,正好可以测试
|
能力值:
( LV4,RANK:40 )
|
-
-
21 楼
唐老鸭A你好,欢迎对生成的数据进行测试,请加我QQ323241088,便于联系。
|
能力值:
( LV4,RANK:40 )
|
-
-
22 楼
补充一点,这种构造方式可能由于最初的材料过少,而限制了其随机性,当然这并不影响其作为独立变量的使用,但总是有些缺陷,比较理想的做法是,元素素材的数量达到或超过256乘256,这样生成的数组所有的组合都有可能出现了。
|
能力值:
( LV8,RANK:140 )
|
-
-
23 楼
用代码说话,空谈毫无疑义
|
能力值:
( LV4,RANK:40 )
|
-
-
24 楼
代码请见
http://bbs.pediy.com/showthread.php?t=195901&highlight=%E4%B9%B1%E6%8E%92+%E6%8E%92%E9%9A%8F+%E9%9A%8F%E6%9C%BA+%E6%9C%BA%E5%87%BD+%E5%87%BD%E6%95%B0+%E6%95%B0%E6%BA%90+%E6%BA%90%E7%A0%81+%E7%A0%81%E4%B8%BE+%E4%B8%BE%E4%BE%8B
其中1024=256×4,将1024改为65536即可。
|
能力值:
( LV2,RANK:10 )
|
-
-
25 楼
赞同一下
|
|
|