![Signal group messages](https://cdn2.cdnme.se/5447227/9-3/5_64e61dfa9606ee7f6350b87c.png)
Note that similarly to PGP, this approach does not provide any perfect forward secrecy, deniability or conversation integrity (and thus no transcript consistency). These protocols only sends the encrypted content once but encrypts the encryption key to each of the members of the group. Protocols like PGP have been around for some time and offer "group messaging" by simply encrypting the content with a randomly generated symmetric key and then encrypting that key asymmetrically with the public keys of each of the recipients. Let me try to sum up what the landscape of end-to-end encrypted messaging protocols for group chat looks like: Tox has some extensive documentation but somehow I can't seem to find how encryption happens in a group chat.Īnother source even claims "you can't make groups with end-to-end" (though I am fairly sure they are mistaken).Īnd finally a bunch of other popular applications such as Mumble and XMPP cannot do end-to-end to begin with, or simply do not support group chats such as Telegram, Ricochet and ZRTP. Signal, WhatsApp and Allo use the Signal Protocol which violates requirement #2. I thought I read about something a few years ago where the group derived a common key and used that or something, but I cannot find anything like that. I've looked for existing protocols, but came up with zero results that meet these requirements. This scales reasonably enough, and there might not be a way around it without compromising security, so this is allowed and does not count as 'encrypting every message for everyone'. With potentially hundreds of members in a group, even encrypting an encryption key for each member is a considerable downside.Įvery new member may receive everyone's public key upon joining, and any group key(s) must be rotated when a member leaves.
![signal group messages signal group messages](https://1.bp.blogspot.com/-pu-FnWoZJt8/X_wYemiO6gI/AAAAAAAAQHY/w8SEhunKOUE-uN0VmMfbApA3TPVOwuA-QCLcBGAsYHQ/w1600/Signal%2BGroup%2BLink.jpg)
The Signal Protocol does this, turning group chats into many one-on-one chats, which is not a proper, scalable solution to the problem. It should not encrypt each message for each member individually.
![signal group messages signal group messages](https://www.jmri.org/help/en/package/jmri/jmrit/beantable/images/SignalGroup.png)
Just what you would expect: messages are only decipherable by the chat members and message tampering is detected.
![signal group messages signal group messages](https://cdn.osxdaily.com/wp-content/uploads/2021/01/how-to-create-signal-group-and-group-link-2-768x1663.jpg)
I am looking for existing protocols for a group chat with two things:Įnd to end encrypted.
![Signal group messages](https://cdn2.cdnme.se/5447227/9-3/5_64e61dfa9606ee7f6350b87c.png)