Re: I wonder how Facebook is going to implement the encryption
Wouldn't they just use PKI and generate a key pair per device and store the public key in a key-chain on their servers? Then if someone wants to send you a message, their client grabs all the public keys for your account, and then encrypts the AES (or whatever symmetric encryption is used) key using each one of those keys and pushes that along with the encrypted message to the server. Then your client pulls down the message and decrypts the key using the devices private key. When you reply, the same thing happens (using the remote ends public key).
I believe this is how Apple does encryption with iMessage.