advantages of public key cryptography over symmetric key cryptography