Ett hybrid (eller kombinerat) kryptosystem är ett krypteringssystem som kombinerar fördelarna med ett kryptosystem med publik nyckel med prestanda hos symmetriska kryptosystem . Symmetrisk kryptering har en hög hastighet och korta nycklar, men kräver överföring av en nyckel i skyddad form, asymmetrisk kryptering gör att du kan överföra en stark nyckel öppet, men har låg prestanda. I ett hybridsystem används en symmetrisk nyckel för att kryptera data, och en asymmetrisk nyckel används för att kryptera själva den symmetriska nyckeln, annars kallas det numerisk paketering [1] .
Kryptografiska system drar fördel av två huvudsakliga kryptosystem: symmetrisk och asymmetrisk kryptografi. Protokoll som PGP och TLS bygger på denna princip .
Den största nackdelen med asymmetrisk kryptografi är låg hastighet på grund av de komplexa beräkningar som krävs av dess algoritmer, medan symmetrisk kryptografi traditionellt visar hög hastighet. Symmetriska kryptosystem har dock en betydande nackdel - dess användning kräver en säker kanal för nyckelöverföring. För att övervinna denna brist tillgriper de asymmetriska kryptosystem som använder ett par nycklar: offentliga och privata [2] .
Sändningsstadiet:
Mottagningsstadiet:
De flesta hybridsystem fungerar på följande sätt. För en symmetrisk algoritm ( 3DES , IDEA , AES eller vad som helst) genereras en slumpmässig sessionsnyckel. En sådan nyckel har vanligtvis en storlek på 128 till 512 bitar (beroende på algoritmen) [3] . En symmetrisk algoritm används sedan för att kryptera meddelandet. I fallet med blockkryptering måste du använda ett krypteringsläge (till exempel CBC), vilket gör att du kan kryptera ett meddelande med en längd som är större än blocklängden. När det gäller själva slumpnyckeln måste den krypteras med den publika nyckeln för mottagaren av meddelandet, och det är i detta skede som kryptosystemet för den offentliga nyckeln ( RSA eller Diffie-Hellman-algoritmen ) tillämpas. Eftersom sessionsnyckeln är kort tar det lite tid att kryptera den. Att kryptera en uppsättning meddelanden med en asymmetrisk algoritm är en beräkningsmässigt mer komplex uppgift, så symmetrisk kryptering är att föredra här. Då räcker det att skicka ett meddelande krypterat med en symmetrisk algoritm, samt motsvarande nyckel i krypterad form. Mottagaren dekrypterar först nyckeln med sin privata nyckel , och med den mottagna nyckeln tar han emot hela meddelandet [3] .