Skip to content
This repository has been archived by the owner on Aug 5, 2021. It is now read-only.

Group Code is MIssing #8

Open
izhar-ap opened this issue Nov 2, 2016 · 8 comments
Open

Group Code is MIssing #8

izhar-ap opened this issue Nov 2, 2016 · 8 comments

Comments

@izhar-ap
Copy link

izhar-ap commented Nov 2, 2016

As we have Group Code in libsignal-protocol-java for
GroupCipher
GroupSessionBuidler
When we will have it for javascript

@chuprik
Copy link

chuprik commented Jun 27, 2018

any news here?

@ivanlemeshev
Copy link

+1

@scottnonnenberg-signal
Copy link
Contributor

Maybe if you could talk about what scenarios are missing, what problems you're having, that would better motivate this bug. Signal Desktop deals with groups just fine, and uses this core library.

@vith
Copy link

vith commented Jun 27, 2018

It's been a while since I looked into this but doesn't Signal Desktop encrypt and transmit a separate copy of each message for every recipient device? So while that works for small groups it wouldn't be appropriate for large ones.

@chuprik
Copy link

chuprik commented Jun 27, 2018

@vith have read my mind, thanks!

@scottnonnenberg-signal
Copy link
Contributor

@vith Android does the same thing, sending to each group. This is necessary, because the server currently has no information regarding groups. The difference, then, is that the necessary logic to send to a group is encapsulated within those classes in the Java library. But you can get the same ultimate functionality with this library, so it's not a blocker.

@vith
Copy link

vith commented Jul 3, 2018

@scottnonnenberg-signal If I am not mistaken there is more than just client-side fan-out logic in the Java classes. It looks like a separate ratchet for unidirectional, one-to-many group sessions to enable server-side fan-out:

https://github.com/signalapp/libsignal-protocol-java/blob/master/java/src/main/java/org/whispersystems/libsignal/groups/GroupCipher.java

https://github.com/signalapp/libsignal-protocol-java/blob/master/java/src/main/java/org/whispersystems/libsignal/groups/ratchet/SenderChainKey.java

I think some confusion has occurred because of lack of context --- it's my understanding that the group sessions aren't used in Signal today, but I think something similar is used in other products like WhatsApp, Facebook Messenger, Allo, Wire, Matrix, etc. to support larger group sizes.

At least in my case (I can't speak for others in this issue) I was considering using libsignal for encryption in a context that wouldn't use the official Signal service/backend.

Of course I don't expect you guys to port the group session implementation to javascript if you aren't using it in Signal... I was just following this issue in case that ever changed :)

@SeniorZhai
Copy link

@scottnonnenberg-signal When support GroupCipher?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants