4 ms·
We don't even know the complexity class of factorization or discrete log, yet we still use those problems in DH, RSA, ECDSA, ...
by YoumuChan 2y ago
We don't even know the complexity class of factorization or discrete log, yet we still use those problems in DH, RSA, ECDSA, ...
- eru 2y agoAll of those problems are known to be in NP and co-NP. In that sense, we know some complexity classes they belong to. However, we don't know if these bounds are tight, or whether they are eg in P, or something in between.
- keepamovin 2y agoWe don't know that factorization is NP-complete> Show me a reduction from SAT to factorization. It's kind of trivial to say it's in NP because we can verify in P time, that's not a criticism of you just of the definition!! I think a better definition of NP is "only nonpoly algos can exist, no P algos can exist". By that definition of NP, we don't even know that it's in NP strictly because there could exist P algorithms for solving it. It's more in 'unknown-NP' if that were a class! hahaha! :)
- SJC_Hacker 2y agoI think this what alot of people get wrong. "N' in NP does not stand for "not" it stands for "non-deterministic". Meaning you can solve in P time with a non-deterministic Turing machine, or alternatively, a function executing on all inputs in parallel. So maybe it should really be P and NDP.
- keepamovin 2y agoThat's a good explanation. I didn't know that.
- eru 2y ago> or alternatively, a function executing on all inputs in parallel. I like to explain non-determinism in terms of getting a hint, or having an (untrusted) cheatsheet in a test. Or always making lucky guesses (but you don't trust your guesses). But as long as your parallel executions don't interact at all, the definitions are identical, I think.
- eru 2y ago> We don't know that factorization is NP-complete. Yes? No one ever said it was. None of the common cryptographic problems are expected to be NP-complete, even if they aren't in P. That's because they are known to be in both NP and in co-NP, and it's expected that NP != co-NP. > I think a better definition of NP is "only nonpoly algos can exist, no P algos can exist". In what sense is that a 'better' definition than the standard definition? It sounds like what you are talking about is NP\P (where \ is set subtraction, ie 'NP minus P').
- keepamovin 2y agoI think some people have asked whether it was. I'm not saying you did, just thought it was interesting! Haha :) I don't even know what co-NP is. Could you explain? I think that's a better definition because I find it more predictive and useful to think about: pretty concrete to know that you can't have a polytime algo for it. Yeah, I guess what you're saying about NP\P is right in that it's a restatement of the definition of what I said, haha! I'm not an expert this is just what I think :)
- eru 2y ago> I don't even know what co-NP is. Could you explain? See https://en.wikipedia.org/wiki/Co-NP https://en.wikipedia.org/wiki/Co-NP That article even mentions integer factorisation. > I think that's a better definition because I find it more predictive and useful to think about: pretty concrete to know that you can't have a polytime algo for it. Well, that's a non-standard definition for NP, and you would have a hard time talking to anyone. And at the moment we have no clue whether your 'NP' has any problems in it at at all, or whether it's an empty set. In that sense, it's a very impractical definition. Btw, there's some nice alternative but equivalent definitions for traditional NP. The classic definition is basically, NP are those problem that you can check in polynomial time if someone gives you a hint (ie they give you the answer and whatever else you need, but you need to verify, you can't trust the hint.) A nice alternative definition says that with access to randomness, that hint needs to be at most O(log n) long, and you also only need to even look at 3 randomly chosen bits of that short hint, and you are still guaranteed to suss out any fake answer with at least 66% probability. See https://en.wikipedia.org/wiki/PCP_theorem https://en.wikipedia.org/wiki/PCP_theorem
- openasocket 2y agoI always found that part odd. I’d assume you would want the problem you build your crypto system built around to be NP-complete, since that would seem to put you on the firmest possible ground. And yet those are most likely not NP-complete, and I think the post-quantum systems proposed aren’t NP complete either. Maybe being NP-complete isn’t as important as I realize? Or maybe there’s something about NP-complete problems that make them less amenable to be a valid crypto system?
- eru 2y agoNo crypto-problem is NP-complete. People tried that for a while, see https://en.wikipedia.org/wiki/Knapsack_cryptosystems https://en.wikipedia.org/wiki/Knapsack_cryptosystems but it didn't work. > Or maybe there’s something about NP-complete problems that make them less amenable to be a valid crypto system? To simplify a bit, the problem is that to work as a crypto system your particular problems needs to be both in NP and in co-NP. And we know of no problem that is both NP-complete and in co-NP. It's widely conjectured that there is no such problem. See https://en.wikipedia.org/wiki/Co-NP https://en.wikipedia.org/wiki/Co-NP that page even mentions integer factorisation. That's why you can't just take the NP-complete problem itself as a basis for your cryptosystem, you have to pick some subset of instances that's also in co-NP. And apparently it's almost impossible for us to pick such a subset, but still have the instances be hard enough to solve on average.