[Development] CSPRNG vs DPRNG
thiago.macieira at intel.com
Thu Oct 12 17:11:13 CEST 2017
On quinta-feira, 12 de outubro de 2017 01:28:34 PDT Edward Welbourne wrote:
> > So I created a better option: QPseudoRandomGenerator (name bikeshedding
> > later)
> I should note that "pseudo-random" is in fact a variant on "chaotic", so
> perhaps QChaoticGenerator would be more apt. Chaos is not random,
> it just looks a lot like it.
I have another option, which is to make QRandomGenerator be both:
- QRandomGenerator::system() is the system, HW-backed CSPRNG.
- QRandomGenerator::global() is the app-wide securely-seeded DPRNG
- QRandomGeneraotor has a constructor to create repeatable DPRNG.
If Ville and Marc don't look too closely at the change, I can even save the
system the 637 * 4 bytes of static data that would never be used.
I haven't made this change yet, but I think it's a better solution and less of
a disrupution of the feature freeze.
I still need a mandatory Mersenne twister and, like QThread, we'll have at
least one std symbol in our ABI (std::seed_seq).
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
More information about the Development