Reader は,暗号学的に安全な乱数ジェネレータのグローバルな共有インスタンスです。
Linux と FreeBSD では, Reader は利用可能ならば getrandom(2) を,そうでなければ /dev/urandom を使います。 OpenBSD では, Reader は getentropy(2) を使用します。 他の Unix 系システムでは, Reader は /dev/urandom から読み込みます。 Windows システムでは, Reader は CryptGenRandom API を使用します。 Wasm では, Reader は Web Crypto API を使用します。
var Reader io.Reader
func Int(rand io.Reader, max *big.Int) (n *big.Int, err error)
Int は, [0, max) で一様なランダムな値を返します。 max <= 0 の場合はパニックします。
func Prime(rand io.Reader, bits int) (p *big.Int, err error)
Prime は与えられたサイズの数 p を返し, p は高い確率で素数になります。 Prime は, rand.Read によって返されたエラー,または bits < 2 の場合,エラーを返します。
func Read(b []byte) (n int, err error)
Read は, io.ReadFull を使用して Reader.Read を呼び出すヘルパー関数です。 err == nil の場合は,またその場合に限り, n == len(b) となります。
▹ 例