Secure Authentication Protocol and Key Agreement for Mobile Networks Using Public-Key Cryptography