Public-key systems have a clear advantage over symmetric algorithms: there is no need to agree on a common key for both the sender and the receiver. As seen in the previous example, if someone wants to receive an encrypted message, the sender only needs to know the receiver's public key (which the receiver will provide; publishing the public key in no way compromises the secure transmission). As long as the receiver keeps the private key secret, no one but the receiver will be able to decrypt the messages encrypted with the corresponding public key. This is due to the fact that, in public-key systems, it is relatively easy to compute the public key from the private key, but very hard to compute the private key from the public key (which is the one everyone knows). In fact, some algorithms need several months (and even years) of constant computation to obtain the private key from the public key.
Another important advantage is that, unlike symmetric algorithms, public-key systems can guarantee integrity and authentication, not only privacy. The basic communication seen above only guarantees privacy. We will shortly see how integrity and authentication fit into public-key systems.
The main disadvantage of using public-key systems is that they are not as fast as symmetric algorithms. Public key algorithms are powerful but this, in turn, adds a computation cost. The amount of Computation needed in public key algorithms is typically several orders of magnitude more than the amount of computation needed for symmetric key algorithms.
Thanks for clearing the difference between both the type of systems and also highlighting which system is more powerful. Now it is evident that the choice of a particular system entirely depends on the level of security needed and cost.
ReplyDeletee signatures