Skip to main content

CSPRNG and Randomness Source

Various operations in World App require a CSPRNG (Cryptographically Secure Pseudo-Random Number Generator). For all such operations, we use the standard OS-provided CSPRNG. Most cryptographically sensitive operations in World App are handled by Bedrock foundational library. Bedrock accomplishes this by using the OsRng from the rand crate. Under the hood, OsRng uses getrandom which uses the OS-provided CSPRNG (e.g. getrandom(2) syscall on Android (Linux), SecRandomCopyBytes on iOS).