RAND_ADD(3ssl) OpenSSL RAND_ADD(3ssl) NUME RAND_add, RAND_poll, RAND_seed, RAND_status, RAND_event, RAND_screen, RAND_keep_random_devices_open - adauga caracter aleatoriu la PRNG sau obine starea acestuia SINOPSIS #include int RAND_status(void); int RAND_poll(); void RAND_add(const void *buf, int num, double randomness); void RAND_seed(const void *buf, int num); void RAND_keep_random_devices_open(int keep); Urmatoarele funcii au fost depreciate incepand cu OpenSSL 1.1.0 i pot fi ascunse complet prin definirea OPENSSL_API_COMPAT cu o valoare de versiune adecvata, consultai openssl_user_macros(7): int RAND_event(UINT iMsg, WPARAM wParam, LPARAM lParam); void RAND_screen(void); DESCRIERE Aceste funcii pot fi utilizate pentru a iniializa generatorul aleatoriu i pentru a verifica starea sa iniiala. In general, (re)iniializarea manuala a generatorului aleatoriu OpenSSL implicit (RAND_OpenSSL(3)) nu este necesara (dar este permisa), deoarece acesta se (re)iniializeaza automat utilizand surse de entropie de incredere ale sistemului. Acest lucru este valabil cu excepia cazului in care metoda RAND_METHOD implicita a fost inlocuita sau OpenSSL a fost construit cu reiniializarea automata dezactivata, consultai RAND(7) pentru mai multe detalii. RAND_status() indica daca generatorul aleatoriu a fost suficient iniializat. Daca nu, funcii precum RAND_bytes(3) vor eua. RAND_poll() utilizeaza capacitaile sistemului pentru a iniializa generatorul aleatoriu folosind date aleatorii obinute din sondarea diverselor surse de entropie de incredere. Alegerea implicita a sursei de entropie poate fi modificata in momentul compilarii, pentru mai multe detalii consultai RAND(7). RAND_add() amesteca num octei din buf in starea interna a generatorului aleatoriu. Aceasta funcie nu va fi necesara in mod normal, aa cum s-a menionat mai sus. Argumentul randomness este o estimare a cantitaii de elemente aleatorii coninute in buf, in octei, i trebuie sa fie un numar intre zero i num. Detalii despre sursele de aleatoriu i modul de estimare a caracterului aleatoriu al acestora pot fi gasite in literatura de specialitate; de exemplu [NIST SP 800-90B]. Coninutul buf nu poate fi recuperat din ieirea ulterioara a generatorului aleatoriu. Aplicaiile care intenioneaza sa salveze i sa restaureze starea aleatorie intr-un fiier extern ar trebui sa ia in considerare utilizarea RAND_load_file(3) in schimb. NOTA: In modul FIPS, datele aleatorii furnizate de aplicaie nu sunt considerate o sursa de entropie de incredere. Acestea sunt amestecate in starea interna a RNG doar ca date suplimentare i nu sunt considerate o reiniializare completa. Pentru mai multe detalii, consultai EVP_RAND(7). RAND_seed() este echivalenta cu RAND_add() cu randomness stabilit la num. RAND_keep_random_devices_open() este utilizata pentru a controla utilizarea descriptorilor de fiiere de catre sursele de semine aleatorii. Unele surse de semine menin descriptorii de fiiere deschii in mod implicit, ceea ce permite acestor surse sa funcioneze intr-o celula chroot(2) fara ca nodurile de dispozitive asociate sa fie disponibile. Cand argumentul keep este zero, aceasta apelare dezactiveaza pastrarea descriptorilor de fiiere. In schimb, un argument diferit de zero activeaza pastrarea descriptorilor de fiiere. Aceasta funcie este de obicei apelata in timpul iniializarii i are efect imediat. Aceasta capacitate se aplica numai furnizorului implicit. RAND_event() i RAND_screen() sunt echivalente cu RAND_poll() i exista doar din motive de compatibilitate. Consultai seciunea ISTORIC de mai jos. VALORI RETURNATE RAND_status() returneaza 1 daca generatorul aleatoriu a fost insamanat cu suficiente date, 0 in caz contrar. RAND_poll() returneaza 1 daca a generat date iniiale, 0 in caz contrar. RAND_event() returneaza RAND_status(). Celelalte funcii nu returneaza valori. CONSULTAI I RAND_bytes(3), RAND_egd(3), RAND_load_file(3), RAND(7) EVP_RAND(7) ISTORIC RAND_event() i RAND_screen() au fost depreciate in OpenSSL 1.1.0 i nu ar trebui utilizate. DREPTURI DE AUTOR Drepturi de autor 2000-2020 The OpenSSL Project Authors. Toate drepturile rezervate. Liceniat sub Licena Apache 2.0 (,,License"). Nu avei voie sa utilizai acest fiier decat in conformitate cu licena. Putei obine o copie din fiierul LICENSE din distribuia sursei sau de la . TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . 3.5.2 5 august 2025 RAND_ADD(3ssl)