I’m using OpenSSL as a module in PHP (php_openssl), and I need to call the CGI page may times per second
 but the initialization process in RAND_poll is too slow.

I’m thinking to modify OpenSSL to use the rtlGenRandom call available in XP/2003 Server/Vista OSs

(see http://blogs.msdn.com/michael_howard/archive/2005/01/14/353379.aspx for comments on rtlGenRandom )

Does the above statements and posted code means that you can actually confirm that you've verified that it's call to CryptGenRandom [or CryptAcquireContext] that is holding RAND_poll back and not something else? If not, then one should first figure out that, rather than jumping at something they don't guarantee there is and even in clear text advise to favor CryptGenRandom. Once it's done one should make an effort to find a [more] legitimate way to optimize the "guilty" one.

As for CryptGenRandom and "RtlGenRandom" in more general sense. Registry access tracing suggests that both calls maintain a shared 80-bit Cryptography\RNG\Seed value in HKLM. How do unprivileged programs do it is actually [smaller] mystery, because the key is not writable for mortals [what I see is most likely kernel driver access accounted to my user-land application]. But what appears alerting is that the key value is publicly readable, meaning that adversary non-privileged application can follow its changes. Is there evidence that this adversary application can't deduce the random values obtained by application based on observed seed values? A.

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to