In such a system, any person can encrypt a message using the intended receiver’s public key, but that encrypted message can only be decrypted with the receiver’s private key. This allows, for instance, a serverprogram to generate a cryptographic key intended for suitable symmetric-key cryptography, then to use a client’s openly shared public key to encrypt that newly generated symmetric key.
With public-key cryptography, robust authenticationis also possible. A sender can combine a message with a private key to create a short digital signature on the message.
Example of usage – “Public key algorithms are fundamental security primitives in modern cryptosystems, including applications and protocols which offer assurance of the confidentiality, authenticity, and non-reputability of electronic communications and data storage.”