.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (C) 2008, George Spelvin , .\" and Copyright (C) 2008, Matt Mackall .\" and Copyright (C) 2016, Laurent Georget .\" and Copyright (C) 2016, Nikos Mavrogiannopoulos .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" The following web page is quite informative: .\" http://www.2uo.de/myths-about-urandom/ .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH random 7 "10 februarie 2023" "Pagini de manual de Linux 6.05.01" .SH NUME random \- prezentare generală a interfețelor pentru obținerea aleatoriei .SH DESCRIERE Generatorul de numere aleatoare din nucleu se bazează pe entropia colectată de la controlorii de dispozitiv și de la alte surse de zgomot de mediu pentru a alimenta un generator de numere pseudoaleatoare securizat din punct de vedere criptografic (CSPRNG). Acesta este conceput pentru securitate, mai degrabă decât pentru viteză. .PP Următoarele interfețe oferă acces la ieșirile din nucleul CSPRNG: .IP \[bu] 3 Dispozitivele \fI/dev/urandom\fP și \fI/dev/random\fP, ambele descrise în \fBrandom\fP(4). Aceste dispozitive au fost prezente în Linux încă de la început și sunt disponibile și pe multe alte sisteme. .IP \[bu] .\" Apelul de sistem \fBgetrandom\fP(2) specific Linux, disponibil începând cu Linux 3.17. Acest apel de sistem oferă acces fie la aceeași sursă ca și \fI/dev/urandom\fP (denumită sursa \fIurandom\fP în această pagină), fie la aceeași sursă ca și \fI/dev/random\fP (denumită sursa \fIrandom\fP în această pagină). Valoarea implicită este sursa \fIurandom\fP; sursa \fIurandom\fP este selectată prin specificarea fanionului \fBGRND_RANDOM\fP la apelul de sistem; (funcția \fBgetentropy\fP(3) oferă o interfață mai ușor portabilă pe lângă \fBgetrandom\fP(2).) .SS "Inițializarea fondului de entropie" Nucleul colectează biți de entropie din mediul înconjurător. Atunci când a fost colectat un număr suficient de biți aleatori, se consideră că fondul de entropie este inițializat. .SS "Alegerea sursei aleatorii" Cu excepția cazului în care generați chei pe termen lung (și cel mai probabil nici atunci), probabil că nu ar trebui să citiți de pe dispozitivul \fI/dev/random\fP sau să utilizați \fBgetrandom\fP(2) cu fanionul \fBGRND_RANDOM\fP. În schimb, fie citiți de pe dispozitivul \fI/dev/urandom\fP, fie utilizați \fBgetrandom\fP(2) fără fanionul \fBGRND_RANDOM\fP. Algoritmii criptografici utilizați pentru sursa \fIurandom\fP sunt destul de conservatori și, prin urmare, ar trebui să fie suficienți pentru toate scopurile. .PP .\" Dezavantajul \fBGRND_RANDOM\fP și al citirilor din \fI/dev/random\fP este că operația se poate bloca pentru o perioadă nedeterminată de timp. În plus, tratarea cererilor parțial îndeplinite care pot apărea atunci când se utilizează \fBGRND_RANDOM\fP sau când se citește din \fI/dev/random\fP crește complexitatea codului. .SS "Monte Carlo și alte aplicații de eșantionare probabilistică" .\" Utilizarea acestor interfețe pentru a furniza cantități mari de date pentru simulările Monte Carlo sau pentru alte programe/algoritmi care efectuează eșantionări probabilistice va fi lentă. În plus, nu este necesar, deoarece astfel de aplicații nu au nevoie de numere aleatoare sigure din punct de vedere criptografic. În schimb, utilizați interfețele descrise în această pagină pentru a obține o cantitate mică de date pentru a alimenta un generator de numere pseudoaleatoare în spațiul utilizatorului, care să fie utilizat de astfel de aplicații. .SS "Comparație între „getrandom”, „/dev/urandom” și „/dev/random”" Tabelul următor rezumă comportamentul diferitelor interfețe care pot fi utilizate pentru a obține caracterul aleatoriu. \fBGRND_NONBLOCK\fP este un fanion care poate fi utilizat pentru a controla comportamentul de blocare al \fBgetrandom\fP(2). Ultima coloană a tabelului ia în considerare cazul care poate apărea la începutul perioadei de pornire, când fondul de entropie nu este încă inițializat. .ad l .TS allbox; lbw13 lbw12 lbw14 lbw18 l l l l. Interfață Fond T{ Comportament \%de blocare T} T{ Comportamentul atunci când fondul nu este încă disponibil T} T{ \fI/dev/random\fP T} T{ Blocarea fondului T} T{ Dacă entropia este prea mică, se blochează până când există din nou suficientă entropie T} T{ Blochează până când se adună suficientă entropie T} T{ \fI/dev/urandom\fP T} T{ Ieșire CSPRNG T} T{ Nu blochează niciodată T} T{ Returnează ieșirea de la un CSPRNG neinițializat (poate fi cu entropie scăzută și nepotrivită pentru criptografie) T} T{ \fBgetrandom\fP() T} T{ La fel ca \fI/dev/urandom\fP T} T{ Nu se blochează odată ce este disponibil fondul T} T{ Blochează până când este disponibil fondul T} T{ \fBgetrandom\fP() \fBGRND_RANDOM\fP T} T{ La fel ca \fI/dev/random\fP T} T{ Dacă entropia este prea mică, se blochează până când există din nou suficientă entropie T} T{ Blochează până când este disponibil fondul T} T{ \fBgetrandom\fP() \fBGRND_NONBLOCK\fP T} T{ La fel ca \fI/dev/urandom\fP T} T{ Nu se blochează odată ce este disponibil fondul T} T{ \fBEAGAIN\fP T} T{ \fBgetrandom\fP() \fBGRND_RANDOM\fP + \fBGRND_NONBLOCK\fP T} T{ La fel ca \fI/dev/random\fP T} T{ \fBEAGAIN\fP dacă nu este disponibilă suficientă entropie T} T{ \fBEAGAIN\fP T} .TE .ad .\" .SS "Generarea cheilor criptografice" Cantitatea de material de sămânță necesară pentru a genera o cheie criptografică este egală cu dimensiunea efectivă a cheii. De exemplu, o cheie privată RSA sau Diffie\-Hellman pe 3072 de biți are o dimensiune efectivă a cheii de 128 de biți (este nevoie de aproximativ 2\[ha]128 de operații pentru a o sparge), astfel încât un generator de chei are nevoie doar de 128 de biți (16 octeți) de material de sămânță din \fI/dev/random\fP. .PP .\" În timp ce o anumită marjă de siguranță peste acest minim este rezonabilă, ca o protecție împotriva defectelor din algoritmul CSPRNG, nicio primitivă criptografică disponibilă în prezent nu poate spera să promită mai mult de 256 de biți de securitate, astfel încât, dacă un program citește mai mult de 256 de biți (32 de octeți) din fondul aleatoriu al nucleului la fiecare invocare sau la un interval rezonabil de reînsămânțare (nu mai puțin de un minut), acest lucru ar trebui considerat ca un semn că criptografia sa nu este implementată cu pricepere. .SH "CONSULTAȚI ȘI" \fBgetrandom\fP(2), \fBgetauxval\fP(3), \fBgetentropy\fP(3), \fBrandom\fP(4), \fBurandom\fP(4), \fBsignal\fP(7) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .