Just curious if that is the case. I assume not as Lemmy does not advertise it’s encryption at all.
Would this ever be planned for Lemmy?
Just curious if that is the case. I assume not as Lemmy does not advertise it’s encryption at all.
Would this ever be planned for Lemmy?
It would be nice to have them, it’s an additional attraction factor for users. It could be done using hybrid approach where one hash derived from user password is used to authenticate in Lemmy and retrieve chat list, second completing hash would decrypt them. Example: https://hacks.mozilla.org/2018/11/firefox-sync-privacy/
Implementing E2E isn’t just about the encryption though, it’s also about the key exchange/distribution/generation approach.
If you look at what Matrix does, so much of the complexity comes from how they authenticate all the different clients to manage E2E in a distributed way. For proper E2E you’ve got more than 2 ends (multiple clients) so you need to manage it for all.
I don’t get what makes it hard to implement the same stuff using libraries provided, encryption should be optional for servers administrators to enable
Encryption is hard to get right. Which doesn’t help when it’s essentially useless unless you get it right
https://github.com/soatok/mastodon-e2ee-specification was a thing but it doesn’t seem to be updated for months now.
Each crypto operation (“verify the signature of this message”, “encrypt this chunk of data with this key”) is covered by any one of a number of libraries and if you’re writing your own implementation you’re probably doing the wrong thing.
For the system that you’re trying to build (messaging system, secure boot, HDD encryption, etc) working out which one you need to when is where the difficulty is. What is the overall design of your system - how do keys get exchanged, what is important to protect etc.