Private-key cryptography