I'm principally interested in the implementation of SecRandomCopyBytes
on iOS, if it differs from the OS X implementation. (I would presume that it does, since a mobile device has more and more readily available sources of entropy than a desktop computer.)
Does anyone have information on:
- Where SecRandomCopyBytes gets entropy from?
- What rate it can generate good random numbers?
- Will it block, or fail immediately if not enough entropy is available?
- Is it FIPS 140-2 compliant, or has it been included in any other official certification?
The documentation does not cover these points.
I've only been able to find hear-say comments that it uses information from radios, the compass, accelerometers and other sources, but no quotes from people actually representing Apple.