!
Hubzilla DevelopmentLooking through the docs, I'd like to make sure I understand the actual flow of events on a message. If someone "in the know" could verify (and/or correct!) the following, I'd be appreciative...
CONTEXT: Non-public message - privacy group "assigned"
1) Message is transmitted via HTTPS from sender web browser to sender hub
* Effect: message is encrypted in sender web browser and decrypted at sender hub - meaning it exists in plain text for processing on the sender's hub
2) Message is encrypted into ZOT packet (cxref:
#^Zot_Structures)
* Effect: data encrypted, decryption key and initialization vector are encrypted with RECIPIENT public keys
3) ZOT packet(s) distributed to recipient hubs
What I'm not clear on is when/how the data gets decrypted - I infer that it is stored in the database in the format received and decrypted on the hub prior to being sent to the recipient's web browser over SSL (the reverse of the sending process) - is this correct?
Also - what is the possibility of moving the creation of the ZOT packet (and the decryption of the ZOT packet) to the browser rather than happening on the hub itself? It would certainly make the hub more efficient by removing the encryption/decryption processing.
What I'm mentally toying with is something like the way a blockchain based fully distributed wallet works - the private key stays local to the user and never gets stored centrally. Obviously - lose your key - lose access to your data... but I'm not sure that's too great a price to pay... after all, with crypto wallets - lose your key, lose your $$$!
What would the biggest hurdles be to such a change in the location of the encryption/decryption processing?