Computational hardness assumption

Last updated

In computational complexity theory, a computational hardness assumption is the hypothesis that a particular problem cannot be solved efficiently (where efficiently typically means "in polynomial time"). It is not known how to prove (unconditional) hardness for essentially any useful problem. Instead, computer scientists rely on reductions to formally relate the hardness of a new or complicated problem to a computational hardness assumption about a problem that is better-understood.

Contents

Computational hardness assumptions are of particular importance in cryptography. A major goal in cryptography is to create cryptographic primitives with provable security. In some cases, cryptographic protocols are found to have information theoretic security; the one-time pad is a common example. However, information theoretic security cannot always be achieved; in such cases, cryptographers fall back to computational security. Roughly speaking, this means that these systems are secure assuming that any adversaries are computationally limited, as all adversaries are in practice.

Computational hardness assumptions are also useful for guiding algorithm designers: a simple algorithm is unlikely to refute a well-studied computational hardness assumption such as P ≠ NP.

Comparing hardness assumptions

Computer scientists have different ways of assessing which hardness assumptions are more reliable.

Strength of hardness assumptions

We say that assumption is stronger than assumption when implies (and the converse is false or not known). In other words, even if assumption were false, assumption may still be true, and cryptographic protocols based on assumption may still be safe to use. Thus when devising cryptographic protocols, one hopes to be able to prove security using the weakest possible assumptions.

Average-case vs. worst-case assumptions

An average-case assumption says that a specific problem is hard on most instances from some explicit distribution, whereas a worst-case assumption only says that the problem is hard on some instances. For a given problem, average-case hardness implies worst-case hardness, so an average-case hardness assumption is stronger than a worst-case hardness assumption for the same problem. Furthermore, even for incomparable problems, an assumption like the Exponential Time Hypothesis is often considered preferable to an average-case assumption like the planted clique conjecture. [1] However, for cryptographic applications, knowing that a problem has some hard instance (the problem is hard in the worst-case) is useless because it does not provide us with a way of generating hard instances. [2] Fortunately, many average-case assumptions used in cryptography (including RSA, discrete log, and some lattice problems) can be based on worst-case assumptions via worst-case-to-average-case reductions. [3]

Falsifiability

A desired characteristic of a computational hardness assumption is falsifiability, i.e. that if the assumption were false, then it would be possible to prove it. In particular, Naor (2003) introduced a formal notion of cryptographic falsifiability. [4] Roughly, a computational hardness assumption is said to be falsifiable if it can be formulated in terms of a challenge: an interactive protocol between an adversary and an efficient verifier, where an efficient adversary can convince the verifier to accept if and only if the assumption is false.

Common cryptographic hardness assumptions

There are many cryptographic hardness assumptions in use. This is a list of some of the most common ones, and some cryptographic protocols that use them.

Integer factorization

Given a composite integer , and in particular one which is the product of two large primes , the integer factorization problem is to find and (more generally, find primes such that ). It is a major open problem to find an algorithm for integer factorization that runs in time polynomial in the size of representation (). The security of many cryptographic protocols rely on the assumption that integer factorization is hard (i.e. cannot be solved in polynomial time). Cryptosystems whose security is equivalent to this assumption include the Rabin cryptosystem and the Okamoto–Uchiyama cryptosystem. Many more cryptosystems rely on stronger assumptions such as RSA, Residuosity problems, and Phi-hiding.

RSA problem

Given a composite number , exponent and number , the RSA problem is to find . The problem is conjectured to be hard, but becomes easy given the factorization of . In the RSA cryptosystem, is the public key, is the encryption of message , and the factorization of is the secret key used for decryption.

Residuosity problems

Given a composite number and integers , the residuosity problem is to determine whether there exists (alternatively, find an) such that

Important special cases include the Quadratic residuosity problem and the Decisional composite residuosity problem. As in the case of RSA, this problem (and its special cases) are conjectured to be hard, but become easy given the factorization of . Some cryptosystems that rely on the hardness of residuousity problems include:

Phi-hiding assumption

For a composite number , it is not known how to efficiently compute its Euler's totient function . The Phi-hiding assumption postulates that it is hard to compute , and furthermore even computing any prime factors of is hard. This assumption is used in the Cachin–Micali–Stadler PIR protocol. [5]

Discrete log problem (DLP)

Given elements and from a group , the discrete log problem asks for an integer such that . The discrete log problem is not known to be comparable to integer factorization, but their computational complexities are closely related.

Most cryptographic protocols related to the discrete log problem actually rely on the stronger Diffie–Hellman assumption: given group elements , where is a generator and are random integers, it is hard to find . Examples of protocols that use this assumption include the original Diffie–Hellman key exchange, as well as the ElGamal encryption (which relies on the yet stronger Decisional Diffie–Hellman (DDH) variant).

Multilinear maps

A multilinear map is a function (where are groups) such that for any and ,

.

For cryptographic applications, one would like to construct groups and a map such that the map and the group operations on can be computed efficiently, but the discrete log problem on is still hard. [6] Some applications require stronger assumptions, e.g. multilinear analogs of Diffie-Hellman assumptions.

For the special case of , bilinear maps with believable security have been constructed using Weil pairing and Tate pairing. [7] For many constructions have been proposed in recent years, but many of them have also been broken, and currently there is no consensus about a safe candidate. [8]

Some cryptosystems that rely on multilinear hardness assumptions include:

Lattice problems

The most fundamental computational problem on lattices is the shortest vector problem (SVP): given a lattice , find the shortest non-zero vector . Most cryptosystems require stronger assumptions on variants of SVP, such as shortest independent vectors problem (SIVP), GapSVP, [10] or Unique-SVP. [11]

The most useful lattice hardness assumption in cryptography is for the learning with errors (LWE) problem: Given samples to , where for some linear function , it is easy to learn using linear algebra. In the LWE problem, the input to the algorithm has errors, i.e. for each pair with some small probability. The errors are believed to make the problem intractable (for appropriate parameters); in particular, there are known worst-case to average-case reductions from variants of SVP. [12]

For quantum computers, Factoring and Discrete Log problems are easy, but lattice problems are conjectured to be hard. [13] This makes some lattice-based cryptosystems candidates for post-quantum cryptography.

Some cryptosystems that rely on hardness of lattice problems include:

Non-cryptographic hardness assumptions

As well as their cryptographic applications, hardness assumptions are used in computational complexity theory to provide evidence for mathematical statements that are difficult to prove unconditionally. In these applications, one proves that the hardness assumption implies some desired complexity-theoretic statement, instead of proving that the statement is itself true. The best-known assumption of this type is the assumption that P ≠ NP, [14] but others include the exponential time hypothesis, [15] the planted clique conjecture, and the unique games conjecture. [16]

C-hard problems

Many worst-case computational problems are known to be hard or even complete for some complexity class , in particular NP-hard (but often also PSPACE-hard, PPAD-hard, etc.). This means that they are at least as hard as any problem in the class . If a problem is -hard (with respect to polynomial time reductions), then it cannot be solved by a polynomial-time algorithm unless the computational hardness assumption is false.

Exponential Time Hypothesis (ETH) and variants

The Exponential Time Hypothesis (ETH) is a strengthening of hardness assumption, which conjectures that not only does the Boolean satisfiability problem (SAT) not have a polynomial time algorithm, it furthermore requires exponential time (). [17] An even stronger assumption, known as the Strong Exponential Time Hypothesis (SETH) conjectures that -SAT requires time, where . ETH, SETH, and related computational hardness assumptions allow for deducing fine-grained complexity results, e.g. results that distinguish polynomial time and quasi-polynomial time, [1] or even versus . [18] Such assumptions are also useful in parametrized complexity. [19]

Average-case hardness assumptions

Some computational problems are assumed to be hard on average over a particular distribution of instances. For example, in the planted clique problem, the input is a random graph sampled, by sampling an Erdős–Rényi random graph and then "planting" a random -clique, i.e. connecting uniformly random nodes (where ), and the goal is to find the planted -clique (which is unique w.h.p.). [20] Another important example is Feige's Hypothesis, which is a computational hardness assumption about random instances of 3-SAT (sampled to maintain a specific ratio of clauses to variables). [21] Average-case computational hardness assumptions are useful for proving average-case hardness in applications like statistics, where there is a natural distribution over inputs. [22] Additionally, the planted clique hardness assumption has also been used to distinguish between polynomial and quasi-polynomial worst-case time complexity of other problems, [23] similarly to the Exponential Time Hypothesis.

Unique Games

The Unique Label Cover problem is a constraint satisfaction problem, where each constraint involves two variables , and for each value of there is a unique value of that satisfies . Determining whether all the constraints can be satisfied is easy, but the Unique Game Conjecture (UGC) postulates that determining whether almost all the constraints (-fraction, for any constant ) can be satisfied or almost none of them (-fraction) can be satisfied is NP-hard. [16] Approximation problems are often known to be NP-hard assuming UGC; such problems are referred to as UG-hard. In particular, assuming UGC there is a semidefinite programming algorithm that achieves optimal approximation guarantees for many important problems. [24]

Small Set Expansion

Closely related to the Unique Label Cover problem is the Small Set Expansion (SSE) problem: Given a graph , find a small set of vertices (of size ) whose edge expansion is minimal. It is known that if SSE is hard to approximate, then so is Unique Label Cover. Hence, the Small Set Expansion Hypothesis, which postulates that SSE is hard to approximate, is a stronger (but closely related) assumption than the Unique Game Conjecture. [25] Some approximation problems are known to be SSE-hard [26] (i.e. at least as hard as approximating SSE).

The 3SUM Conjecture

Given a set of numbers, the 3SUM problem asks whether there is a triplet of numbers whose sum is zero. There is a quadratic-time algorithm for 3SUM, and it has been conjectured that no algorithm can solve 3SUM in "truly sub-quadratic time": the 3SUM Conjecture is the computational hardness assumption that there are no -time algorithms for 3SUM (for any constant ). This conjecture is useful for proving near-quadratic lower bounds for several problems, mostly from computational geometry. [27]

See also

Related Research Articles

The P versus NP problem is a major unsolved problem in theoretical computer science. In informal terms, it asks whether every problem whose solution can be quickly verified can also be quickly solved.

In number theory, integer factorization is the decomposition of a positive integer into a product of integers. Every positive integer greater than 1 is either the product of two or more integer factors, in which case it is called a composite number, or it is not, in which case it is called a prime number. For example, 15 is a composite number because 15 = 3 · 5, but 7 is a prime number because it cannot be decomposed in this way. If one of the factors is composite, it can in turn be written as a product of smaller factors, for example 60 = 3 · 20 = 3 · (5 · 4). Continuing this process until every factor is prime is called prime factorization; the result is always unique up to the order of the factors by the prime factorization theorem.

In mathematics, for given real numbers a and b, the logarithm logba is a number x such that bx = a. Analogously, in any group G, powers bk can be defined for all integers k, and the discrete logarithm logba is an integer k such that bk = a. In number theory, the more commonly used term is index: we can write x = indra (mod m) (read "the index of a to the base r modulo m") for rxa (mod m) if r is a primitive root of m and gcd(a,m) = 1.

<span class="mw-page-title-main">Trapdoor function</span> One-way cryptographic tool

In theoretical computer science and cryptography, a trapdoor function is a function that is easy to compute in one direction, yet difficult to compute in the opposite direction without special information, called the "trapdoor". Trapdoor functions are a special case of one-way functions and are widely used in public-key cryptography.

In computer science, a one-way function is a function that is easy to compute on every input, but hard to invert given the image of a random input. Here, "easy" and "hard" are to be understood in the sense of computational complexity theory, specifically the theory of polynomial time problems. Not being one-to-one is not considered sufficient for a function to be called one-way.

<span class="mw-page-title-main">Time complexity</span> Estimate of time taken for running an algorithm

In theoretical computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by the algorithm, supposing that each elementary operation takes a fixed amount of time to perform. Thus, the amount of time taken and the number of elementary operations performed by the algorithm are taken to be related by a constant factor.

In computational complexity theory, the 3SUM problem asks if a given set of real numbers contains three elements that sum to zero. A generalized version, k-SUM, asks the same question on k numbers. 3SUM can be easily solved in time, and matching lower bounds are known in some specialized models of computation.

In cryptography, a semantically secure cryptosystem is one where only negligible information about the plaintext can be feasibly extracted from the ciphertext. Specifically, any probabilistic, polynomial-time algorithm (PPTA) that is given the ciphertext of a certain message , and the message's length, cannot determine any partial information on the message with probability non-negligibly higher than all other PPTA's that only have access to the message length. This concept is the computational complexity analogue to Shannon's concept of perfect secrecy. Perfect secrecy means that the ciphertext reveals no information at all about the plaintext, whereas semantic security implies that any information revealed cannot be feasibly extracted.

In theoretical computer science and cryptography, a pseudorandom generator (PRG) for a class of statistical tests is a deterministic procedure that maps a random seed to a longer pseudorandom string such that no statistical test in the class can distinguish between the output of the generator and the uniform distribution. The random seed itself is typically a short binary string drawn from the uniform distribution.

In computational complexity theory, the unique games conjecture is a conjecture made by Subhash Khot in 2002. The conjecture postulates that the problem of determining the approximate value of a certain type of game, known as a unique game, has NP-hard computational complexity. It has broad applications in the theory of hardness of approximation. If the unique games conjecture is true and P ≠ NP, then for many important problems it is not only impossible to get an exact solution in polynomial time, but also impossible to get a good polynomial-time approximation. The problems for which such an inapproximability result would hold include constraint satisfaction problems, which crop up in a wide variety of disciplines.

Lattice-based cryptography is the generic term for constructions of cryptographic primitives that involve lattices, either in the construction itself or in the security proof. Lattice-based constructions are currently important candidates for post-quantum cryptography. Unlike more widely used and known public-key schemes such as the RSA, Diffie-Hellman or elliptic-curve cryptosystems — which could, theoretically, be defeated using Shor's algorithm on a quantum computer — some lattice-based constructions appear to be resistant to attack by both classical and quantum computers. Furthermore, many lattice-based constructions are considered to be secure under the assumption that certain well-studied computational lattice problems cannot be solved efficiently.

In computer science, lattice problems are a class of optimization problems related to mathematical objects called lattices. The conjectured intractability of such problems is central to the construction of secure lattice-based cryptosystems: Lattice problems are an example of NP-hard problems which have been shown to be average-case hard, providing a test case for the security of cryptographic algorithms. In addition, some lattice problems which are worst-case hard can be used as a basis for extremely secure cryptographic schemes. The use of worst-case hardness in such schemes makes them among the very few schemes that are very likely secure even against quantum computers. For applications in such cryptosystems, lattices over vector space or free modules are generally considered.

In cryptography, learning with errors (LWE) is a mathematical problem that is widely used to create secure encryption algorithms. It is based on the idea of representing secret information as a set of equations with errors. In other words, LWE is a way to hide the value of a secret by introducing noise to it. In more technical terms, it refers to the computational problem of inferring a linear -ary function over a finite ring from given samples some of which may be erroneous. The LWE problem is conjectured to be hard to solve, and thus to be useful in cryptography.

In computational complexity theory, the exponential time hypothesis is an unproven computational hardness assumption that was formulated by Impagliazzo & Paturi (1999). It states that satisfiability of 3-CNF Boolean formulas cannot be solved in subexponential time, . More precisely, the usual form of the hypothesis asserts the existence of a number such that all algorithms that correctly solve this problem require time at least . The exponential time hypothesis, if true, would imply that P ≠ NP, but it is a stronger statement. It implies that many computational problems are equivalent in complexity, in the sense that if one of them has a subexponential time algorithm then they all do, and that many known algorithms for these problems have optimal or near-optimal time complexity.

In mathematics and computer algebra the factorization of a polynomial consists of decomposing it into a product of irreducible factors. This decomposition is theoretically possible and is unique for polynomials with coefficients in any field, but rather strong restrictions on the field of the coefficients are needed to allow the computation of the factorization by means of an algorithm. In practice, algorithms have been designed only for polynomials with coefficients in a finite field, in the field of rationals or in a finitely generated field extension of one of them.

In discrete mathematics, ideal lattices are a special class of lattices and a generalization of cyclic lattices. Ideal lattices naturally occur in many parts of number theory, but also in other areas. In particular, they have a significant place in cryptography. Micciancio defined a generalization of cyclic lattices as ideal lattices. They can be used in cryptosystems to decrease by a square root the number of parameters necessary to describe a lattice, making them more efficient. Ideal lattices are a new concept, but similar lattice classes have been used for a long time. For example, cyclic lattices, a special case of ideal lattices, are used in NTRUEncrypt and NTRUSign.

<span class="mw-page-title-main">Planted clique</span> Complete subgraph added to a random graph

In computational complexity theory, a planted clique or hidden clique in an undirected graph is a clique formed from another graph by selecting a subset of vertices and adding edges between each pair of vertices in the subset. The planted clique problem is the algorithmic problem of distinguishing random graphs from graphs that have a planted clique. This is a variation of the clique problem; it may be solved in quasi-polynomial time but is conjectured not to be solvable in polynomial time for intermediate values of the clique size. The conjecture that no polynomial time solution exists is called the planted clique conjecture; it has been used as a computational hardness assumption.

In mathematics and computer science, polynomial evaluation refers to computation of the value of a polynomial when its indeterminates are substituted for some values. In other words, evaluating the polynomial at consists of computing See also Polynomial ring § Polynomial evaluation

A parameterized approximation algorithm is a type of algorithm that aims to find approximate solutions to NP-hard optimization problems in polynomial time in the input size and a function of a specific parameter. These algorithms are designed to combine the best aspects of both traditional approximation algorithms and fixed-parameter tractability.

The small set expansion hypothesis or small set expansion conjecture in computational complexity theory is an unproven computational hardness assumption related to the unique games conjecture. Under the small set expansion hypothesis it is assumed to be computationally infeasible to distinguish between a certain class of expander graphs called "small set expanders" and other graphs that are very far from being small set expanders. This assumption implies the hardness of several other computational problems, and the optimality of certain known approximation algorithms.

References

  1. 1 2 Braverman, Mark; Ko, Young Kun; Weinstein, Omri (2015). "Approximating the best Nash Equilibrium in -time breaks the Exponential Time Hypothesis". Symposium on Discrete Algorithms (SODA). Society for Industrial and Applied Mathematics. pp. 970–982. doi:10.1137/1.9781611973730.66. ISBN   978-1-61197-374-7.
  2. J. Katz and Y. Lindell, Introduction to Modern Cryptography (Chapman and Hall/CRC Cryptography and Network Security Series), Chapman and Hall/CRC, 2007.
  3. Goldwasser, Shafi; Kalai, Yael Tauman (2016). "Cryptographic Assumptions: A Position Paper". Theory of Cryptography Conference (TCC) 2016. Springer. pp. 505–522. doi: 10.1007/978-3-662-49096-9_21 .
  4. Naor, Moni (2003). "On cryptographic assumptions and challenges". In Boneh, Dan (ed.). Advances in Cryptology – CRYPTO 2003: 23rd Annual International Cryptology Conference, Santa Barbara, California, USA, August 17-21, 2003, Proceedings. Lecture Notes in Computer Science. Vol. 2729. Berlin: Springer. pp. 96–109. doi: 10.1007/978-3-540-45146-4_6 . MR   2093188.
  5. Cachin, Christian; Micali, Silvio; Stadler, Markus (1999). "Computationally Private Information Retrieval with Polylogarithmic Communication". In Stern, Jacques (ed.). Advances in Cryptology — EUROCRYPT '99. Lecture Notes in Computer Science. Vol. 1592. Springer. pp. 402–414. doi:10.1007/3-540-48910-X_28. ISBN   978-3-540-65889-4. S2CID   29690672.
  6. Boneh, Dan; Silverberg, Alice (2002). "Applications of Multilinear Forms to Cryptography". Cryptology ePrint Archive.
  7. Dutta, Ratna; Barua, Rana; Sarkar, Palash (2004). "Pairing-Based Cryptographic Protocols : A Survey". Cryptology ePrint Archive.
  8. Albrecht, Martin R. "Are Graded Encoding Scheme broken yet?" . Retrieved 22 March 2018.
  9. Garg, Sanjam; Gentry, Craig; Halevi, Shai; Raykova, Mariana; Sahai, Amit; Waters, Brent (2016). "Candidate Indistinguishability Obfuscation and Functional Encryption for All Circuits" (PDF). SIAM Journal on Computing . SIAM. 45 (3): 882–929. doi:10.1137/14095772X.
  10. Peikert, Chris (2009). "Public-key cryptosystems from the worst-case shortest vector problem: extended abstract". Proceedings on 41st Annual ACM Symposium on Theory of Computing (STOC). pp. 333–342. doi:10.1145/1536414.1536461.
  11. Ajtai, Miklós; Dwork, Cynthia (1997). "A Public-Key Cryptosystem with Worst-Case/Average-Case Equivalence". Proceedings on 29th Annual ACM Symposium on Theory of Computing (STOC). pp. 284–293. doi:10.1145/258533.258604.
  12. Regev, Oded (2010). "The Learning with Errors Problem (Invited Survey)". Conference on Computational Complexity (CCC) 2010. pp. 191–204. doi:10.1109/CCC.2010.26.
  13. Peikert, Chris (2016). "A Decade of Lattice Cryptography". Foundations and Trends in Theoretical Computer Science. 10 (4): 283–424. doi:10.1561/0400000074.
  14. Fortnow, Lance (2009). "The status of the P versus NP problem" (PDF). Communications of the ACM . 52 (9): 78–86. doi:10.1145/1562164.1562186. S2CID   5969255. Archived from the original (PDF) on 2011-02-24..
  15. Woeginger, Gerhard (2003). "Exact algorithms for NP-hard problems: A survey". Combinatorial Optimization — Eureka, You Shrink!. Vol. 2570. Springer-Verlag. pp. 185–207. doi:10.1007/3-540-36478-1_17. S2CID   289357..
  16. 1 2 Khot, Subhash (2010). "On the Unique Games Conjecture". Proc. 25th IEEE Conference on Computational Complexity (PDF). pp. 99–121. doi:10.1109/CCC.2010.19..
  17. Impagliazzo, Russell; Paturi, Ramamohan (1999). "The Complexity of k-SAT". Proc. 14th IEEE Conf. on Computational Complexity. pp. 237–240. doi:10.1109/CCC.1999.766282.
  18. Abboud, Amir; Vassilevska-Williams, Virginia; Weimann, Oren (2014). "Consequences of Faster Alignment of Sequences". Automata, Languages, and Programming - 41st International Colloquium, ICALP 2014. pp. 39–51. doi:10.1007/978-3-662-43948-7_4.
  19. Lokshtanov, Daniel; Marx, Daniel; Saurabh, Saket (2011). "Lower bounds based on the Exponential Time Hypothesis". Bulletin of the EATCS. 105: 41–72.
  20. Arora, Sanjeev; Barak, Boaz (2009). Computational Complexity: A Modern Approach. Cambridge University Press. pp. 362–363. ISBN   9780521424264..
  21. Feige, Uriel (2002). "Relations between average case complexity and approximation complexity". Proceedings on 34th Annual ACM Symposium on Theory of Computing (STOC). pp. 534–543. doi:10.1145/509907.509985.
  22. Berthet, Quentin; Rigollet, Philippe (2013). "Complexity Theoretic Lower Bounds for Sparse Principal Component Detection". COLT 2013. pp. 1046–1066.
  23. Hazan, Elad; Krauthgamer, Robert (2011). "How Hard Is It to Approximate the Best Nash Equilibrium?". SIAM Journal on Computing . 40 (1): 79–91. CiteSeerX   10.1.1.139.7326 . doi:10.1137/090766991.
  24. Raghavendra, Prasad (2008). "Optimal algorithms and inapproximability results for every CSP?". 40th Annual ACM Symposium on theory of Computing (STOC) 2008. pp. 245–254. doi:10.1145/1374376.1374414.
  25. Raghavendra, Prasad; Steurer, David (2010). "Graph Expansion and the Unique Games Conjecture". 42nd Annual ACM Symposium on theory of Computing (STOC) 2010. pp. 755–764. doi:10.1145/1806689.1806792.
  26. Wu, Yu; Austrin, Per; Pitassi, Toniann; Liu, David (2014). "Inapproximability of Treewidth and Related Problems". Journal of Artificial Intelligence Research. 49: 569–600. doi: 10.1613/jair.4030 .
  27. Vassilevska Williams, Virginia (2018). "On some fine-grained questions in algorithms and complexity". ICM 2018 (PDF).