blum blum shub发生器的模数值是2个素数的乘积。但是我应该使用什么值来生成256位序列?哪个值提供了良好的安全性?
答案 0 :(得分:1)
这是一个有趣的问题,可能是Stackoverflow中的主题,但算法的名称是如此热闹(对不起原作者),我将尝试回答它。
一般来说,我将参考他们的原始论文。你可以在:
找到它http://epubs.siam.org/doi/abs/10.1137/0215025
B.B.S gererator遵循等式:
其中N是相同长度的两个素数的乘积(我希望有人能够更好地澄清这对我意味着什么,因为文中的例子是N = 133 = 7 * 19而且我真的不知道如何7和19是相同的长度,但它与问题不是100%相关。
然后,要获得所需的随机位,您需要使用parity 其中。
系列b的序列的周期“通常等于,其中函数λ是Carmichael function。
因此,您可以尝试使用不同的数字作为N,计算并确保它大于您希望完全随机的数量。
阅读关于Blum Blum Shub算法的维基百科文章似乎表明你只想拥有一个非常大的N.