6 ms·
That's my favorite quote from Atwood! People are so prone to forget that while cryptographic algorithms are provably secure (under practical constraints) in a m
by egyptiankarim 11y ago
That's my favorite quote from Atwood! People are so prone to forget that while cryptographic algorithms are provably secure (under practical constraints) in a mathematically rigorous way, their implementations are subject to all of the shortcomings of any engineering practice. Makes quick work for an attacker trying to figure out where to start.
- eutectic 11y agoEven cryptography relies on unproven assumptions; we just consider them trustworthy enough to rely on.
- adenadel 11y agoIt's my understanding that most (all?) public key cryptographic algorithms aren't provably secure, but are conjectured to be. They are reliant on some problem being hard to solve (factoring of large integers, discrete log, etc.). Something like a one time pad is provably secure, however.
- egyptiankarim 11y agoTrue and fair. I overstated my point. More appropriate to say "provably secure (under practical constraints)", and that's a rather significant caveat.
- swordswinger12 11y agoThis is a common misconception. The algorithm itself is provably secure, in the sense that violating the stated security guarantees of the algorithm is equivalent to solving a problem that's considered to be computationally intractable. The only part that isn't 'provable' is the basic assumption that the problem is intractable in the first place.
- ZoF 11y agoDidn't you just agree with him but substitute 'hard to solve' with 'computationally intractable'? Yes based on our understanding today these things are computationally expensive (e.g not feasible), but they could theoretically be easy to crack given a mathematical breakthrough. Am I misunderstanding? As the field of mathematics advances there's a chance that current crypto will be broken. Why is this a misconception to point out? Why is it not, on some level, conjecture to say these systems are secure?
- adenadel 11y agoIt looks like probably secure is defined in cryptography to mean breaking the algorithm is equivalent to solving the underlying intractable problem [0]. In my mind provably secure meant that the problem was actually intractable (which is not the convention). 0. https://en.wikipedia.org/wiki/Provable_security https://en.wikipedia.org/wiki/Provable_security
- swordswinger12 11y agoThat is the conventional meaning of 'provably secure' in every text and research paper on modern cryptography.
- DigitalJack 11y agoAll proofs have axioms if you chase them all the way down. Given the axiom that the solving the math in the crypto is intractable, the crypto algorithm is proven secure. But only so long as the axiom holds. For example, quantum computing may break the axiom, and then the proof will be invalidated. It might be more correct to say assumption rather than axiom here.
- thomasahle 11y agoWhat you are saying was true until this February when this paper came out https://eprint.iacr.org/2016/170 https://eprint.iacr.org/2016/170 It hadn't been implemented yet I'm any practical crypto system that I know of, buy it certainly seems like we are finally going to have actually, provably hard problems to build out security om.
- LeifCarrotson 11y agoI believe you made an unfortunate typo, substituting "probably" when you meant "provably".
- thomasahle 11y agoEven auto correct finds it surprising :-)
- duaneb 11y agoGiven the breadth of ways to leak information about the private keys--side channel attacks, physical attacks, userspace (allocator, random number generator) this would be extremely difficult (impossible?) to prove.
- stcredzero 11y agoIt's a well known result that one time pads are provably secure. (Also, no PRNGs are involved.)
- duaneb 11y agoThe PRNG is certainly involved in the generation of the one-time pad. You could tell if they used the ascii text of hamlet.
- rthille 11y agoCould be actual random data is used, rather than a PRNG
- sneak 11y agoUsing a PRNG to generate an OTP is called a stream cipher, and then it isn't an OTP. :) When using an OTP, you have to use non-pseudorandom values to avoid just being a stream cipher. If you're doing that, you can skip sharing the pad and just share the initial state of the PRNG. If you go to the trouble of sharing the pad, go to the trouble of using random data within it. :)
- dubdubbub 11y agoCryptographic algorithms are generally not 'provably' secure, because most are based on an underlying assumption that some problems are hard, and this is not proven, just assumed. Also, there are mathematically verified implementations, and tools for verifying existing implementations that are about as 'provably' secure as the specifications of the algorithms.
- salgernon 11y agoI think you misunderstand him? If the crypto of a system is assumed to be correct, then that is the last place to look for a vulnerability. Better to look at what lies on either side without relying on the pipe being vulnerable.
- update 11y ago"Don't bother trying to break encryption, break [whatever] implements the encryption instead" that's how i interpreted it