On Sunday, 26 February 2017 at 18:23:27 UTC, cym13 wrote:
Hi,

I found many times that people use unpredictableSeed in combination with normal PRNG for cryptographic purpose. Some even go as far as reseeding at each call to try making it more secure.

It is a dangerous practice, most PRNG are not designed with security (and unpredictability) in mind, and unpredictableSeed was definitely not designed with security in mind (or it failed heavily at it). It's a good tool when one needs randomness, not security.

I wrote a blog post to present exactly why this is a bad idea and how it could be exploited [1].

The best would be to add a standard CSPRNG interface to Phobos but we aren't there yet.

[1]: https://cym13.github.io/article/unpredictableSeed.html

When I see the code for unpredictableSeed I went face palm really hard.

I did some digging, and it was way way worse:

https://github.com/dlang/phobos/commit/ff54d867e41abc8261075f0dce1261d68ee09180#diff-713ce153554afc99a07767cc8ba940aeL529

https://github.com/dlang/phobos/commit/c433c36658df45677bf90b00e93cba051883294e

Reply via email to