What are the Advantages and Disadvantages of Public-Key Cryptography Compared with Secret-Key Cryptography?
The primary advantage of public-key cryptography is increased security and convenience: private keys never need to transmitted or revealed to anyone. In a secret-key system, by contrast, the secret keys must be transmitted (either manually or through a communication channel), and there may be a chance that an enemy can discover the secret keys during their transmission. Another major advantage of public-key systems is that they can provide a method for digital signatures. Authentication via secret-key systems requires the sharing of some secret and sometimes requires trust of a third party as well. As a result, a sender can repudiate a previously authenticated message by claiming that the shared secret was somehow compromised (see Question 113) by one of the parties sharing the secret. For example, the Kerberos secret-key authentication system (see Question 144) involves a central database that keeps copies of the secret keys of all users; an attack on the database would allow widespre