RFC-6120: Extensible Messaging and Presence Protocol (XMPP): Core
RFC-6121: Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence
For file sharing we want to use Stateless Inline Media Sharing (SIMS) of XEP-0385, that is able to handle a combination of Bit of Binary for a thumbnail, HTTP file upload for asynchronous file sharing and Jingle for direct client-to-client sharing.
For end-to-end encryption we want to use the new OpenPGP specifications in XEP-0373 and XEP-0374. For users who want that their messages can't be decrypted later in any way by anyone and who don't care about not having message archiving, we want to also provide OMEMO.