That's cool, I had an idea to do something like that:
For each piece of content (e.g. a photo or video), generate a ~32-byte random string, and symmetrically encrypt the content using that random string as the key. Then encrypt the random string N times using each of your N friends' public keys and give them the result. That way you control access per-item, people you unfriend can't decrypt content you post after the unfriending, and the content itself only has to get encrypted and stored once.
Is that how your thing works? Was it successful from a technical perspective?
What I read - and I can't vouch for it - is that performance was very important for developing the hybrid model.
Besides, it'd add more complexity to an already sensitive algorithm. As the Zen of Python says, special cases aren't special enough to break the rules.
Comments
That's cool, I had an idea to do something like that:
For each piece of content (e.g. a photo or video), generate a ~32-byte random string, and symmetrically encrypt the content using that random string as the key. Then encrypt the random string N times using each of your N friends' public keys and give them the result. That way you control access per-item, people you unfriend can't decrypt content you post after the unfriending, and the content itself only has to get encrypted and stored once.
Is that how your thing works? Was it successful from a technical perspective?
That process is essentially how PGP works: https://upload.wikimedia.org/wikipedia/commons/thumb/4/4d/PG...
Ah, interesting. What's the rationale for using the intermediate random key when sending the content to only one recipient?
What I read - and I can't vouch for it - is that performance was very important for developing the hybrid model.
Besides, it'd add more complexity to an already sensitive algorithm. As the Zen of Python says, special cases aren't special enough to break the rules.