Suppose that Eve runs a key server. Alice downloads a key from the key server which Eve claims is Bob's public key. Bob downloads a key from the key server which Eve claims is Alice's public key.
a. Given that Alice and Bob both assume that they have the correct public keys for the other party, and assuming that Eve can intercept any messages passed between Alice and Bob, is there any way that Eve can read the encrypted communications between the two parties? If so, how could she do it, and would Bob or Alice know that Eve was reading their messages?
b. What steps could Alice take to ensure that the public key which Eve claims belongs to Bob is actually correct?