HOME

TheInfoList



OR:

In
cryptographic protocols A security protocol (cryptographic protocol or encryption protocol) is an abstract or concrete protocol that performs a security-related function and applies cryptographic methods, often as sequences of cryptographic primitives. A protocol descr ...
, a key encapsulation mechanism (KEM) is used to secure
symmetric Symmetry (from grc, συμμετρία "agreement in dimensions, due proportion, arrangement") in everyday language refers to a sense of harmonious and beautiful proportion and balance. In mathematics, "symmetry" has a more precise definiti ...
key material for transmission using asymmetric (public-key) algorithms. It is commonly used in hybrid cryptosystems. In practice, public key systems are clumsy to use in transmitting long messages. Instead they are often used to exchange symmetric keys, which are relatively short. The symmetric key is then used to encrypt the longer message. The traditional approach to sending a symmetric key with public key systems is to first generate a random symmetric key and then encrypt it using the chosen public key algorithm. The recipient then decrypts the public key message to recover the symmetric key. As the symmetric key is generally short, padding is required for full security and proofs of security for padding schemes are often less than complete.An OAEP Variant With a Tight Security Proof – Draft 1.0
Jakob Jonsson, 2002
KEMs simplify the process by generating a random element in the finite group underlying the public key system and deriving the symmetric key by hashing that element, eliminating the need for padding.


Example using RSA encryption

Using the same notation employed in the RSA system article, say Alice has transmitted her public key (n, e) to
Bob Bob, BOB, or B.O.B. may refer to: Places * Mount Bob, New York, United States *Bob Island, Palmer Archipelago, Antarctica People, fictional characters, and named animals *Bob (given name), a list of people and fictional characters *Bob (surname ...
, while keeping her private key secret, as usual. Bob then wishes to send symmetric key M to Alice. M might be a 128 or 256-bit AES key, for example. Note that the public key n is typically 2048-bits or even longer, thus much larger than typical symmetric keys. If e is small enough that M^, then the encryption can be quickly broken using ordinary integer arithmetic. To avoid such potential weakness, Bob first turns M into a larger integer 1 < m < n by using an agreed-upon reversible protocol known as a padding scheme, such as OAEP. He then computes the ciphertext c corresponding to: : c \equiv m^e \pmod. Alice can recover m from c by using her private key exponent d by the following computation: : m \equiv c^d \pmod. Given m, she recovers the original message M by reversing the padding scheme. With KEM the process is simplified as follows: Instead of generating a random symmetric key M, Bob first generates a random m with 1 < m < n. He derives his symmetric key M by M = KDF(m), where KDF is a key derivation function, such as a
cryptographic hash A cryptographic hash function (CHF) is a hash algorithm (a map of an arbitrary binary string to a binary string with fixed size of n bits) that has special properties desirable for cryptography: * the probability of a particular n-bit output ...
. He then computes the ciphertext c corresponding to m: : c \equiv m^e \pmod. Alice then recovers m from c by using her private key exponent d by the same method as above: : m \equiv c^d \pmod. Given m, she can recover the symmetric key M by M = KDF(m). The KEM eliminates the complexity of the padding scheme and the proofs needed to show the padding is secure. Note that while M can be calculated from m in the KEM approach, the reverse is not possible, assuming the key derivation function is one-way. An attacker who somehow recovers M cannot get the plaintext m. With the padding approach, he can. Thus KEM is said to encapsulate the key. Note that if the same m is used to encapsulate keys for e or more recipients, and the receivers share the same exponent e, but different p, q and n, then one can recover m via the Chinese remainder theorem. Thus, if key encapsulations for several recipients need to be computed, independent values m should be used. Similar techniques are available for Diffie-Hellman key exchange and other public key methods.PSEC-KEM
for ECC


References


See also

* Key Wrap * Optimal Asymmetric Encryption Padding * Hybrid Cryptosystem {{DEFAULTSORT:Key encapsulation Public-key encryption schemes Key management