EVP_BYTESTOKEY(3ssl) OpenSSL EVP_BYTESTOKEY(3ssl) NUME EVP_BytesToKey - rutina de criptare pe baza de parola SINOPSIS #include int EVP_BytesToKey(const EVP_CIPHER *type, const EVP_MD *md, const unsigned char *salt, const unsigned char *data, int datal, int count, unsigned char *key, unsigned char *iv); DESCRIERE EVP_BytesToKey() deriva o cheie i un IV din diferii parametri. type este cifrul pentru care se deriva cheia i IV. md este suma de control a mesajului care trebuie utilizata. Parametrul salt este utilizat ca sare in obinere: trebuie sa indice un tampon de 8 octei sau NULL daca nu se utilizeaza nicio sare. data este un tampon care conine datal octei i care este utilizat pentru obinerea datelor de creare a cheilor. count este numarul de iteraii de utilizat. Cheia i IV obinute vor fi scrise in key i, respectiv, iv. NOTE O aplicaie tipica a acestei funcii este obinerea materialului de chei pentru un algoritm de criptare dintr-o parola din parametrul data. Creterea valorii parametrului count incetinete algoritmul, ceea ce face mai dificil pentru un atacator sa efectueze un atac prin fora bruta folosind un numar mare de parole candidate. Daca lungimea totala a cheii i a IV este mai mica decat lungimea sumei de control i se utilizeaza MD5, atunci algoritmul de obinere este compatibil cu PKCS#5 v1.5, altfel se utilizeaza o extensie non-standard pentru a obine datele suplimentare. Aplicaiile mai noi ar trebui sa utilizeze un algoritm mai modern, cum ar fi PBKDF2 definit in PKCS#5v2.1 i furnizat de PKCS5_PBKDF2_HMAC. ALGORITM DE OBINERE A CHEILOR Cheia i IV sunt obinute prin concatenarea D_1, D_2 etc. pana cand sunt disponibile suficiente date pentru cheie i IV. D_i este definit ca: D_i = HASH^count(D_(i-1) || data || salt) unde || denota concatenarea, D_0 este gol, HASH este algoritmul de suma de control utilizat, HASH^1(data) este un simplu HASH(data), HASH^2(data) este HASH(HASH(data)) i aa mai departe. Octeii iniiali sunt utilizai pentru cheie, iar octeii urmatori pentru IV. VALORI RETURNATE Daca data este NULL, atunci EVP_BytesToKey() returneaza numarul de octei necesar pentru a stoca cheia obinuta. In caz contrar, EVP_BytesToKey() returneaza dimensiunea cheii obinute in octei sau 0 in caz de eroare. CONSULTAI I evp(7), RAND_bytes(3), PKCS5_PBKDF2_HMAC(3), EVP_EncryptInit(3) DREPTURI DE AUTOR Drepturi de autor 2000-2016 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 EVP_BYTESTOKEY(3ssl)