On 10/10/14 17:09, Trevor Perrin wrote: > On Fri, Oct 10, 2014 at 3:34 AM, Ximin Luo <[email protected]> wrote: >> On 10/10/14 10:24, Trevor Perrin wrote: >> >>> It would be good to have an algorithm that works for transports where >>> there isn't a server seeing all messages and providing reliable >>> retransmission (e.g. SMS, Google Cloud Messaging, email, Pond). But >>> even where a server is available for this, the reliability you're >>> asking for is costly. >>> >> >> I *have* an algorithm that works without a central server. I did not try to >> optimise for "least messages", or "small message sizes", though - because I >> don't know what I should be optimising for. > > In an asynchronous setting you can't assume other parties are online > to retransmit. With no central server to retransmit, how does your > algorithm work? >
It works by having everyone be a potential re-sender, of everyone else's ciphertext. (Only the ciphertext is cached, not e.g. ratchet secrets derived from them.) So yes, it doesn't work if there is one person who is never online at the same time as anyone else. But in such a case, you would need a server to cache the ciphertext *anyway*, for that person to receive *any messages at all*. A non-caching server doesn't help reliability, only performance/efficiency - since the original sender could have just used separate individual transports (without the central server) to deliver to those recipients directly via other routes. And once you build the caching server, it's not much effort to have it attempt retransmits periodically. X -- GPG: 4096R/1318EFAC5FBBDBCE git://github.com/infinity0/pubkeys.git
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Messaging mailing list [email protected] https://moderncrypto.org/mailman/listinfo/messaging
