Provided by:
manpages-pl_20060617-3_all 
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.