this post was submitted on 14 Aug 2024
45 points (95.9% liked)
Programming
17364 readers
250 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 [email protected]
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
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.