In one of our exams for a non security course, the professor asked for one key problem for public key cryptography and explain why is it a hard problem.
Several students claimed that the hard problem was establishing trust that a certain public key actually belongs to the person who claims that it is their public key.
I believe that the bigger problem is the cost associated with encrypting and decrypting the messages. Isn't that why we do a key exchange in TLS in the first place? To save cost for future messages?
Can someone please explain why establishing trust is the hard part? I believe that having certificate authorities pretty much fixes that problems for us.