Similar to #24659 (moved), we should provide a way to wrap our C code for getting randomness in Rust, while implementing the appropriate traits (from rand) so that we're able to switch in Rust implementations if we want later.
Cool! Please ask if you have any questions. There is some possibly helpful documentation in the doc/HACKING subdirectory of the Tor repository, and there are frequently helpful people on the #tor-dev IRC channel on OFTC.
Assigning to myself since this is blocking #25381 (moved), #23886 (moved), and #24988 (moved), possibly among others, it's in the March/April 2018 roadmap, and I can probably do it in an afternoon?
Trac: Points: N/Ato 2 Status: new to accepted Owner: N/Ato isis
Lgtm, except that I instead of exposing only crypto_strongest_rand() as an Rng, I think we should either expose only crypto_rand(), or expose both. Once that's done I think this is merge_ready.
Edited to add: see comment on the pull request for more info.