EVP(7ssl) OpenSSL EVP(7ssl) NUME evp - funcii criptografice de nivel inalt SINOPSIS #include DESCRIERE Biblioteca EVP ofera o interfaa la nivel inalt pentru funciile criptografice. Funciile EVP_SealXXX i EVP_OpenXXX ofera criptare i decriptare cu cheie publica pentru a implementa ,,plicuri" digitale. Funciile EVP_DigestSignXXX i EVP_DigestVerifyXXX implementeaza semnaturi digitale i coduri de autentificare a mesajelor (MAC). Consultai i funciile mai vechi EVP_SignXXX i EVP_VerifyXXX. Criptarea simetrica este disponibila cu funciile EVP_EncryptXXX. Funciile EVP_DigestXXX furnizeaza sumele de control ale mesajelor. Funciile EVP_PKEYXXX ofera o interfaa de nivel inalt pentru algoritmii asimetrici. Pentru a crea un EVP_PKEY noua, consultai EVP_PKEY_new(3). EVP_PKEY-urile pot fi asociate cu o cheie privata a unui anumit algoritm utilizand funciile descrise pe pagina EVP_PKEY_fromdata(3) sau pot fi generate noi chei utilizand EVP_PKEY_keygen(3). EVP_PKEY-urile pot fi comparate utilizand EVP_PKEY_eq(3) sau imprimate utilizand EVP_PKEY_print_private(3). EVP_PKEY_todata(3) poate fi utilizat pentru a converti din nou o cheie intr-o matrice OSSL_PARAM(3). Funciile EVP_PKEY suporta intreaga gama de operaii ale algoritmului asimetric: Pentru acordul de chei, a se vedea EVP_PKEY_derive(3) Pentru semnare i verificare, a se vedea EVP_PKEY_sign(3), EVP_PKEY_verify(3) i EVP_PKEY_verify_recover(3). Cu toate acestea, reinei ca aceste funcii nu efectueaza o calculare a sumelor de control ale datelor care urmeaza sa fie semnate. Prin urmare, in mod normal ar trebui sa utilizai funciile EVP_DigestSignInit(3) in acest scop. Pentru criptare i decriptare, consultai EVP_PKEY_encrypt(3) i respectiv EVP_PKEY_decrypt(3). Cu toate acestea, reinei ca aceste funcii efectueaza doar criptarea i decriptarea. Deoarece criptarea cu cheie publica este o operaie costisitoare, in mod normal ai include un mesaj criptat intr-un ,,plic digital" utilizand funciile EVP_SealInit(3) i EVP_OpenInit(3). Funcia EVP_BytesToKey(3) ofera un suport limitat pentru criptarea pe baza de parola. Selectarea atenta a parametrilor va oferi o implementare compatibila cu PKCS#5 PBKDF1. Cu toate acestea, noile aplicaii nu ar trebui sa utilizeze in mod obinuit aceasta funcie (preferand, de exemplu, PBKDF2 din PCKS#5). Funciile EVP_EncodeXXX i EVP_DecodeXXX implementeaza codificarea i decodificarea base64. Toi algoritmii simetrici (cifruri), sumele de control calculate i algoritmii asimetrici (algoritmi cu cheie publica) pot fi inlocuii de module MOTOR (ENGINE) care ofera implementari alternative. Daca implementarile MOTOR ale cifrelor sau ale sumelor de control sunt inregistrate ca valori implicite, diferitele funcii EVP vor utiliza automat aceste implementari, cu prioritate faa de implementarile software integrate. Pentru mai multe informaii, consultai pagina de manual engine(3). Dei exista funcii specifice algoritmilor de nivel scazut pentru muli algoritmi, utilizarea lor este descurajata. Acestea nu pot fi utilizate cu un MOTOR (ENGINE) i versiunile MOTOR ale noilor algoritmi nu pot fi accesate utilizand funciile de nivel scazut. De asemenea, acest lucru ingreuneaza adaptarea codului la noi algoritmi i unele opiuni nu sunt acceptate in mod clar la nivel scazut, iar unele operaii sunt mai eficiente utilizand interfaa de nivel inalt. CONSULTAI I EVP_DigestInit(3), EVP_EncryptInit(3), EVP_OpenInit(3), EVP_SealInit(3), EVP_DigestSignInit(3), EVP_SignInit(3), EVP_VerifyInit(3), EVP_EncodeInit(3), EVP_PKEY_new(3), EVP_PKEY_fromdata(3), EVP_PKEY_todata(3), EVP_PKEY_keygen(3), EVP_PKEY_print_private(3), EVP_PKEY_decrypt(3), EVP_PKEY_encrypt(3), EVP_PKEY_sign(3), EVP_PKEY_verify(3), EVP_PKEY_verify_recover(3), EVP_PKEY_derive(3), EVP_BytesToKey(3), ENGINE_by_id(3) DREPTURI DE AUTOR Drepturi de autor 2000-2024 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(7ssl)