diff options
Diffstat (limited to 'static/openbsd/man9/arc4random.9')
| -rw-r--r-- | static/openbsd/man9/arc4random.9 | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/static/openbsd/man9/arc4random.9 b/static/openbsd/man9/arc4random.9 new file mode 100644 index 00000000..6dc6ab2c --- /dev/null +++ b/static/openbsd/man9/arc4random.9 @@ -0,0 +1,64 @@ +.\" $OpenBSD: arc4random.9,v 1.15 2020/05/29 03:19:43 deraadt Exp $ +.\" +.\" Copyright (c) 1996,2000 Michael Shalayeff +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd $Mdocdate: May 29 2020 $ +.Dt ARC4RANDOM 9 +.Os +.Sh NAME +.Nm arc4random , +.Nm arc4random_buf , +.Nm arc4random_uniform , +.Nm enqueue_randomness +.Nd kernel random subsystem +.Sh SYNOPSIS +.In sys/systm.h +.Ft u_int32_t +.Fn arc4random "void" +.Ft void +.Fn arc4random_buf "void *buf" "size_t nbytes" +.Ft u_int32_t +.Fn arc4random_uniform "u_int32_t upper_bound" +.Ft void +.Fn enqueue_randomness "int" +.Sh DESCRIPTION +.Fn arc4random +and +.Fn arc4random_buf +provide random numbers and are intended to be called in any +circumstance where random numbers are required. +.Pp +.Fn arc4random_uniform +will return a uniformly distributed random number less than +.Fa upper_bound , +avoiding "modulo bias" when the upper bound is not a power of two. +In the worst case, this function may consume multiple iterations +to ensure uniformity; see the source code to understand the problem +and solution. +.Pp +.Fn enqueue_randomness +causes the supplied data argument to be added to the entropy pool. +.Sh SEE ALSO +.Xr arc4random 3 , +.Xr random 4 |
