<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sarg.dev/index.php?action=history&amp;feed=atom&amp;title=One-way_function</id>
	<title>One-way function - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sarg.dev/index.php?action=history&amp;feed=atom&amp;title=One-way_function"/>
	<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=One-way_function&amp;action=history"/>
	<updated>2026-04-22T20:28:16Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.sarg.dev/index.php?title=One-way_function&amp;diff=230511&amp;oldid=prev</id>
		<title>imported&gt;InternetArchiveBot: Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5</title>
		<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=One-way_function&amp;diff=230511&amp;oldid=prev"/>
		<updated>2025-08-08T01:21:31Z</updated>

		<summary type="html">&lt;p&gt;Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|Function used in computer cryptography}}&lt;br /&gt;
{{unsolved|computer science|Do one-way functions exist?}}&lt;br /&gt;
&lt;br /&gt;
In [[computer science]], a &amp;#039;&amp;#039;&amp;#039;one-way function&amp;#039;&amp;#039;&amp;#039; is a [[function (mathematics)|function]] that is easy to compute on every input, but hard to [[Inverse function|invert]] given the [[image (mathematics)|image]] of a random input.  Here, &amp;quot;easy&amp;quot; and &amp;quot;hard&amp;quot; are to be understood in the sense of [[computational complexity theory]], specifically the theory of [[polynomial time]] problems. This has nothing to do with whether the function is [[One-to-one function|one-to-one]]; finding any one input with the desired image is considered a successful inversion.  (See {{slink||Theoretical definition}}, below.)&lt;br /&gt;
&lt;br /&gt;
The existence of such one-way functions is still an open [[conjecture]]. Their existence would prove that the [[complexity classes]] [[P = NP problem|P and NP are not equal]], thus resolving the foremost unsolved question of theoretical computer science.&amp;lt;ref name=Goldreich&amp;gt;[[Oded Goldreich]] (2001). Foundations of Cryptography: Volume 1, Basic Tools ([http://www.wisdom.weizmann.ac.il/~oded/PSBookFrag/part2N.ps draft available] from author&amp;#039;s site). Cambridge University Press. {{isbn|0-521-79172-3}}. See also [http://www.wisdom.weizmann.ac.il/~oded/foc-book.html wisdom.weizmann.ac.il].&amp;lt;/ref&amp;gt;{{rp|ex. 2.2, page 70}} The converse is not known to be true, i.e. the existence of a proof that P&amp;amp;nbsp;≠&amp;amp;nbsp;NP would not directly imply the existence of one-way functions.&amp;lt;ref&amp;gt;[[Shafi Goldwasser|Goldwasser, S.]] and [[Mihir Bellare|Bellare, M.]] [http://cseweb.ucsd.edu/~mihir/papers/gb.html &amp;quot;Lecture Notes on Cryptography&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20120421084751/http://cseweb.ucsd.edu/~mihir/papers/gb.html |date=2012-04-21 }}. Summer course on cryptography, MIT, 1996–2001.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In applied contexts, the terms &amp;quot;easy&amp;quot; and &amp;quot;hard&amp;quot; are usually interpreted relative to some specific computing entity; typically &amp;quot;cheap enough for the legitimate users&amp;quot; and &amp;quot;prohibitively expensive for any [[Black hat hacking|malicious agents]]&amp;quot;.{{citation needed|date=September 2023}} One-way functions, in this sense, are fundamental tools for [[cryptography]], [[personal identification]], [[authentication]], and other [[data security]] applications. While the existence of one-way functions in this sense is also an open conjecture, there are several candidates that have withstood decades of intense scrutiny. Some of them are essential ingredients of most [[telecommunications]], [[e-commerce]], and [[Online banking|e-banking]] systems around the world.&lt;br /&gt;
&lt;br /&gt;
==Theoretical definition==&lt;br /&gt;
A function &amp;#039;&amp;#039;f&amp;#039;&amp;#039; : {0,&amp;amp;nbsp;1}&amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt; → {0,&amp;amp;nbsp;1}&amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt; is &amp;#039;&amp;#039;&amp;#039;one-way&amp;#039;&amp;#039;&amp;#039; if &amp;#039;&amp;#039;f&amp;#039;&amp;#039; can be computed by a polynomial-time algorithm, but any polynomial-time [[randomized algorithm]] &amp;lt;math&amp;gt;F&amp;lt;/math&amp;gt; that attempts to compute a pseudo-inverse for &amp;#039;&amp;#039;f&amp;#039;&amp;#039; succeeds with [[Negligible function|negligible]] probability. (The * superscript means any number of repetitions, see [[Kleene star]].) That is, for all randomized algorithms &amp;lt;math&amp;gt;F&amp;lt;/math&amp;gt;, all positive integers &amp;#039;&amp;#039;c&amp;#039;&amp;#039; and all sufficiently large &amp;#039;&amp;#039;n&amp;#039;&amp;#039; = length(&amp;#039;&amp;#039;x&amp;#039;&amp;#039;),&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt;\Pr[f(F(f(x))) = f(x)] &amp;lt; n^{-c},&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where the probability is over the choice of &amp;#039;&amp;#039;x&amp;#039;&amp;#039; from the [[Uniform distribution (discrete)|discrete uniform distribution]] on {0,&amp;amp;nbsp;1}&amp;amp;nbsp;&amp;lt;sup&amp;gt;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;lt;/sup&amp;gt;, and the randomness of &amp;lt;math&amp;gt;F&amp;lt;/math&amp;gt;.&amp;lt;ref&amp;gt;Many authors view this definition as strong one-way function. A weak one-way function can be defined similarly except that the probability that every adversarial &amp;lt;math&amp;gt;F&amp;lt;/math&amp;gt; fails to invert &amp;#039;&amp;#039;f&amp;#039;&amp;#039; is noticeable. However, one may construct strong one-way functions based on weak ones. Loosely speaking, strong and weak versions of one-way function are equivalent theoretically. See Goldreich&amp;#039;s Foundations of Cryptography, vol.&amp;amp;nbsp;1, ch.&amp;amp;nbsp;2.1–2.3.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that, by this definition, the function must be &amp;quot;hard to invert&amp;quot; in the [[best, worst and average case|average-case, rather than worst-case]] sense. This is different from much of complexity theory (e.g., [[NP-hard]]ness), where the term &amp;quot;hard&amp;quot; is meant in the worst-case. That is why even if some candidates for one-way functions (described below) are known to be [[NP-complete]], it does not imply their one-wayness. The latter property is only based on the lack of known algorithms to solve the problem.&lt;br /&gt;
&lt;br /&gt;
It is not sufficient to make a function &amp;quot;lossy&amp;quot; (not one-to-one) to have a one-way function. In particular, the function that outputs the string of &amp;#039;&amp;#039;n&amp;#039;&amp;#039; zeros on any input of length &amp;#039;&amp;#039;n&amp;#039;&amp;#039; is &amp;#039;&amp;#039;not&amp;#039;&amp;#039; a one-way function because it is easy to come up with an input that will result in the same output. More precisely: For such a function that simply outputs a string of zeroes, an algorithm &amp;#039;&amp;#039;F&amp;#039;&amp;#039; that just outputs any string of length &amp;#039;&amp;#039;n&amp;#039;&amp;#039; on input &amp;#039;&amp;#039;f&amp;#039;&amp;#039;(&amp;#039;&amp;#039;x&amp;#039;&amp;#039;) will &amp;quot;find&amp;quot; a proper preimage of the output, even if it is not the input which was originally used to find the output string.&lt;br /&gt;
&lt;br /&gt;
==Related concepts==&lt;br /&gt;
A &amp;#039;&amp;#039;&amp;#039;one-way permutation&amp;#039;&amp;#039;&amp;#039; is a one-way function that is also a permutation—that is, a one-way function that is [[bijective]].  One-way permutations are an important [[cryptographic primitive]], and it is not known if their existence is implied by the existence of one-way functions.&lt;br /&gt;
&lt;br /&gt;
A [[trapdoor one-way function]] or trapdoor permutation is a special kind of one-way function. Such a function is hard to invert unless some secret information, called the &amp;#039;&amp;#039;trapdoor&amp;#039;&amp;#039;, is known.&lt;br /&gt;
&lt;br /&gt;
A &amp;#039;&amp;#039;&amp;#039;collision-free hash function&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;f&amp;#039;&amp;#039; is a one-way function that is also &amp;#039;&amp;#039;collision-resistant&amp;#039;&amp;#039;; that is, no [[randomized polynomial time]] algorithm can find a [[hash collision|collision]]—distinct values &amp;#039;&amp;#039;x&amp;#039;&amp;#039;, &amp;#039;&amp;#039;y&amp;#039;&amp;#039; such that &amp;#039;&amp;#039;f&amp;#039;&amp;#039;(&amp;#039;&amp;#039;x&amp;#039;&amp;#039;) = &amp;#039;&amp;#039;f&amp;#039;&amp;#039;(&amp;#039;&amp;#039;y&amp;#039;&amp;#039;)—with non-negligible probability.&amp;lt;ref&amp;gt;{{cite journal |last=Russell |first=A. |title=Necessary and Sufficient Conditions for Collision-Free Hashing |journal=[[Journal of Cryptology]] |volume=8 |issue=2 |pages=87–99 |year=1995 |doi=10.1007/BF00190757 |s2cid=26046704 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Theoretical implications of one-way functions==&lt;br /&gt;
If &amp;#039;&amp;#039;f&amp;#039;&amp;#039; is a one-way function, then the inversion of &amp;#039;&amp;#039;f&amp;#039;&amp;#039; would be a problem whose output is hard to compute (by definition) but easy to check (just by computing &amp;#039;&amp;#039;f&amp;#039;&amp;#039; on it). Thus, the existence of a one-way function implies that [[FP (complexity)|FP]]&amp;amp;nbsp;≠&amp;amp;nbsp;[[FNP (complexity)|FNP]], which in turn implies that P&amp;amp;nbsp;≠&amp;amp;nbsp;NP. However, P&amp;amp;nbsp;≠&amp;amp;nbsp;NP does not imply the existence of one-way functions.&lt;br /&gt;
&lt;br /&gt;
The existence of a one-way function implies the existence of many other useful concepts, including:&lt;br /&gt;
* [[Pseudorandom generator]]s&lt;br /&gt;
* [[Pseudorandom function]] families&lt;br /&gt;
* [[Commitment scheme|Bit commitment schemes]]&lt;br /&gt;
* Private-key encryption schemes secure against [[adaptive chosen-ciphertext attack]]&lt;br /&gt;
* [[Message authentication code]]s&lt;br /&gt;
* [[Digital signature scheme]]s (secure against adaptive chosen-message attack)&lt;br /&gt;
&lt;br /&gt;
==Candidates for one-way functions==&lt;br /&gt;
The following are several candidates for one-way functions (as of April 2009). Clearly, it is not known whether&lt;br /&gt;
these functions are indeed one-way; but extensive research has so far failed to produce an efficient inverting algorithm for any of them.{{Citation needed|reason=No sources are listed|date=March 2018}}&lt;br /&gt;
&lt;br /&gt;
===Multiplication and factoring===&lt;br /&gt;
The function &amp;#039;&amp;#039;f&amp;#039;&amp;#039; takes as inputs two prime numbers &amp;#039;&amp;#039;p&amp;#039;&amp;#039; and &amp;#039;&amp;#039;q&amp;#039;&amp;#039; in binary notation and returns their product.  This function can be &amp;quot;easily&amp;quot; computed in [[big O notation|&amp;#039;&amp;#039;O&amp;#039;&amp;#039;(&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;)]] time, where &amp;#039;&amp;#039;b&amp;#039;&amp;#039; is the total number of bits of the inputs.  Inverting this function requires finding the [[integer factorization|factors of a given integer]] &amp;#039;&amp;#039;N&amp;#039;&amp;#039;.  The best factoring algorithms known run in &amp;lt;math&amp;gt;O\left(\exp\sqrt[3]{\frac{64}{9} b (\log b)^2}\right)&amp;lt;/math&amp;gt;time, where b is the number of bits needed to represent &amp;#039;&amp;#039;N&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
This function can be generalized by allowing &amp;#039;&amp;#039;p&amp;#039;&amp;#039; and &amp;#039;&amp;#039;q&amp;#039;&amp;#039; to range over a  suitable set of [[semiprimes]].  Note that &amp;#039;&amp;#039;f&amp;#039;&amp;#039; is not one-way for randomly selected integers {{nowrap|&amp;#039;&amp;#039;p&amp;#039;&amp;#039;, &amp;#039;&amp;#039;q&amp;#039;&amp;#039; &amp;amp;gt; 1}}, since the product will have 2 as a factor with probability 3/4 (because the probability that an arbitrary &amp;#039;&amp;#039;p&amp;#039;&amp;#039; is odd is 1/2, and likewise for &amp;#039;&amp;#039;q&amp;#039;&amp;#039;, so if they&amp;#039;re chosen independently, the probability that both are odd is therefore 1/4; hence the probability that &amp;#039;&amp;#039;p&amp;#039;&amp;#039; or &amp;#039;&amp;#039;q&amp;#039;&amp;#039; is even, is {{nowrap|1=1 − 1/4 = 3/4}}).&lt;br /&gt;
&lt;br /&gt;
===The Rabin function (modular squaring)===&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Rabin function&amp;#039;&amp;#039;&amp;#039;,&amp;lt;ref name=Goldreich /&amp;gt;{{rp|57}} or squaring [[modular arithmetic|modulo]] &amp;lt;math&amp;gt;N=pq&amp;lt;/math&amp;gt;, where {{mvar|p}} and {{mvar|q}} are primes is believed to be a collection of one-way functions. We write&lt;br /&gt;
:&amp;lt;math&amp;gt;\operatorname{Rabin}_N(x)\triangleq x^2\bmod N&amp;lt;/math&amp;gt;&lt;br /&gt;
to denote squaring modulo {{mvar|N}}: a specific member of the &amp;#039;&amp;#039;&amp;#039;Rabin collection&amp;#039;&amp;#039;&amp;#039;. It can be shown that extracting square roots, i.e. inverting the Rabin function, is computationally equivalent to factoring {{mvar|N}} (in the sense of [[polynomial-time reduction]]). Hence it can be proven that the Rabin collection is one-way if and only if factoring is hard. This also holds for the special case in which {{mvar|p}} and {{mvar|q}} are of the same bit length. The [[Rabin signature algorithm]] is based on the assumption that this Rabin function is one-way.&lt;br /&gt;
&lt;br /&gt;
===Discrete exponential and logarithm===&lt;br /&gt;
[[Modular exponentiation]] can be done in polynomial time. Inverting this function requires computing the [[discrete logarithm]]. Currently there are several popular groups for which no algorithm to calculate the underlying discrete logarithm in polynomial time is known. These groups are all [[finite abelian group]]s and the general discrete logarithm problem can be described as thus.&lt;br /&gt;
&lt;br /&gt;
Let &amp;#039;&amp;#039;G&amp;#039;&amp;#039; be a finite abelian group of [[cardinality]] &amp;#039;&amp;#039;n&amp;#039;&amp;#039;. Denote its [[group operation]] by multiplication. Consider a [[Primitive element (finite field)|primitive element]] {{nowrap|&amp;#039;&amp;#039;&amp;amp;alpha;&amp;#039;&amp;#039; &amp;amp;isin; &amp;#039;&amp;#039;G&amp;#039;&amp;#039;}} and another element {{nowrap|&amp;#039;&amp;#039;&amp;amp;beta;&amp;#039;&amp;#039; &amp;amp;isin; &amp;#039;&amp;#039;G&amp;#039;&amp;#039;}}. The discrete logarithm problem is to find the positive integer &amp;#039;&amp;#039;k&amp;#039;&amp;#039;, where {{nowrap|1 ≤ &amp;#039;&amp;#039;k&amp;#039;&amp;#039; ≤ n}}, such that:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\alpha^k = \underbrace{\alpha \cdot \alpha \cdot \ldots \cdot \alpha}_{k \; \mathrm{times}} = \beta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The integer &amp;#039;&amp;#039;k&amp;#039;&amp;#039; that solves the equation {{nowrap|1=&amp;#039;&amp;#039;&amp;amp;alpha;&amp;lt;sup&amp;gt;k&amp;lt;/sup&amp;gt;&amp;#039;&amp;#039; = &amp;#039;&amp;#039;&amp;amp;beta;&amp;#039;&amp;#039;}} is termed the &amp;#039;&amp;#039;&amp;#039;discrete logarithm&amp;#039;&amp;#039;&amp;#039; of &amp;#039;&amp;#039;&amp;amp;beta;&amp;#039;&amp;#039; to the base &amp;#039;&amp;#039;&amp;amp;alpha;&amp;#039;&amp;#039;. One writes {{nowrap|1=&amp;#039;&amp;#039;k&amp;#039;&amp;#039; = log&amp;lt;sub&amp;gt;&amp;#039;&amp;#039;&amp;amp;alpha;&amp;#039;&amp;#039;&amp;lt;/sub&amp;gt; &amp;#039;&amp;#039;&amp;amp;beta;&amp;#039;&amp;#039;}}.&lt;br /&gt;
&lt;br /&gt;
Popular choices for the group &amp;#039;&amp;#039;G&amp;#039;&amp;#039; in discrete logarithm [[cryptography]] are the cyclic groups [[multiplicative group of integers modulo n|(&amp;#039;&amp;#039;&amp;#039;Z&amp;#039;&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;&amp;#039;&amp;#039;p&amp;#039;&amp;#039;&amp;lt;/sub&amp;gt;)&amp;lt;sup&amp;gt;&amp;#039;&amp;#039;×&amp;#039;&amp;#039;&amp;lt;/sup&amp;gt;]] (e.g. [[ElGamal encryption]], [[Diffie–Hellman key exchange]], and the [[Digital Signature Algorithm]]) and cyclic subgroups of [[elliptic curve]]s over [[finite field]]s (&amp;#039;&amp;#039;see&amp;#039;&amp;#039; [[elliptic curve cryptography]]).&lt;br /&gt;
&lt;br /&gt;
An elliptic curve is a set of pairs of elements of a [[Field (mathematics)|field]] satisfying {{nowrap|1=&amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; = &amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; + &amp;#039;&amp;#039;ax&amp;#039;&amp;#039; + &amp;#039;&amp;#039;b&amp;#039;&amp;#039;}}. The elements of the curve form a group under an operation called &amp;quot;point addition&amp;quot; (which is not the same as the addition operation of the field). Multiplication &amp;#039;&amp;#039;kP&amp;#039;&amp;#039; of a point &amp;#039;&amp;#039;P&amp;#039;&amp;#039; by an integer &amp;#039;&amp;#039;k&amp;#039;&amp;#039; (&amp;#039;&amp;#039;i.e.&amp;#039;&amp;#039;, a [[Group action (mathematics)|group action]] of the additive group of the integers) is defined as repeated addition of the point to itself. If &amp;#039;&amp;#039;k&amp;#039;&amp;#039; and &amp;#039;&amp;#039;P&amp;#039;&amp;#039; are known, it is easy to compute {{nowrap|1=&amp;#039;&amp;#039;R&amp;#039;&amp;#039; = &amp;#039;&amp;#039;kP&amp;#039;&amp;#039;}}, but if only &amp;#039;&amp;#039;R&amp;#039;&amp;#039; and &amp;#039;&amp;#039;P&amp;#039;&amp;#039; are known, it is assumed to be hard to compute &amp;#039;&amp;#039;k&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
===Cryptographically secure hash functions===&lt;br /&gt;
There are a number of [[cryptographic hash function]]s that are fast to compute, such as [[SHA-256]]. Some of the simpler versions have fallen to sophisticated analysis, but the strongest versions continue to offer fast, practical solutions for one-way computation. Most of the theoretical support for the functions are more techniques for thwarting some of the previously successful attacks.&lt;br /&gt;
&lt;br /&gt;
===Other candidates===&lt;br /&gt;
Other candidates for one-way functions include the hardness of the decoding of random [[linear code]]s, the hardness of certain [[lattice problems]], and the [[subset sum problem]] ([[Naccache–Stern knapsack cryptosystem]]).&lt;br /&gt;
&lt;br /&gt;
==Universal one-way function==&lt;br /&gt;
There is an explicit function &amp;#039;&amp;#039;f&amp;#039;&amp;#039; that has been proved to be one-way, if and only if one-way functions exist.&amp;lt;ref name=&amp;quot;HCPred&amp;quot;&amp;gt;{{Cite journal |first=Leonid A. |last=Levin |author-link=Leonid Levin |title=The Tale of One-Way Functions |journal=Problems of Information Transmission |issue=39 |date=January 2003 |volume=39 |pages=92–103 |arxiv=cs.CR/0012023 |doi=10.1023/A:1023634616182}}&amp;lt;/ref&amp;gt; In other words, if any function is one-way, then so is &amp;#039;&amp;#039;f&amp;#039;&amp;#039;.  Since this function was the first combinatorial complete one-way function to be demonstrated, it is known as the &amp;quot;universal one-way function&amp;quot;. The problem of finding a one-way function is thus reduced to proving{{emdash}}perhaps non-constructively{{emdash}}that one such function exists.&lt;br /&gt;
&lt;br /&gt;
There also exists a function that is one-way if polynomial-time bounded [[Kolmogorov complexity#Time-bounded complexity|Kolmogorov complexity]] is mildly hard on average. Since the existence of one-way functions implies that polynomial-time bounded Kolmogorov complexity is mildly hard on average, the function is a universal one-way function.&amp;lt;ref&amp;gt;{{cite arXiv |last1=Liu |first1=Yanyi |title=On One-way Functions and Kolmogorov Complexity |date=2020-09-24 |eprint=2009.11514 |class=cs.CC |last2=Pass |first2=Rafael}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[One-way compression function]]&lt;br /&gt;
* [[Cryptographic hash function]]&lt;br /&gt;
* [[Geometric cryptography]]&lt;br /&gt;
* [[Trapdoor function]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
==Further reading==&lt;br /&gt;
* Jonathan Katz and Yehuda Lindell (2007). &amp;#039;&amp;#039;Introduction to Modern Cryptography&amp;#039;&amp;#039;. CRC Press. {{isbn|1-58488-551-3}}.&lt;br /&gt;
* {{Cite book | author = Michael Sipser | author-link = Michael Sipser | year = 1997 | title = Introduction to the Theory of Computation | publisher = PWS Publishing | isbn = 978-0-534-94728-6 | url-access = registration | url = https://archive.org/details/introductiontoth00sips }} Section 10.6.3: One-way functions, pp.&amp;amp;nbsp;374&amp;amp;ndash;376.&lt;br /&gt;
* {{Cite book|author = Christos Papadimitriou|author-link = Christos Papadimitriou| year = 1993 | title = Computational Complexity | publisher = Addison Wesley | edition = 1st | isbn = 978-0-201-53082-7}} Section 12.1: One-way functions, pp.&amp;amp;nbsp;279&amp;amp;ndash;298.&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:One-Way Function}}&lt;br /&gt;
[[Category:Cryptographic primitives]]&lt;br /&gt;
[[Category:Unsolved problems in computer science]]&lt;/div&gt;</summary>
		<author><name>imported&gt;InternetArchiveBot</name></author>
	</entry>
</feed>