> What else would you validate? A number? Whatsapp can just show you the wrong number.
Good. You appear to understand the problem now.
I already alluded to the solution here:
> If I had access to my own public and private key, I (or someone I know) could conceivably verify that I'm using it by decrypting my messages using another device (e.g. using wireshark).
and here:
> That's why providing the keys (or better: being able to supply my own) is essential.
See, if I have the keypair, then for WhatsApp to subvert my conversation it needs to send the private key to itself -- something it can only do when it's not looking.
This means it would need to let me download the keys before it does any networking. If it absolutely must network before letting me have the keys, then it can allow me to install my own (new) keys. Then, WhatsApp doesn't know when I'm not looking.
If WhatsApp made it possible to catch them being dishonest, then it only takes one person to catch them and their name becomes mud.
Of course, the mere possibility that moxie could be compromised or even make a mistake is clearly too big a leap for HN these days...