Public and Private Keys: How Asymmetric Cryptography Works