Implement CSPRNG in a manner consistent with the feedback on #131

See: #128, #130, #131