Redirected from Asymmetric key cryptography
Several asymmetric key algorithms have been developed beginning in the 1970s. One widely-used algorithm is RSA. It uses exponentiation modulo a product of two large primes to encrypt and decrypt. The public key exponent differs from the private key exponenet, and determining one exponent from the other is hard without knowing the primes. Another is ElGamal (developed by Taher ElGamal) which relies on the discrete logarithm problem. A third is a group of algorithms based on elliptic curves.
Note that there is nothing special about asymmetric key algorithms. There are good ones, bad ones, insecure ones, etc. None have been proved 'secure' in the sense the one-time pad has, and some are known to be insecure (ie, easily broken). Some have the public key / private key property in which one of the keys is not deduceable from the other; or so it is believed by knowledgeable observers. Some do not, it having been demonstrated that knowledge of one key gives an attacker the other. As with all cryptographic algorithms, these must be chosen and used with care.
Public-key cryptography can be used for authentication and privacy. A user can encrypt a message with their private key and send this message on. The fact that it can be decrypted by the public key provides assurance that the user sent it. Similarly, PKP can also be used to ensure privacy, a message which is encrypted by the public key can only be decrypted by a person in possession of the private key.
Examples of well regarded asymmetric key algorithms[?] include: