我主要关注在iOS上SecRandomCopyBytes
的实现,如果它与OS X的实现有所不同(因为移动设备比桌面计算机拥有更多和更容易获取的熵源)。
有人了解以下信息吗:
- SecRandomCopyBytes从哪里获得熵?
- 它可以产生良好随机数的速率是多少?
- 如果没有足够的熵可用,它会阻塞还是立即失败?
- 它是否符合FIPS 140-2标准,或者是否已被纳入任何其他官方认证?
文档未涵盖这些要点。
我只能找到一些 hearsay 评论,说它使用来自无线电、罗盘、加速计和其他来源的信息,但没有引述实际代表苹果公司的人的话。
syscall
实现:我有最新的OS X的xnu内核版本(1504.9.37),但找不到iOS使用的版本(如果它甚至是开源的? - 但假定它必须是)。 - James