abstracted out the secure random byte generator so that users of this library can quickly swap it out in case insecurity is suspected.