Provided by: manpages-pl_20060617-3_all bug

NAZWA

       random, urandom - urzdzenia rodlowe liczb losowych jdra

OPIS

       Specjalne  urzdzenia  znakowe  /dev/random  i  /dev/urandom  (obecne  w
       Linuksie od wersji 1.3.30) stanowi  interfejs  do  wbudowanego  w  jdro
       generatora liczb losowych. Plik /dev/random ma glowny numer urzdzenia 1
       i poboczny numer 8. Plik /dev/urandom ma glowny  numer  urzdzenia  1  i
       poboczny numer 9.

       Generator  liczb losowych zbiera szum rodowiskowy ze sterownikow urzdze
       i innych rodel do puli losowej. Generator przechowuje rownie  szacunkow
       liczb bitow szumu w puli losowej. Z owej puli tworzone s liczby losowe.

       W  trakcie  odczytu,  urzdzenie  /dev/random bdzie zwraca losowe bajty,
       sporod oszacowanej liczby bitow szumu w puli.   /dev/random  nadaje  si
       najlepiej do zastosowa, w ktorych potrzebna jest losowo bardzo wysokiej
       jakoci, jak np. jednorazowa maska lub  generowanie  kluczy.  Jeli  pula
       losowa  jest  pusta,  odczyt  z  /dev/random  bdzie wstrzymany do czasu
       zebrania dodatkowego szumu rodowiskowego.

       Odczyt z urzdzenia /dev/urandom  zwroci  tyle  bajtow,  ile  zadano.  W
       efekcie,  jeli  nie  ma  wystarczajcego chaosu w puli losowej, zwracane
       wartoci s teoretycznie naraone na atak kryptograficzny  w  stosunku  do
       algorytmow  wykorzystywanych  przez  sterownik. Wiedza na ten temat nie
       jest dostpna w obecnych nie  zastrzeonych  publikacjach,  ale  istnieje
       teoretyczna   moliwo   przeprowadzenia  takiego  ataku.  Jeli  jest  to
       problemem w przypadku twojego programu, uyj /dev/random.

KONFIGURACJA

       Jeli w systemie nie ma  plikow  /dev/random  i  /dev/urandom,  mona  je
       utworzy przy uyciu nastpujcych polece:

               mknod -m 644 /dev/random c 1 8
               mknod -m 644 /dev/urandom c 1 9
               chown root:root /dev/random /dev/urandom

       Gdy  Linux  uruchamiany  jest  przy  niewielkim udziale operatora, pula
       losowa moe by w do przewidywalnym stanie. Faktyczna ilo  szumu  w  puli
       losowej  jest  wowczas  poniej iloci szacowanej. Aby przeciwdziala temu
       efektowi, pomocne jest zapamitywanie informacji o puli losowej  pomidzy
       kolejnymi uruchomieniami systemu. Aby dzialo si to automatycznie, naley
       doda nastpujce wiersze do stosownych skryptow startowych Linuksa:

            echo "Inicjowanie generatora liczb losowych w jdrze..."
            random_seed=/var/run/random-seed
            # Przechowanie wartoci losowej od jednego startu systemu
            # do kolejnego startu. Ladujemy, a potem zachowujemy cal
            # pul losow.
            if [ -f $random_seed ]; then
                cat $random_seed >/dev/urandom
            else
                touch $random_seed
            fi
            chmod 600 $random_seed
            poolfile=/proc/sys/kernel/random/poolsize
            [ -r $poolfile ] && bytes=`cat $poolfile` || bytes=512
            dd if=/dev/urandom of=$random_seed count=1 bs=$bytes

       Trzeba  rownie   doda   nastpujce   wiersze   do   stosownego   skryptu
       uruchamianego podczas zamykania systemu Linuksa:

            # Przechowanie losowych danych pomidzy wylczeniem a wyl-
            # czeniem komputera. Zachowywanie puli losowej generatora.
            echo "Zachowywanie danych losowych..."
            random_seed=/var/run/random-seed
            touch $random_seed
            chmod 600 $random_seed
            poolfile=/proc/sys/kernel/random/poolsize
            [ -r $poolfile ] && bytes=`cat $poolfile` || bytes=512
            dd if=/dev/urandom of=$random_seed count=1 bs=$bytes

INTERFEJS PROC

       Pliki  w  katalogu /proc/sys/kernel/random (obecnym od wersji 2.3.16) s
       dodatkowym intefejsem do urzdzenia /dev/random.

       Plik z prawami tylko do  odczytu  entropy_avail  dostarcza  dostpn  pul
       losow. Zazwyczaj bdzie to 4096 (bitow), calo dostpnej puli.

       Plik  poolsize  podaje  rozmiar puli losowej. Zazwyczaj - 512 (bajtow).
       Moe by zmienione na dowoln warto, dla  ktorej  dostpny  jest  algorytm.
       Obecnie moliwe wartoci to: 32, 64, 128, 256, 512, 1024, 2048.

       Plik  read_wakeup_threshold  zawiera liczb bitow entropii potrzebnej do
       obudzenia procesu, ktory zasnl, czekajc na entropi z pliku /dev/random.
       Domylnie   -  64.   Plik  write_wakeup_threshold  zawiera  liczb  bitow
       entropii poniej ktorej zostanie upiony proces,  ktory  wykona  select()
       lub  poll(),  aby  otworzy do zapisu urzdzenie /dev/random.  Wartoci te
       mog by zmienione przez zapis do tych plikow.

       Pliki tylko do odczytu uuid i boot_id zawieraj losowe  lacuchy  znakow,
       takie jak 6fd5a44b-35f4-4ad4-a9b9-6b9be13e1fe9.  Pierwszy z tych plikow
       jest generowany na nowo przy kadym odczycie, a  drugi  jest  generowany
       tylko raz.

PLIKI

       /dev/random
       /dev/urandom

AUTOR

       Generator  liczb losowych w jdrze zostal napisany przez Theodore'a Ts'o
       (tytso@athena.mit.edu).

ZOBACZ TAKE

       mknod (1)
       RFC 1750, "Randomness Recommendations for Security" (Zalecenia dotyczce
       bezpieczestwa losowoci)

INFORMACJE O T/LUMACZENIU

       Powysze  tlumaczenie  pochodzi z nieistniejcego ju Projektu Tlumaczenia
       Manuali i moe nie by aktualne. W razie zauwaenia ronic  midzy  powyszym
       opisem  a  rzeczywistym  zachowaniem  opisywanego programu lub funkcji,
       prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.