I'm trying to understand if the XNU underpinnings of macOS (BSD) still use the Yarrow cryptographically secure pseudorandom number generator?
I have looked through the source and it seems as if they switched to a DRBG NIST generator?
There are very few references to Yarrow in the 10.14 XNU code compared with older versions of the Kernel, but 10.14 still contains this string in key.c
:
/* Our PRNG is based on Yarrow and doesn't need to be seeded */
That said if you looked at older XNU Yarrow is littered everywhere.
Source code for XNU:
Lots of Yarrow references in XNU 2782 - macOS 10.11
Very few Yarrow references in XNU 4903 - macOS 10.14
So, are Apple still using Yarrow?
I ask because Yarrow is only capable of generating 160bit strong keys.