[fpc-devel] Random thread-safe
jonas.maebe at elis.ugent.be
Thu Jan 28 16:51:44 CET 2016
thaddy wrote on Thu, 28 Jan 2016:
> The point is partially more or less at the end of the link I
> included. The reference to the Rdrand
> Which means software should take advantage of hardware when possible.
> But it is about more than that.
> And with due regards: the choice of the Mersenne twister over a
> Delphi equivalent one was made by about the same arguments I have
> now: it was better.
There are different kinds of "better". E.g. the current one is the
same on all platforms, which means that by setting a particular
randseed, you can get the same sequence on all platforms (e.g. for
simulations). If you start using platform-specific functionality, that
is no longer the case. Depending on the implementation, they may not
even support getting the same sequence of numbers again on the same
platform by setting randseed to a particular value, which is a basic
feature of the TP/Delphi PRNG that many programs depend on.
> PRNG's are more and more important. They deserve extra effort even
> if it is not used for the compiler itself.
> (It may very well be: when all software needs signing on all major
> platforms, which is tomorrow in IT standards)
If you're using a PRNG for security purposes, you're doing security
wrong. RNGs suitable for security sensitive applications belong in
their own unit or set of units, along with the encryption algorithms.
More information about the fpc-devel