!!! Overview
[{$pagename}] is one which combines the convenience of a [Public Key Cryptography] with the efficiency of a [Symmetric Key Cryptography].


[Public Key Cryptography] is convenient in that they do not require the sender and receiver to share a common secret in order to communicate securely (among other useful properties). However, they often rely on complicated mathematical computations and are thus generally much more inefficient than comparable [Symmetric Key Cryptography]. In many [applications], the high cost of encrypting long messages in a [Public Key Cryptography] can be prohibitive. This is addressed by hybrid systems by using a combination of both.

[{$pagename}] can be constructed using any two separate cryptosystems:
* a [Key Encapsulation Method], which uses [Public Key Cryptography]
* a [Data Encapsulation Method], which uses [Symmetric Key Cryptography].
[{$pagename}] is itself a public-key system, whose [Public Keys] and [Private Keys] are the same as in the [key] encapsulation scheme.

Note that for very long messages the bulk of the work in encryption/decryption is done by the more efficient [Symmetric Key Cryptography] scheme, while the less efficient [Public Key Cryptography] scheme is used only to encrypt/decrypt a short key value.

All practical [implementations] of [Public Key Cryptography] today employ the use of a [{$pagename}]. [Examples] include the [TLS] protocol which uses a [Public Key] mechanism for [Key-Exchange] (such as [Diffie-Hellman]) and a [Symmetric Key] mechanism for [data] encapsulation (such as [AES]). \\
The [OpenPGP] ([RFC 4880]) file format and the [PKCS7] ([RFC 2315]) file format are other [examples].

!! [Example] [User Story]
To [encrypt] a message addressed to [Alice] in a [{$pagename}], [Bob] does the following:
* Obtains [Alice]'s [Public Key].
* Generates a fresh [Symmetric Key] for the [data] encapsulation scheme.
* [Encrypts] the [message] under the [data] encapsulation scheme, using the [Symmetric Key] just generated.
* [Encrypt] the [Symmetric Key] under the [KeyEncipherment] scheme, using [Alice]'s public key.
* Send both of these [encryptions] to [Alice].

For [Decryption] this hybrid [ciphertext], [Alice] does the following:
* Uses her [Private Key] for [Decryption] with the [Symmetric Key] contained in the [key] encapsulation segment.
* Uses this [Symmetric Key] for [Decryption] the [message] contained in the [data] encapsulation segment.

!! More Information
There might be more information for this subject on one of the following:
[{ReferringPagesPlugin before='*' after='\n' }]