GMP扩展中的PHP gmp_random_range函数是否加密安全?

时间:2019-05-30 11:27:08

标签: php random gmp

我使用PHP编写可生成字符随机组合的软件。为此,我需要任意长度的整数随机生成。因此,我使用GMP扩展名,尤其是gmp_random_range()。但是我需要通过一个链接来证明它是加密安全的。或至少它足够随机。

GMP随机函数使用种子(gmp_random_seed),如果我不设置种子,那么一切看起来都足够随机。因此,我想当我不明确设置种子时,它是从可靠的随机来源中获取的。我找不到明确说明这种事情的东西。

1 个答案:

答案 0 :(得分:0)

"Random State Initialization"所示,在GMP文档中,GMP包含的唯一随机生成器算法是-

  • 梅森·Twister算法,
  • 各种大小的线性同余生成器,
  • “没有特殊要求的应用程序”(包括安全要求)的“默认算法”。

奇怪的是,GMP文档在"Random State Seeding"中说:“即使没有一种算法,如果将生成的数字用于重要的应用程序(例如生成加密密钥),选择种子的方法也是至关重要的” GMP中包含的内容适用于加密。