Public-key cryptography

Public-key cryptography, or asymmetric cryptography, is a cryptographic system that uses pairs of keys : public keys (which may be known to others), and private keys (which may never be known by any except the owner). The generation of such key pairs depends on cryptographic algorithms which are based on mathematical problems termed one-way functions . Effective security requires keeping the private key private; and the public key can be openly distributed without compromising security. Source

Description #

Symmetric-key encryption has one serious weakness: anyone who gets a hold of the key can encrypt or decrypt data with it. We’re forced to send the key to the recipient in one way or another.

One solution to this problem, is to use two different keys. One to encrypt and one to decrypt.

  • Public-key cryptography
    • Two keys generated, public & private
    • Data encrypted with the public key, requires the private key for decryption and vice versa.
    • Today this works by encrypting a symmetric key with a public key and then decrypting the symmetric key with a private key.
    • RSA is the most common implementation