.\" -*- coding: UTF-8 -*- .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .de IX .. .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .if n .ds AD l .\" .\" Required to disable full justification in groff 1.23.0. .\" ======================================================================== .\" .IX Titlu "BN_RAND 3ssl" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH BN_RAND 3ssl "5 august 2025" 3.5.2 OpenSSL .if n .ad l .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .nh .SH NUME BN_rand_ex, BN_rand, BN_priv_rand_ex, BN_priv_rand, BN_pseudo_rand, BN_rand_range_ex, BN_rand_range, BN_priv_rand_range_ex, BN_priv_rand_range, BN_pseudo_rand_range \&\- generate pseudo\-random number .SH SINOPSIS .IX Antet SINOPSIS .Vb 1 \& #include \& \& int BN_rand_ex(BIGNUM *rnd, int bits, int top, int bottom, \& unsigned int strength, BN_CTX *ctx); \& int BN_rand(BIGNUM *rnd, int bits, int top, int bottom); \& \& int BN_priv_rand_ex(BIGNUM *rnd, int bits, int top, int bottom, \& unsigned int strength, BN_CTX *ctx); \& int BN_priv_rand(BIGNUM *rnd, int bits, int top, int bottom); \& \& int BN_rand_range_ex(BIGNUM *rnd, const BIGNUM *range, unsigned int strength, \& BN_CTX *ctx); \& int BN_rand_range(BIGNUM *rnd, const BIGNUM *range); \& \& int BN_priv_rand_range_ex(BIGNUM *rnd, const BIGNUM *range, unsigned int strength, \& BN_CTX *ctx); \& int BN_priv_rand_range(BIGNUM *rnd, const BIGNUM *range); .Ve .PP Următoarele funcții au fost depreciate de la OpenSSL 3.0 și pot fi ascunse complet prin definirea \fBOPENSSL_API_COMPAT\fP cu o valoare de versiune adecvată, a se vedea \fBopenssl_user_macros\fP\|(7): .PP .Vb 2 \& int BN_pseudo_rand(BIGNUM *rnd, int bits, int top, int bottom); \& int BN_pseudo_rand_range(BIGNUM *rnd, const BIGNUM *range); .Ve .SH DESCRIERE .IX Antet DESCRIERE \&\fBBN_rand_ex()\fP generează un număr pseudoaleatoriu puternic din punct de vedere criptografic, cu lungimea \fIbits\fP și o putere de securitate de cel puțin \fIstrength\fP biți, utilizând generatorul de numere aleatorii pentru contextul bibliotecii asociat cu \&\fIctx\fP. Funcția stochează datele generate în \fIrnd\fP. Parametrul \fIctx\fP poate fi NULL, caz în care se utilizează contextul bibliotecii implicite. Dacă \fIbits\fP este mai mic decât zero sau prea mic pentru a satisface cerințele specificate de parametrii \fItop\fP și \fIbottom\fP, se returnează o eroare. Parametrul \fItop\fP specifică cerințele privind cel mai semnificativ bit al numărului generat. Dacă este \fBBN_RAND_TOP_ANY\fP, nu există nicio constrângere. Dacă este \fBBN_RAND_TOP_ONE\fP, bitul superior trebuie să fie unu. Dacă este \fBBN_RAND_TOP_TWO\fP, cei doi biți cei mai semnificativi ai numărului vor fi setați la 1, astfel încât produsul a două astfel de numere aleatorii să aibă întotdeauna lungimea 2*\fIbits\fP. Dacă \fIbottom\fP este \fBBN_RAND_BOTTOM_ODD\fP, numărul va fi impar; dacă este \fBBN_RAND_BOTTOM_ANY\fP, poate fi impar sau par. Dacă \fIbits\fP este 1, atunci \fItop\fP nu poate fi de asemenea \fBBN_RAND_TOP_TWO\fP. .PP \&\fBBN_rand()\fP este identic cu \fBBN_rand_ex()\fP, cu excepția faptului că se utilizează întotdeauna contextul bibliotecii implicite. .PP \&\fBBN_rand_range_ex()\fP generează un număr pseudoaleatoriu puternic din punct de vedere criptografic \fIrnd\fP, cu un nivel de securitate de cel puțin \fIstrength\fP biți, în intervalul 0 <= \fIrnd\fP < \fIrange\fP, utilizând generatorul de numere aleatorii pentru contextul bibliotecii asociat cu \fIctx\fP. Parametrul \fIctx\fP poate fi NULL, caz în care se utilizează contextul bibliotecii implicite. .PP \&\fBBN_rand_range()\fP este identic cu \fBBN_rand_range_ex()\fP, cu excepția faptului că se utilizează întotdeauna contextul bibliotecii implicite. .PP \&\fBBN_priv_rand_ex()\fP, \fBBN_priv_rand()\fP, \fBBN_priv_rand_rand_ex()\fP și \&\fBBN_priv_rand_range()\fP au aceeași semantică ca \fBBN_rand_ex()\fP, \fBBN_rand()\fP, \&\fBBN_rand_range_ex()\fP și \fBBN_rand_range()\fP, respectiv. Acestea sunt destinate utilizării pentru generarea de valori care trebuie să rămână private și reflectă aceeași diferență dintre \fBRAND_bytes\fP\|(3) și \fBRAND_priv_bytes\fP\|(3). .SH NOTE .IX Antet NOTE Verificați întotdeauna valoarea de returnare a erorii acestor funcții și nu considerați randomizarea ca fiind ceva de la sine înțeles: apare o eroare dacă CSPRNG nu a fost inițializat cu un suficient nivel aleatoriu pentru a asigura o secvență de octeți imprevizibilă. .SH "VALORI RETURNATE" .IX Antet "VALORI RETURNATE" Funcțiile returnează 1 în caz de succes, 0 în caz de eroare. Codurile de eroare pot fi obținute prin \fBERR_get_error\fP\|(3). .SH "CONSULTAȚI ȘI" .IX Antet "CONSULTAȚI ȘI" \&\fBERR_get_error\fP\|(3), \&\fBRAND_add\fP\|(3), \&\fBRAND_bytes\fP\|(3), \&\fBRAND_priv_bytes\fP\|(3), \&\fBRAND\fP\|(7), \&\fBEVP_RAND\fP\|(7) .SH ISTORIC .IX Antet ISTORIC .IP \(bu 2 Începând cu versiunea 1.1.0 a OpenSSL, \fBBN_pseudo_rand()\fP este identică cu \fBBN_rand()\fP, iar \fBBN_pseudo_rand_range()\fP este identică cu \&\fBBN_rand_range()\fP. Funcțiile \fBBN_pseudo_rand()\fP și \fBBN_pseudo_rand_range()\fP au fost definite ca învechite în OpenSSL 3.0. .IP \(bu 2 Funcțiile \fBBN_priv_rand()\fP și \fBBN_priv_rand_range()\fP au fost adăugate în OpenSSL 1.1.1. .IP \(bu 2 Funcțiile \fBBN_rand_ex()\fP, \fBBN_priv_rand_ex()\fP, \fBBN_rand_range_ex()\fP și \&\fBBN_priv_rand_range_ex()\fP au fost adăugate în OpenSSL 3.0. .SH "DREPTURI DE AUTOR" .IX Antet "DREPTURI DE AUTOR" Drepturi de autor 2000\-2022 The OpenSSL Project Authors. Toate drepturile rezervate. .PP Licențiat sub Licența Apache 2.0 („License”). Nu aveți voie să utilizați acest fișier decât în conformitate cu licența. Puteți obține o copie din fișierul LICENSE din distribuția sursei sau de la . .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 .