is a cryptographic technique that allows two parties to communicate securely without sharing a secret key.
- it uses a pair of keys: a public and a private key.
- the public key is distributed to anyone to encrypt data.
- the private key is the only one used to decrypt, by the owner.
- the private key can be used to sign data, and the public can verify the signature.
- used in blockchain, emails, digital signatures, and authentication
- It uses trapdoor functions (easy to compute in one direction, difficult in the opposite).
- pros: authentication, non-repudiation, detection of tampering
- cons: slow, risk of losing the private key, public keys are not authenticated.