#, fuzzy msgid "" msgstr "" "Project-Id-Version: man-pages-l10n VERSION\n" "POT-Creation-Date: 2014-07-17 17:57+0900\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: TH #: man-pages/man4/random.4:19 #, no-wrap msgid "RANDOM" msgstr "" #. type: TH #: man-pages/man4/random.4:19 #, no-wrap msgid "2013-03-15" msgstr "" #. type: TH #: man-pages/man4/random.4:19 #, no-wrap msgid "Linux" msgstr "" #. type: TH #: man-pages/man4/random.4:19 #, no-wrap msgid "Linux Programmer's Manual" msgstr "" #. type: SH #: man-pages/man4/random.4:20 #, no-wrap msgid "NAME" msgstr "" #. type: Plain text #: man-pages/man4/random.4:22 msgid "random, urandom - kernel random number source devices" msgstr "" #. type: SH #: man-pages/man4/random.4:22 #, no-wrap msgid "SYNOPSIS" msgstr "" #. type: Plain text #: man-pages/man4/random.4:24 msgid "#include Elinux/random.hE" msgstr "" #. type: Plain text #: man-pages/man4/random.4:26 msgid "BIB<, RND>IB<, >IB<);>" msgstr "" #. type: SH #: man-pages/man4/random.4:26 #, no-wrap msgid "DESCRIPTION" msgstr "" #. type: Plain text #: man-pages/man4/random.4:33 msgid "" "The character special files I and I (present " "since Linux 1.3.30) provide an interface to the kernel's random number " "generator. File I has major device number 1 and minor device " "number 8. File I has major device number 1 and minor device " "number 9." msgstr "" #. type: Plain text #: man-pages/man4/random.4:39 msgid "" "The random number generator gathers environmental noise from device drivers " "and other sources into an entropy pool. The generator also keeps an " "estimate of the number of bits of noise in the entropy pool. From this " "entropy pool random numbers are created." msgstr "" #. type: Plain text #: man-pages/man4/random.4:47 msgid "" "When read, the I device will only return random bytes within " "the estimated number of bits of noise in the entropy pool. I " "should be suitable for uses that need very high quality randomness such as " "one-time pad or key generation. When the entropy pool is empty, reads from " "I will block until additional environmental noise is gathered." msgstr "" #. type: Plain text #: man-pages/man4/random.4:58 msgid "" "A read from the I device will not block waiting for more " "entropy. As a result, if there is not sufficient entropy in the entropy " "pool, the returned values are theoretically vulnerable to a cryptographic " "attack on the algorithms used by the driver. Knowledge of how to do this is " "not available in the current unclassified literature, but it is " "theoretically possible that such an attack may exist. If this is a concern " "in your application, use I instead." msgstr "" #. type: Plain text #: man-pages/man4/random.4:65 msgid "" "Writing to I or I will update the entropy pool " "with the data written, but this will not result in a higher entropy count. " "This means that it will impact the contents read from both files, but it " "will not make reads from I faster." msgstr "" #. type: SS #: man-pages/man4/random.4:65 #, no-wrap msgid "Usage" msgstr "" #. type: Plain text #: man-pages/man4/random.4:74 msgid "" "If you are unsure about whether you should use I or I, then probably you want to use the latter. As a general rule, I should be used for everything except long-lived GPG/SSL/SSH " "keys." msgstr "" #. type: Plain text #: man-pages/man4/random.4:86 msgid "" "If a seed file is saved across reboots as recommended below (all major Linux " "distributions have done this since 2000 at least), the output is " "cryptographically secure against attackers without local root access as soon " "as it is reloaded in the boot sequence, and perfectly adequate for network " "encryption session keys. Since reads from I may block, users " "will usually want to open it in nonblocking mode (or perform a read with " "timeout), and provide some sort of user notification if the desired entropy " "is not immediately available." msgstr "" #. type: Plain text #: man-pages/man4/random.4:99 msgid "" "The kernel random-number generator is designed to produce a small amount of " "high-quality seed material to seed a cryptographic pseudo-random number " "generator (CPRNG). It is designed for security, not speed, and is poorly " "suited to generating large amounts of random data. Users should be very " "economical in the amount of seed material that they read from I (and I); unnecessarily reading large quantities of " "data from this device will have a negative impact on other users of the " "device." msgstr "" #. type: Plain text #: man-pages/man4/random.4:107 msgid "" "The amount of seed material required to generate a cryptographic key equals " "the effective key size of the key. For example, a 3072-bit RSA or Diffie-" "Hellman private key has an effective key size of 128 bits (it requires about " "2^128 operations to break) so a key generator only needs 128 bits (16 bytes) " "of seed material from I." msgstr "" #. type: Plain text #: man-pages/man4/random.4:116 msgid "" "While some safety margin above that minimum is reasonable, as a guard " "against flaws in the CPRNG algorithm, no cryptographic primitive available " "today can hope to promise more than 256 bits of security, so if any program " "reads more than 256 bits (32 bytes) from the kernel random pool per " "invocation, or per reasonable reseed interval (not less than one minute), " "that should be taken as a sign that its cryptography is I skillfully " "implemented." msgstr "" #. type: SS #: man-pages/man4/random.4:116 #, no-wrap msgid "Configuration" msgstr "" #. type: Plain text #: man-pages/man4/random.4:120 msgid "" "If your system does not have I and I created " "already, they can be created with the following commands:" msgstr "" #. type: Plain text #: man-pages/man4/random.4:125 #, no-wrap msgid "" " mknod -m 644 /dev/random c 1 8\n" " mknod -m 644 /dev/urandom c 1 9\n" " chown root:root /dev/random /dev/urandom\n" msgstr "" #. type: Plain text #: man-pages/man4/random.4:135 msgid "" "When a Linux system starts up without much operator interaction, the entropy " "pool may be in a fairly predictable state. This reduces the actual amount " "of noise in the entropy pool below the estimate. In order to counteract " "this effect, it helps to carry entropy pool information across shut-downs " "and start-ups. To do this, add the following lines to an appropriate script " "which is run during the Linux system start-up sequence:" msgstr "" #. type: Plain text #: man-pages/man4/random.4:150 #, no-wrap msgid "" " echo \"Initializing random number generator...\"\n" " random_seed=/var/run/random-seed\n" " # Carry a random seed from start-up to start-up\n" " # Load and then save the whole entropy pool\n" " if [ -f $random_seed ]; then\n" " cat $random_seed E/dev/urandom\n" " else\n" " touch $random_seed\n" " fi\n" " chmod 600 $random_seed\n" " poolfile=/proc/sys/kernel/random/poolsize\n" " [ -r $poolfile ] && bytes=\\`cat $poolfile\\` || bytes=512\n" " dd if=/dev/urandom of=$random_seed count=1 bs=$bytes\n" msgstr "" #. type: Plain text #: man-pages/man4/random.4:154 msgid "" "Also, add the following lines in an appropriate script which is run during " "the Linux system shutdown:" msgstr "" #. type: Plain text #: man-pages/man4/random.4:165 #, no-wrap msgid "" " # Carry a random seed from shut-down to start-up\n" " # Save the whole entropy pool\n" " echo \"Saving random seed...\"\n" " random_seed=/var/run/random-seed\n" " touch $random_seed\n" " chmod 600 $random_seed\n" " poolfile=/proc/sys/kernel/random/poolsize\n" " [ -r $poolfile ] && bytes=\\`cat $poolfile\\` || bytes=512\n" " dd if=/dev/urandom of=$random_seed count=1 bs=$bytes\n" msgstr "" #. type: SS #: man-pages/man4/random.4:166 #, no-wrap msgid "/proc Interface" msgstr "" #. type: Plain text #: man-pages/man4/random.4:172 msgid "" "The files in the directory I (present since 2.3.16) " "provide an additional interface to the I device." msgstr "" #. type: Plain text #: man-pages/man4/random.4:178 msgid "" "The read-only file I gives the available entropy. Normally, " "this will be 4096 (bits), a full entropy pool." msgstr "" #. type: Plain text #: man-pages/man4/random.4:183 msgid "" "The file I gives the size of the entropy pool. The semantics of " "this file vary across kernel versions:" msgstr "" #. type: TP #: man-pages/man4/random.4:184 #, no-wrap msgid "Linux 2.4:" msgstr "" #. type: Plain text #: man-pages/man4/random.4:191 msgid "" "This file gives the size of the entropy pool in I. Normally, this " "file will have the value 512, but it is writable, and can be changed to any " "value for which an algorithm is available. The choices are 32, 64, 128, " "256, 512, 1024, or 2048." msgstr "" #. type: TP #: man-pages/man4/random.4:191 #, no-wrap msgid "Linux 2.6:" msgstr "" #. type: Plain text #: man-pages/man4/random.4:196 msgid "" "This file is read-only, and gives the size of the entropy pool in I. " "It contains the value 4096." msgstr "" #. type: Plain text #: man-pages/man4/random.4:214 msgid "" "The file I contains the number of bits of entropy " "required for waking up processes that sleep waiting for entropy from I. The default is 64. The file I contains " "the number of bits of entropy below which we wake up processes that do a " "B