this post was submitted on 05 Aug 2023
313 points (98.8% liked)
Fediverse
17698 readers
2 users here now
A community dedicated to fediverse news and discussion.
Fediverse is a portmanteau of "federation" and "universe".
Getting started on Fediverse;
- What is the fediverse?
- Fediverse Platforms
- How to run your own community
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Because I have no knowledge or understanding of programing, can someone please eli5 how an open source program can remain encrypted and secure? Is it just a matter of good faith that jerks won't mess with it or does the encryption programming itself have protections?
From my understanding, open source encryption is actually better for privacy than closed source, since then you can have external auditors. Basically, encryption is doing a TON of math involving prime numbers, so even if you know the algorithms used, you still won't be able to figure out what the secret (or password) is without using inordinate amounts of computing power.
For more reading, check out Kerkchoff's Principle
which is one of the big things behind quantum computing. we will (will, not might) get to a point where QCs can do the math to crack RSA/other large prime-based encryption standards.
That's why you add a post-quantum (AKA symmetric) password too.
But be careful there have been a few “quantum safe” encryption algorithms proven to not break quantum safe.
Thank you. This is helpful!
The encryption software implements math that is designed to be the protection (encryption algorithm). That math is agreed upon by experts, and it gets implemented by software.
Encryption algorithms usually come with an estimated expiration. That is because computer processors become more powerful. Breaking encryption comes down to being able to solve the encryption algorithm quickly. Some algorithms are designed with specific features with certain types of processor architecture in mind, such as to effect the problem solving efficiency.
Encrypted chat messaging services need to upgrade their algorithms over time as processors get more powerful.
Depending on the type of algorithm used, your chat history could be at risk in the future; that is, if someone were to archive those messages and wait for a time when processors can solve the algorithm quickly. Alternatively, the problem solving could be distributed among many powerful computers to increase the number of attempts per second.
However, algorithms such as Signal's add a few more protective layers in the algorithm. The open-source software should be audited, and should have reproducible builds. What that means, is that the app binary that is distributed (such as from an app store) should match exactly one you build from the source code following the instructions.
To summarize many layers of math, and processes (such as validating someone's safety number, and pin numbers on Signal) were designed to protect the data it is encrypting, and who it is communicating that data with.
You cannot trust a vendor on their word, for example, WhatsApp also claims to implement Signal's encryption algorithm, but their source code is not open, so we don't know exactly what is in the binary. We can reverse engineer the binary, and make inferences, but governments and some private organizations love trying to backdoor encryption.