Understanding the P vs NP Problem: Factoring and Its Impact on Internet Security

  • Context: Graduate 
  • Thread starter Thread starter JakeA
  • Start date Start date
  • Tags Tags
    Factoring P vs np
Click For Summary

Discussion Overview

The discussion revolves around the P vs NP problem, particularly focusing on its implications for internet security and cryptography, specifically in relation to integer factoring and the discrete logarithm problem. Participants explore the complexity-theoretic assumptions underlying current cryptographic systems and the potential consequences if P were to equal NP.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested

Main Points Raised

  • One participant questions the clarity of statements regarding the factoring of 200-digit numbers, seeking clarification on whether these are binary or decimal digits and what type of factoring is being discussed.
  • Another participant confirms that the 200 digits refer to decimal digits and specifies that the discussion is about prime factoring, particularly in the context of RSA encryption.
  • Concerns are raised about the implications of P = NP on the ability to factor large numbers, with one participant noting that the polynomial time complexity could be misleading if the exponent is large.
  • Another participant argues that verifying primality can be done in polynomial time, referencing the AKS primality test, and suggests that checking factorization is sufficient without needing to verify primality.
  • A participant explains the definitions of P and NP, emphasizing that while factoring is in NP, it is not known whether it is in P, with many mathematicians conjecturing that it is not.
  • Concerns are raised about the security of cryptographic systems, noting that if faster methods for solving the discrete logarithm problem were found, it could undermine current systems, regardless of the status of integer factoring.
  • Another participant mentions the potential impact of quantum computing on factoring and cryptography, suggesting that alternative cryptosystems may be more secure against quantum attacks.

Areas of Agreement / Disagreement

Participants express a range of views on the implications of the P vs NP problem for cryptography, with no consensus reached on whether factoring is in P or NP or the broader implications for security. There are competing perspectives on the validity of claims regarding polynomial time verification and the impact of quantum computing.

Contextual Notes

Participants highlight the ambiguity in the definitions and implications of P vs NP, particularly regarding the size of numbers and the nature of factoring. There is also uncertainty about the practical applications of theoretical results in cryptography.

JakeA
Messages
12
Reaction score
0
I have some questions about the presentation of the P vs NP problem here. I'm quite new to this stuff, so pardon my ignorance if I make dumb statements.

http://www.claymath.org/millennium/P_vs_NP/Official_Problem_Description.pdf

Specifically:

The security of the internet, including most financial transactions,
depend on complexity-theoretic assumptions such as the difficulty of
integer factoring or of breaking DES (the Data Encryption Standard). If P=
NP these assumptions are all false. Specifically, an algorithm solving 3-SAT
in n2 steps could be used to factor 200-digit numbers in a few minutes.

First of all this statement is confusing to me. Is he talking about 200 binary digit numbers? Decimal? It's a bit ambiguous to me.

By factoring is he talking about prime factoring?

Is he talking about any 200 digit number? I can prime factor 2200 in less than a second.

Finally I assume he's claiming that since you can verify factors of 200 digit numbers in a few minutes, if P = NP then you could factor numbers in equally bounded time. Is this correct? I'm not sure because I see 2 problems with it.

1) If the problem is bounded by nK, who's to say what k is? It could be huge, much larger than the k for the NP problem.

2) If he's talking about prime factorization, he is effectively saying that you can verify a prime number in P time, a very dubious claim.

As far as I can tell with the state of the art in cryptography, new factoring algorithms are big problems, actually increasing the need for larger keys/certificates all the time. My view is that the reason cryptography works is not because P != NP, but because prime number verification is Non P, meaning that incremental increases in number size create exponential increases in computational time. Again, I'm no expert, just wanting more information.

Thanks
 
Last edited by a moderator:
Physics news on Phys.org
JakeA said:
First of all this statement is confusing to me. Is he talking about 200 binary digit numbers? Decimal? It's a bit ambiguous to me.

Decimal digits. 200 binary digits is already easy to factor. Pari does this in under 2 minutes
on my pc using the quadratic sieve algorithm

(21:25) gp > factor( nextprime(2^98) * nextprime(2^102))
%4 =
[316912650057057350374175801351 1]

[5070602400912917605986812821771 1]

(21:27) gp >

By factoring is he talking about prime factoring?
yes
Is he talking about any 200 digit number? I can prime factor 2200 in less than a second.
Number with 2 prime factors that are roughly the same size, such as used for RSA encryption.

Finally I assume he's claiming that since you can verify factors of 200 digit numbers in a few minutes, if P = NP then you could factor numbers in equally bounded time. Is this correct?
I'm not sure because I see 2 problems with it.

1) If the problem is bounded by nK, who's to say what k is? It could be huge, much larger than the k for the NP problem.
It's indeed true that the polynomial could be a huge power, although this very rarely
occurs for any practical algorithm. Of course this is quite uncertain.

2) If he's talking about prime factorization, he is effectively saying that you can verify a prime number in P time, a very dubious claim.

Actually veryfying primality can be done in P time, look up the AKS primality test.
You don't need to do that however, since just checking the factorization by multiplying
the factors is enough, and there's no need to verify that they are prime.
 
peace,

a problem is called 'P' if it is in the set P of the problems with a solution in polynomial time. this means that the time to solve it is a polynomial function (y = a0 + a1n + a2n2 + ... + amxm for some integer m) of the size of the problem.

suppose we want to double an integer n. as n gets larger, we will always need more time to do the calculation. however we will always find a polynomial function of n that exceeds the needed time. the problem is in P.

suppose we want to look at the problem of factoring an integer n. this problem is not as easy as the first one. we will need a lot of steps to calculate the factors of n as n gets larger. in fact, up to now we don't know any algorithm that guarantees us a solution of the factorisation-problem in polynomial time. we have no proof that the problem is in P (actualy, most mathematicians would guess that it isn't in P).

now a problem is said to be in the set NP when the verification of its solution is possible in polynomial time.

it is trivial that a problem in P will also be in NP. but it is an open question if all problems in NP are also in P.

we can easily see that the factorisation problem is in NP. once we have obtained the factors p1, p2, p3..., pm of the integer n, we just have to multiply all these factors together to verify if our solution was correct. it is obvious that this can be done in polynomial time.

so if we can find a proof that the factorisation of n is a problem that is not in P, we would have a counterexample to the hypothesis that P = NP, we would have a problem p for which p ∉ P but p ∈ NP. this also means that if we would be able to find a proof that P = NP, it would imply that a smart algorithm exists (and could be found) that factorises n in polynomial time.

peace,

redwasp
 
Additionally, I think there is something worth mentioning with respect to the security of our crypto-systems. The reason that factoring a large integer is important is because, currently, this is the only way we know how to solve the discrete log problem. If we could find faster way to solve discrete log, then it wouldn't matter (with respect to cryptosystems) whether or not integers can be factored. Also, if Quantum Computers are ever made that can, say, factor integers other than 15, this whole thing goes out the window. There are other crpytosystems, like lattice-point, that seem to be impervious to even quantum attacks.
 

Similar threads

  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 15 ·
Replies
15
Views
4K
  • · Replies 33 ·
2
Replies
33
Views
9K
  • · Replies 2 ·
Replies
2
Views
13K
  • · Replies 18 ·
Replies
18
Views
3K
  • · Replies 105 ·
4
Replies
105
Views
15K