Public key infrastructure
As we have seen, all encryption methods require a handshaking phase before the actual transmission to decide the the algorithms and keys to be used. This is probably the single most risky moment of the whole communication. In fact, today the majority of hackers direct their efforts at breaking this initial communication. The single biggest challenge in this phase is to be sure that you are talking directly to the person/machine you want to talk to, and you don't have anything in the middle performing a man-in-the-middle attack. If you know the other party, it is a straightforward procedure since you already have the other party's public key. On the other hand, if you do not know the other party, you should be able to trust that the other party is really who they claim to be. An example of a daily situation where this happens is when you want to reach a website for the first time. To solve this, the Public key infrastructure (PKI) is needed.
The PKI allows two parties...