C++'s Random Number Engines Are Not Cryptographically Secure
Everything should be a random number generator
The C++ standard library splits random number generation into uniform random bit generators — engines like the linear congruential, Mersenne twister, subtract-with-carry, and the new Philox engine added in C++26 — and distributions that reshape their output into uniform, normal, Poisson, and other statistical forms. Engines can be seeded, serialized, and restored for repeatable simulations, but none of them are cryptographically secure; for that, the docs point to OpenSSL's RAND_bytes.
None of these random number engines are cryptographically secure. As with any secure operation, a crypto library should be used for the purpose.