python - os.urandom or ssl.RAND_bytes? -
os.urandom or ssl.rand_bytes: when generating random bytes cryptographic purposes, more recommended?
if neither 1 better, tradeoffs , expected each in terms of differences?
note ssl.rand_bytes exists in python 3.
ssl.rand_bytes needs seeded before can used. cannot rely on ssl.rand_bytes alone. both os.urandom , `ssl.rand_bytes pseudo random number generators. prng's deterministic; when seeded same data, return same stream of pseudo random number bytes. these bytes should indistinguishable true random if observer not know seed value. os.urandom (re-)seeded using source of entropy within operating system.
using os.urandom should therefore preferred on ssl.rand_bytes. first of all, seeded (and reseeded operating system). furthermore, not require additional dependency on ssl library. drawback performance. faster use ssl.rand_bytes seeded big enough value os.urandom os.urandom requires system call time retrieve data.
Comments
Post a Comment