4 ms·
Would just deriving a new pub/private key each time someone entered/left the chat be simpler? I'm assuming there is a reason why this wouldn't work.
by cetra3 7y ago
Would just deriving a new pub/private key each time someone entered/left the chat be simpler? I'm assuming there is a reason why this wouldn't work.
- dsr_ 7y agoYes, much of the article is explaining why this is reasonable for a group of 2-5 and terrible for a group of 10,000, and ways to make this more manageable in non-obvious ways.
- cetra3 7y agoI'm talking about a shared private/public key for everyone which gets changed when members leave or enter.
- tialaramex 7y agoWhat are you imagining a "shared private/public key" is ? Because that's not a thing. A private key is _private_, it doesn't mean anything to share one of those, if you're doing that it isn't a private key any more and you wasted your time.
- thinkloop 7y agoThey probably mean a single symmetric key shared between all. And private is not mean that only one person knows a thing. Quite the opposite. If the entire planet minus 1 person knows something, that's a form of private as well. Either way you're arguing semantics.
- deleted 7y ago[deleted]
- deleted 7y ago[deleted]
- pricechild 7y agoA shared key would allow impersonation/spoofing within the group.
- deleted 7y ago[deleted]
- ex3ndr 7y agoWhy group of 10k need to be encrypted? chances of breach is insanely high
- Rhinobird 7y agoTo help keep proprietary company communications from getting out?
- doomrobo 7y agoEven better, why not have a single symmetric group key that everyone uses to communicate? Assume the delivery service is perfect, so you never get dropped messages, and everyone ratchets the group key forward, thus providing perfect forward secrecy. A question: if someone leaves the group, how do you determine the new group key? If there is some one-way function f that determines the new group key, then the removed person can derive the new key K' = f(K), where K is the current key. That means that if they get ahold of the transcript of the group after they leave, they can decrypt everything. So K' must be derived by some non-deterministic process. There's a group of people who need to arrive at the same value, and they need to use randomness. Whose randomness do they use? A simple answer is "the remover." That is, have the remover include a randomly generated K' in their Remove message to the rest of the group. This doesn't work though, because the removed person can still decrypt the Remove message and get K' just like everyone else. A viable solution is to randomly generate K' and then encrypt it for everyone _except_ the removed party. But once you're here, you run into the problem of pairwise keys, and your runtime sucks. This last step is basically where the article starts. Thank you for asking this question!