MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Devices                                                random(7D)



NAME
     random, urandom - Strong random number generator device

SYNOPSIS
     /dev/random


     /dev/urandom


DESCRIPTION
     The /dev/random and /dev/urandom  files  are  special  files
     that  are  a source for random bytes generated by the kernel
     random  number  generator  device.   The   /dev/random   and
     /dev/urandom  files  are suitable for applications requiring
     high quality random numbers for cryptographic purposes.


     The generator device produces random numbers from  data  and
     devices available to the kernel and estimates  the amount of
     randomness (or "entropy") collected from these sources.  The
     entropy  level  determines the amount of high quality random
     numbers that are produced at a given time.


     Applications retrieve random bytes by reading /dev/random or
     /dev/urandom. The /dev/random interface returns random bytes
     only when sufficient amount of entropy has  been  collected.
     If  there  is  no entropy to produce the requested number of
     bytes,  /dev/random  blocks  until  more  entropy   can   be
     obtained.  Non-blocking  I/O mode can be used to disable the
     blocking behavior. The /dev/random interface  also  supports
     poll(2). Note that using poll(2) will not increase the speed
     at which random numbers can be read.


     Bytes retrieved from /dev/random provide the highest quality
     random numbers produced by the generator, and can be used to
     generate  long  term  keys  and  other  high  value   keying
     material.


     The  /dev/urandom interface returns bytes regardless of  the
     amount  of  entropy  available.  It does not block on a read
     request due to lack of entropy. While bytes produced by  the
     /dev/urandom  interface are of lower quality than bytes pro-
     duced by /dev/random, they are nonetheless suitable for less
     demanding  and shorter term cryptographic uses such as short
     term session keys, paddings, and challenge strings.






SunOS 5.11           Last change: 1 Sep 2008                    1






Devices                                                random(7D)



     Data can be written to /dev/random  and  /dev/urandom.  Data
     written  to  either special file is added to the generator's
     internal state. Data that is difficult to predict  by  other
     users  may  contribute randomness to the generator state and
     help improve the quality of future generated random numbers.


     /dev/random  collects  entropy  from  providers   that   are
     registered with the kernel-level cryptographic framework and
     implement   random   number   generation    routines.    The
     cryptoadm(1M)  utility  allows an administrator to configure
     which providers will be used with /dev/random.

ERORS
     EAGAIN     ONDELAY or ONONBLOCK  was  set  and  no  random
                bytes are available for reading from /dev/random.


     EINTR      A signal was caught while reading and no data was
                transferred.


     ENOXIO     open(2) request failed on /dev/random because  no
                entropy provider is available.


FILES
     /dev/random


     /dev/urandom


ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     Availability                  SUNWcsr                    
     Interface Stability          Evolving                    
    


SEE ALSO
     cryptoadm(1M), open(2), poll(2), attributes(5)

NOTES




SunOS 5.11           Last change: 1 Sep 2008                    2






Devices                                                random(7D)



     /dev/random can be configured to use only the hardware-based
     providers  registered  with  the  kernel-level cryptographic
     framework by disabling  the  software-based  provider  using
     cryptoadm(1M).  You can also use cryptoadm(1M) to obtain the
     name of the software-based provider.


     Because no entropy is available,  disabling  all  randomness
     providers causes read(2) and poll(2) on /dev/random to block
     indefinitely and results in a warning message  being  logged
     and  displayed  on  the system console. However, read(2) and
     poll(2) on /dev/urandom continue to work in this case.


     An  implementation  of  the  /dev/random  and   /dev/urandom
     kernel-based random number generator first appeared in Linux
     1.3.30.


     A /dev/random interface for Solaris first appeared  as  part
     of the CryptoRand implementation.


































SunOS 5.11           Last change: 1 Sep 2008                    3



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™