Skip to content

Latest commit

 

History

History
19 lines (14 loc) · 1.04 KB

ENCRYPTED_FILETRANSFER.md

File metadata and controls

19 lines (14 loc) · 1.04 KB

Description of the encrypted file transfer protocol used

In CoyIM we implemented our own custom file transfer scheme for encrypted file transfers. It is based on Stream Initiation (XEP-0095) and the SI File Transfer (XEP-0096) profile, and uses the OTR version 3 extra symmetric key to actually do encryption of the data sent. We are using AES-128 in CTR mode, with a 16 byte IV. The integrity of the transfer is protected using HMAC-SHA-256, and the MAC key is revealed after the transfer in order to increase deniability of the channel.

In this document we will further describe the exact functioning of this transfer protocol - and it might also be extending into a proposal for a XEP - although that is unlikely, since the XEPs we rely on are deprecated in favor of the more complicated Jingle suite of protocols.

Expanding this document is still a TODO.

References