Public key cryptography is a model in which the sender and receiver use different keys for encrypting and decrypting data.