A hibrid (vagy kombinált) kriptorendszer egy olyan titkosítási rendszer, amely egyesíti a nyilvános kulcsú kriptorendszer előnyeit a szimmetrikus titkosítási rendszerek teljesítményével . A szimmetrikus titkosítás nagy sebességgel és rövid kulcsokkal rendelkezik, de megköveteli a kulcs átvitelét védett formában, az aszimmetrikus titkosítás lehetővé teszi az erős kulcs nyílt átvitelét, de alacsony a teljesítménye. Hibrid rendszerben szimmetrikus kulcsot használnak az adatok titkosítására, aszimmetrikus kulcsot pedig magának a szimmetrikus kulcsnak a titkosítására, egyébként ezt numerikus csomagolásnak nevezik [1] .
A kriptográfiai rendszerek két fő kriptográfiai rendszer előnyeit használják ki: a szimmetrikus és az aszimmetrikus titkosítást. Az olyan protokollok, mint a PGP és a TLS , erre az elvre épülnek .
Az aszimmetrikus kriptográfia fő hátránya az algoritmusai által megkövetelt bonyolult számítások miatti alacsony sebesség, míg a szimmetrikus kriptográfia hagyományosan nagy sebességet mutat. A szimmetrikus kriptorendszereknek azonban van egy jelentős hátránya – használatuk biztonságos csatornát igényel a kulcsátvitelhez. Ennek a hiányosságnak a kiküszöbölésére aszimmetrikus kriptorendszerekhez folyamodnak, amelyek egy pár kulcsot használnak: nyilvános és privát [2] .
Küldési szakasz:
Fogadási szakasz:
A legtöbb hibrid rendszer a következő módon működik. Egy szimmetrikus algoritmushoz ( 3DES , IDEA , AES vagy bármi más) egy véletlenszerű munkamenet-kulcs generálódik. Egy ilyen kulcs mérete általában 128-512 bit (algoritmustól függően) [3] . Ezután egy szimmetrikus algoritmust használnak az üzenet titkosításához. Blokktitkosítás esetén olyan titkosítási módot kell használnia (például CBC), amely lehetővé teszi a blokkhossznál nagyobb hosszúságú üzenet titkosítását. Ami magát a véletlen kulcsot illeti, azt az üzenet címzettjének nyilvános kulcsával kell titkosítani, és ebben a szakaszban kerül alkalmazásra a nyilvános kulcsú titkosítási rendszer ( RSA vagy Diffie-Hellman algoritmus ). Mivel a munkamenet kulcsa rövid, egy kis időt vesz igénybe a titkosítása. Egy üzenetkészlet titkosítása aszimmetrikus algoritmussal számításilag összetettebb feladat, ezért itt a szimmetrikus titkosítást kell előnyben részesíteni. Ekkor elég egy szimmetrikus algoritmussal titkosított üzenetet, valamint a hozzá tartozó kulcsot titkosított formában elküldeni. A címzett először a titkos kulcsával dekódolja a kulcsot , majd a kapott kulcs segítségével megkapja a teljes üzenetet [3] .