As I'm currently playing around with cryptography, especially OTR, I'm wondering about its security against active MitM attacks.
Let's say Alice and Bob created an OTR session, but Eve is acting as a MitM, changing messages, so that she can decrypt Bobs messages to Alice, reads them(may even change something), encrypts them again and sends them to Alice (and vice versa).
In this case, Bob and Alice would not have each others public key, but instead Eve's, is this right?
So the Socialist Millionaire Protocol is used to verify, that A. and B. are talking to each other, without a MitM interfering.
How is this working? I understand the case in which they ask each other a question, but is there a way doing this or ensuring, that no MitM is interfering without extra user input or fingerprint checking?