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

In summary, the presenter is discussing the P vs NP problem. He claims that if P = NP then most security assumptions made about the internet (including financial transactions) are false. He also asserts that factoring is not a problem that is in P, and that prime factorization can be verified in P time. However, he does not provide any evidence to back up these claims.
  • #1
JakeA
12
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
  • #2
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.
 
  • #3
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
 
  • #4
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.
 
  • #5
for the interesting presentation.Thank you for your questions and interest in the P vs NP problem and its impact on internet security. I will try my best to address your concerns and clarify the information presented.

Firstly, the statement about 200-digit numbers refers to decimal digits. This means that if P = NP, an algorithm solving 3-SAT in n^2 steps could be used to factor numbers with 200 decimal digits in just a few minutes. This is a significant concern for internet security as many encryption algorithms, such as RSA, rely on the difficulty of factoring large numbers to protect sensitive information.

When we talk about factoring, we are indeed referring to prime factoring. This is because most encryption algorithms are based on the idea that it is easy to multiply two large prime numbers together, but very difficult to factor the product back into its original prime factors. Therefore, if P = NP, it would mean that prime factorization is also easy and encryption algorithms would no longer be secure.

You are correct in your understanding that if P = NP, the time required to factor a number would be bounded by n^k, where k is some constant. This means that for any number, no matter how large, there would be an algorithm that could factor it in a fixed amount of time. This is a major concern for internet security as it would render current encryption methods useless.

Regarding your points about prime number verification, I would like to clarify that verifying whether a number is prime is indeed in P, as there are efficient algorithms for this. However, finding the prime factors of a number is a different problem, known as prime factorization, and is believed to be in NP. This means that while verifying a prime number may be easy, actually finding its prime factors is a much more difficult task.

In conclusion, the belief that prime factorization is a hard problem is what allows for secure encryption on the internet. If P = NP, this belief would be proven false and the security of the internet would be compromised. I hope this helps to clarify some of the points raised in the presentation. Thank you again for your interest and questions.
 

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

1. What is P vs NP and why is it important?

P vs NP is a fundamental problem in computer science that deals with the efficiency of algorithms. P refers to the set of problems that can be solved in polynomial time, while NP refers to the set of problems that can be verified in polynomial time. The question of whether P equals NP or not has major implications in fields such as cryptography and artificial intelligence.

2. What is factoring and why is it relevant to P vs NP?

Factoring is the process of finding the prime factors of a given number. It is relevant to P vs NP because it is considered to be a difficult problem that falls under the NP category. If a polynomial time algorithm for factoring is discovered, it would prove that P equals NP, which has significant implications in the field of cryptography.

3. What is the current status of the P vs NP problem?

The P vs NP problem remains unsolved, and it is considered to be one of the most important open problems in computer science. While there have been attempts to solve it, such as the development of efficient factoring algorithms, there is still no conclusive answer to the P vs NP question.

4. How does P vs NP relate to the concept of computational complexity?

P vs NP is closely related to the concept of computational complexity, which deals with the amount of time and resources required to solve a problem. The P vs NP problem essentially asks whether there are problems that are difficult to solve but easy to verify, and this is a fundamental aspect of computational complexity.

5. How would proving P equals NP impact the field of computer science?

If P equals NP is proven, it would have a significant impact on the field of computer science. It would mean that many problems that were previously considered to be difficult or even impossible to solve in a reasonable amount of time could now be solved efficiently. This would have far-reaching implications in fields such as cryptography, optimization, and artificial intelligence.

Similar threads

  • Set Theory, Logic, Probability, Statistics
Replies
6
Views
1K
  • Set Theory, Logic, Probability, Statistics
Replies
5
Views
2K
  • Set Theory, Logic, Probability, Statistics
Replies
9
Views
1K
  • Set Theory, Logic, Probability, Statistics
Replies
1
Views
1K
  • Quantum Physics
Replies
4
Views
741
Replies
3
Views
1K
  • General Math
Replies
5
Views
1K
  • Programming and Computer Science
Replies
17
Views
4K
  • Programming and Computer Science
Replies
5
Views
3K
Replies
1
Views
601
Back
Top