在最近关于可能受损的随机数生成器的文章中,我了解到/dev/random
结合了多个随机数源:
“Torvalds在他的轻微爆发中争辩说,来自RdRand的价值与其他随机来源相结合,这会阻碍任何尝试游戏处理器的输出 - 但它声称混合是微不足道的(只涉及一个独家OR)并且可以被g-men规避。“ - Torvalds shoots down call to yank 'backdoored' Intel RdRand in Linux crypto
这句话表明,对这些来源进行异或操作对于加密目的而言过于简单。因此,我的问题是推荐使用哪种方法来组合多个随机源?
答案 0 :(得分:2)
Fortuna是一个CSPRNG,旨在处理多个输入池。它从各种输入中采样,在内部混合它们,然后产生输出流。它是组合多个熵源的好方法。
关于时事的话题,Linux的方法并不一定是错的。对两个PRNG流进行异或运算并不是一个糟糕的技术。关于为什么现有方法不安全,只是疯狂的推测,没有任何好的论据。