Un criptosistem hibrid (sau combinat) este un sistem de criptare care combină avantajele unui criptosistem cu cheie publică cu performanța criptosistemelor simetrice . Criptarea simetrică are o viteză mare și chei scurte, dar necesită transferul unei chei într-o formă protejată, criptarea asimetrică vă permite să transferați o cheie puternică în mod deschis, dar are performanțe scăzute. Într-un sistem hibrid, o cheie simetrică este folosită pentru a cripta datele, iar o cheie asimetrică este folosită pentru a cripta cheia simetrică în sine, altfel se numește ambalare numerică [1] .
Sistemele criptografice profită de două criptosisteme principale: criptografie simetrică și asimetrică . Protocoale precum PGP și TLS sunt construite pe acest principiu .
Principalul dezavantaj al criptografiei asimetrice este viteza redusă din cauza calculelor complexe cerute de algoritmii săi, în timp ce criptografia simetrică arată în mod tradițional viteză mare. Cu toate acestea, criptosistemele simetrice au un dezavantaj semnificativ - utilizarea sa necesită un canal securizat pentru transmiterea cheilor. Pentru a depăși acest neajuns, ei recurg la criptosisteme asimetrice care folosesc o pereche de chei: publică și privată [2] .
Etapa de trimitere:
Etapa de primire:
Majoritatea sistemelor hibride funcționează în felul următor. Pentru un algoritm simetric ( 3DES , IDEA , AES sau orice altceva), este generată o cheie aleatorie de sesiune. O astfel de cheie are de obicei o dimensiune de 128 până la 512 biți (în funcție de algoritm) [3] . Un algoritm simetric este apoi utilizat pentru a cripta mesajul. În cazul criptării bloc , trebuie să utilizați un mod de criptare (de exemplu, CBC), care vă va permite să criptați un mesaj cu o lungime mai mare decât lungimea blocului. În ceea ce privește cheia aleatorie în sine, aceasta trebuie criptată cu cheia publică a destinatarului mesajului și tocmai în această etapă se aplică criptosistemul cu cheie publică ( algoritmul RSA sau Diffie-Hellman ). Deoarece cheia de sesiune este scurtă, este nevoie de puțin timp pentru a o cripta. Criptarea unui set de mesaje folosind un algoritm asimetric este o sarcină mai complexă din punct de vedere computațional, așa că criptarea simetrică este de preferat aici. Apoi este suficient să trimiteți un mesaj criptat cu un algoritm simetric, precum și cheia corespunzătoare sub formă criptată. Destinatarul decriptează mai întâi cheia folosind cheia sa privată , iar apoi folosind cheia primită primește întregul mesaj [3] .