1 smack omemo
vanitasvitae edited this page 2017-04-03 14:23:45 +02:00

smack-omemo is a module for Smack that enables clients to send messages using OMEMO encryption. It cannot be used stand alone, but must be used together with another module providing ratchet functionality. That's where smack-omemo-signal comes into play. smack-omemo-signal encapsulates all double ratchet related functions and implements interfaces defined by smack-omemo. Since at the time of writing all OMEMO implementations use libsignal as a basis, smack-omemo-signal does as well. Unfortunately libsignal is licensed under the GPL, so smack-omemo-signal must be too. smack-omemo on the other hand does not contain any code related to the Signal protocol (which OMEMO is currently based on) and is therefore licensed under the Apache Public Licence. It is also possible to create another module like smack-omemo-XYZ, which provides double ratchet functions using library XYZ.