建议和反馈

请填写你的反馈内容

问答 > 密码学 > 问答详情
已解决

什么是“加密安全”?10LK

在PHP.net中, mt_rand()uniqid()被解释为“不生成加密安全值”,并且random_int()使用random_int() , random_bytes()openssl_random_pseudo_bytes() 。

什么是“加密安全”?


2019-06-12
0
请先登陆或注册

比特币论坛2019-06-12

计算机通常不能很好地计算真正的随机数。 这意味着计算机计算的伪随机数可能是可预测的。

如果此随机数随后被用作加密密钥的基础,那么密钥和安全消息可能会受到损害。

加密安全的伪随机数生成器(CSPRNG)是指任何第三方都难以预测它可能产生的数量。 这意味着从这些随机数导出的加密密钥非常难以确定使用这些密钥保护的消息是安全的。

https://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator

理想情况下,CSPRNG中随机数的生成使用从高质量源获得的熵,通常是操作系统的随机性API。 然而,在几个这样表面上独立的过程中发现了意想不到的相关性。 从信息论的角度来看,随机性的量,即可以生成的熵等于系统提供的熵。 但有时,在实际情况下,需要比可用熵更多的随机数。 在实际操作中,从正在运行的系统中提取随机性的过程也很慢。 在这种情况下,有时可以使用CSPRNG。 CSPRNG可以在更多位上“拉伸”可用熵。


投一票
评论(0)
赞赏(0)
邀请

感谢您的善举,每一次解答会成为新人的灯塔,回答被采纳后获得20算力和相应的LK币奖励