What is hybrid encryption? An example of hybrid encryption

Hybrid encryption uses symmetric key cryptography and public key cryptography (PKC) together as part of a protocol run. TLS is an example where this is used.

TLS offers confidentiality of website data sent over HTTP by using the TLS protocol (HTTPS). As website data can be large and public key cryptography is relatively slow to encrypt/decrypt in comparison to symmetric key cryptography, it is cheaper, in computational costs, to use symmetric keys as much as possible.

This is achieved by the client using the public key of a receiver (web server) and encrypting a pseudo randomly generated symmetric key with that public key. The encrypted data is sent to the server, which using its private key retrieves the symmetric key. Therefore going forward all the actual payload data can be encrypted using a symmetric algorithm such as AES (Advanced Encryption Standard)

The reason hybrid encryption is used most commonly is because it allows a secure way to agree on symmetric key, without any prior trust in the person to whom you are communicating. All you need is their public key.

If PKC such as RSA was used to provide encryption to all payload data it would be very slow, and if the data was longer than the ‘block’ length of the RSA (The amount able to work with) then it would need fragmenting into separate encryption processes, adding to computational costs and time.

Comments