On Sat, Apr 2, 2011 at 7:41 PM, Jeffrey Walton <[email protected]> wrote: > On Sat, Apr 2, 2011 at 10:22 AM, Tom Ritter <[email protected]> wrote: >>> At most, I would think you'd only be able to collect a few bits. >> >> Agreed, I think using anything but the lowest bits would be dangerous. >> But most smartphones (especially ones with GPS sensors) have other >> sensors that would be better contributors of entropy, and aren't >> monitorable by any remote adversary: Acceleration, Orientation, >> Microphone, Camera, probably some others. You may also be able to get >> some bits from the Antenna and Wifi Signals Strengths as well. > Agreed. I even have a finger drawing program to extract random bits > (if the user desires). > >> But, most phone API's already provide a random number generator they >> say is cryptographically sound. Java's SecureRandom on Android, >> SecRandomCopyBytes on iOS, net.rim.device.api.crypto.RandomSource on >> Blackberry, System.Security.Cryptography.RNGCryptoServiceProvider on >> Windows, and CreateRandomL on Symbian. Is there a particular reason >> you distrust or can't use one of those? > Two reasons. The first is due diligence (paranoia?), the second is > feasibility. > > For paranoia, I don't want to place 100% trust in the OS provided > gear. For example, Ray Marsh recently discussed some considerations > with Free BSD's prng. For me, its easier to use Crypto++'s X9.17 > generator, and add extra entropy as required. > Kevin Wall brought up a good point on a sidebar: X9.17 is no longer recommended/approved. Fortunately, the difference between X9.17 and X9.31 is the underlying block cipher. X9.31 uses 3TDEA and AES. AES has been the block cipher used in Crypto++ for the generator for some time now [1].
Jeff [1] http://www.cryptopp.com/docs/ref/osrng_8h_source.html _______________________________________________ cryptography mailing list [email protected] http://lists.randombit.net/mailman/listinfo/cryptography
