Opened 4 years ago

Last modified 21 months ago

#1443 assigned enhancement

I2P-Bote: Synchronize sent messages across multiple devices

Reported by: dllud Owned by: str4d
Priority: minor Milestone: undecided
Component: apps/plugins Version: 0.9.17
Keywords: I2P-Bote usability Cc:
Parent Tickets:

Description

It would be nice if one could retrieve the sent messages from the DHT. That way the PC and Android client could sync their Sent folders.

This would require them to be encrypted with both the sender's and receiver's keys (as in PGP).

Subtickets (add)

Change History (9)

comment:1 Changed 4 years ago by user

this would double the load on the network.
I'm against it. syncing incoming messages might prove more interesting.

comment:2 Changed 4 years ago by dllud

Incoming messages are already synced. They are left on the DHT for 100 days. During that period you can download them from any device containing your keys.

Syncing sent messages would not double the load. The message you as sender store on the DHT, for later retrieval by the recipient, is exactly the same message you would need to download into your Sent folder on a different device. The only modification needed is encrypting messages with both sender's and receiver's keys as detailed above.

comment:3 Changed 4 years ago by user

firstly, no, if you encrypt with your public key the receiver canot decrypt it. you need to double the amount of data stored on dht.
secondly, no, incoming mails are not synced. they are deleted from dht once received.

comment:4 Changed 4 years ago by user

it would in theory be doable if the entire addressing scheme is changed.
This would be a lot of work, and definitely way to much work if it were justified only by this ticket.
It might however be justified for other reasons, then this issue could be revisited...

comment:5 Changed 4 years ago by dllud

Asymmetric keys are not commonly used to encrypt an entire message. They are used to encrypt just an header which contains a symmetric key for the body of the message. Apparently that's what HungryHobo? did in Bote. According to the FAQ he used AES-256 in CBC mode for symmetric encryption. With this scheme it is possible to add more entries in the header with the body symmetric key encrypted under different public keys, thus you get a message with multiple recipients a la PGP.

On the other hand, I know nothing about the addressing scheme and there is no documentation about it. Through the web-interface it is possible to send a message to multiple recipients but I don't know how it is implemented (duplication?).

Nowhere is it said that messages are deleted upon the first retrieval. According to the FAQ they are deleted after 100 days. Also I tried it, and was able to receive the same message on my desktop and smartphone at different times.

http://i2pbote.i2p.us/faq.html

Last edited 4 years ago by dllud (previous) (diff)

comment:6 Changed 4 years ago by user

ok, if the actual mail is already encrypted symmetrically, then this could indeed be done.
The question is then only, when to delete the message.
I had some grace time in mind for the sync of incoming mails. This could then also be used for sync of sent mails.

The deletion message contains a time stamp and actual deletion is only performed after the grace period. Maybe 3 days?

comment:7 Changed 2 years ago by str4d

  • Status changed from new to open
  • Summary changed from I2P-Bote: Retrieve sent messages from DHT to I2P-Bote: Synchronize sent messages across multiple devices

comment:8 Changed 2 years ago by zzz

  • Owner set to str4d
  • Status changed from open to assigned

comment:9 Changed 21 months ago by str4d

Migrated to https://github.com/i2p/i2p.i2p-bote/issues - I will close these tickets as things are resolved rather than right now, but please make future comments on GitHub?.

Note: See TracTickets for help on using tickets.