Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Example using RSA encryption  





2 References  





3 See also  














Key encapsulation mechanism






Català
Deutsch
Français
Italiano
 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


Incryptographic protocols, a key encapsulation mechanism (KEM) or key encapsulation method is used to secure symmetric 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.[1] 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[edit]

Using the same notation employed in the RSA article, say Alice has transmitted her public key (n, e)toBob, 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 (suitably padded for security reasons), for example. The key modulus n is typically 2048 bits or more in length, thus much larger than typical symmetric keys. Without suitable padding, if e is small enough that Me < n, then the encryption can be quickly broken using ordinary integer arithmetic.[2]

To avoid such potential weakness, Bob first maps M to a larger integer m, where 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:

Alice can recover m from c by using her private key exponent d by the following computation:

Given m, she recovers the original key M by reversing the padding scheme.

With KEM the process is simplified as follows:[3]

Instead of generating a random symmetric key M, Bob first generates a random m with 1 < m < n. He derives his symmetric key MbyM = KDF(m), where KDF is a key derivation function, such as a cryptographic hash. He then computes the ciphertext c corresponding to m:

Alice then recovers m from c by using her private key exponent d by the same method as above:

Given m, she can recover the symmetric key MbyM = KDF(m).

The KEM eliminates the complexity of the padding scheme and the proofs needed to show that the padding is secure.[1] Note that while M can be calculated from m in the KEM approach, the reverse is not possible, assuming the key derivation function is a secure one-way function. 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.

Earlier versions of Transport Layer Security used RSA for key exchange, before they were deprecated in favour of the more efficient elliptic-curve cryptography.[4]

Similar techniques are available for Diffie–Hellman key exchange and other public key methods.[5]

References[edit]

  • ^ Key Encapsulation: A New Scheme for Public-Key Encryption XML Security Working Group F2F, May 2009
  • ^ Sullivan, Nick (10 Aug 2018). "A Detailed Look at RFC 8446 (a.k.a. TLS 1.3)". Cloudflare. Archived from the original on 15 Aug 2018.
  • ^ PSEC-KEM for ECC
  • See also[edit]


    Retrieved from "https://en.wikipedia.org/w/index.php?title=Key_encapsulation_mechanism&oldid=1185330307"

    Categories: 
    Public-key encryption schemes
    Key management
     



    This page was last edited on 16 November 2023, at 01:16 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki