this post was submitted on 14 Aug 2024
44 points (95.8% liked)
Programming
17416 readers
45 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
This is a sure sign that the NSA have been reading everything encrypted with standard cryptos for quite some time but they see that the opposition (China in this case) is showing signs of catching up. Can't have that, even if it means losing capability for themselves. They have other ways in so the drop in capability is not as big as one would think.
I personally wouldn't trust anything but one time cryptos to be safe and I don't trust any algorithm from that source to be safe. It certainly should be and it is very much in their and our interest to make sure that it is, but the possibility that they are trying to eat the cake and pull a fast one is frighteningly far from zero. It would be monumentally stupid to try because shit like that always gets out and that would jeopardize every system in the world. Stupid isn't exactly in short supply these days.
Quantum computers are not advanced enough to break RSA/EC yet. NSA might have some secret backdoors, but the recent focus on quantum-resistent encryption from both the public and private sectors (see TLS and Mullvad) has nothing to do with China.
What is a one-time crypto, and how does it allow you to avoid the use of quantum-vulnerable asymmetric encryption such as the algorithms used for HTTPS?
I've only ever seen "one-time" in cryptography to refer to One-Time Pads (OTP). They are literally uncrackable (because every possible plaintext could be encoded by every possible ciphertext) but they achieve that by using a shared private key. The cipher becomes attackable if the key is re-used, hence the "one-time."
But that key has to be exchanged somehow, and that exchange can be attacked instead. Key exchange algorithms can't necessarily transfer every possible OTP which means eavesdropping on the exchange would make an OTP attackable. So the best option we know of that doesn't require secret meetings to share OTPs* really is to use RSA encryption. Once we have efficient quantum-resistant schemes, they'll be the best option we know.
* and let's be honest, secret meetings can be eavesdropped on as well.
ECC encryption seems semi preferred now a days i thought
One time pads are perfect encryption, but the problem is that the key length needs to be longer than the message length. So if you have the ability to get the symmetric key to the recipient securely, then you had the ability to get the whole message to the recipient securely.
One time pads aren't really feasible at scale. Getting the pad (key) to your partner securely will involve moving it in meatspace.
If you tried to send the pad with some other encryption that becomes the weak point and defeats the pad.
You can't reuse the pad for multiple transmissions or you are vulnerable to analysis attacks.
You can't compress the pad and send it with remaining space of a previous pad because the pad has to be true random numbers and won't compress well so you will always come out behind.
They are great in theory, and in practice for a few fixed short form communications in emergency situations but I don't know of any practical way they could be used generally. Your bank isn't going to ship you a hard drive of random numbers for you to securely look at your account.
There are already quantum resistant algorithms available as open source libraries, and some tools which already use them. It's nice to see some standards emerging, although I'll be more confident after external reviews pronounce them "clear."
What they actually do is record everything encrypted and wait for computers to get fast enough to crack it.