<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://en.zaoniao.it/index.php?action=history&amp;feed=atom&amp;title=Random_oracle</id>
	<title>Random oracle - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://en.zaoniao.it/index.php?action=history&amp;feed=atom&amp;title=Random_oracle"/>
	<link rel="alternate" type="text/html" href="http://en.zaoniao.it/index.php?title=Random_oracle&amp;action=history"/>
	<updated>2026-05-15T09:20:26Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>http://en.zaoniao.it/index.php?title=Random_oracle&amp;diff=6544&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;In cryptography, a '''random oracle''' is an oracle (a theoretical black box) that responds to every ''unique query'' with a (tr...&quot;</title>
		<link rel="alternate" type="text/html" href="http://en.zaoniao.it/index.php?title=Random_oracle&amp;diff=6544&amp;oldid=prev"/>
		<updated>2019-07-03T08:43:52Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;In &lt;a href=&quot;/index.php?title=Cryptography&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Cryptography (page does not exist)&quot;&gt;cryptography&lt;/a&gt;, a &amp;#039;&amp;#039;&amp;#039;random oracle&amp;#039;&amp;#039;&amp;#039; is an &lt;a href=&quot;/index.php?title=Oracle_machine&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Oracle machine (page does not exist)&quot;&gt;oracle&lt;/a&gt; (a theoretical &lt;a href=&quot;/index.php?title=Black_box_(systems)&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Black box (systems) (page does not exist)&quot;&gt;black box&lt;/a&gt;) that responds to every &amp;#039;&amp;#039;unique query&amp;#039;&amp;#039; with a (tr...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;In [[cryptography]], a '''random oracle''' is an [[oracle machine|oracle]] (a theoretical [[black box (systems)|black box]]) that responds to every ''unique query'' with a (truly) [[random]] response chosen [[uniform distribution (discrete)|uniformly]] from its output domain. If a query is repeated it responds the same way every time that query is submitted.&lt;br /&gt;
&lt;br /&gt;
Stated differently, a random oracle is a [[mathematical function]] chosen uniformly at random, that is, a function mapping each possible query to a (fixed) random response from its output domain.&lt;br /&gt;
&lt;br /&gt;
Random oracles as a mathematical abstraction were firstly used in rigorous cryptographic proofs in the 1993 publication by [[Mihir Bellare]] and [[Phillip Rogaway]] (1993). They are typically used when the [[cryptographic hash function]]s in the method cannot be proven to possess the mathematical properties required by the proof. A system that is proven secure when every hash function is replaced by a random oracle is described as being secure in the '''random oracle model''', as opposed to secure in the [[Standard Model (cryptography)|standard model of cryptography]].&lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
Random oracles are typically used&amp;amp;lt;!-- See talk page &amp;quot;Weasel Words&amp;quot;--&amp;amp;gt; as an [[platonic ideal|ideal]] replacement for [[cryptographic hash function]]s in schemes where strong randomness assumptions are needed of the hash function's output. Such a proof generally shows that a system or a protocol is secure by showing that an attacker must require impossible behavior from the oracle, or solve some mathematical problem believed [[List of hard mathematical problems|hard]] in order to break it.&lt;br /&gt;
&lt;br /&gt;
Not all uses of cryptographic hash functions require random oracles: schemes that require only one or more properties having a definition in the [[Standard model (cryptography)|standard model]] (such as [[collision resistance]], [[preimage resistance]], [[second preimage resistance]], etc.) can often be proven secure in the standard model (e.g., the [[Cramer–Shoup cryptosystem]]).&lt;br /&gt;
&lt;br /&gt;
Random oracles have long been considered in [[computational complexity theory]], and many schemes have been proven secure in the random oracle model, for example [[Optimal Asymmetric Encryption Padding]], [[Full Domain Hash|RSA-FDH]] and [[Probabilistic Signature Scheme]]. In 1986, [[Amos Fiat]] and [[Adi Shamir]] showed a major application of random oracles – the removal of interaction from protocols for the creation of signatures.&lt;br /&gt;
&lt;br /&gt;
In 1989, Russell Impagliazzo and Steven Rudich showed the limitation of random oracles – namely that their existence alone is not sufficient for secret-key exchange.&lt;br /&gt;
&lt;br /&gt;
In 1993, [[Mihir Bellare]] and [[Phillip Rogaway]] Nonetheless, for any more natural protocol a proof of security in the random oracle model gives very strong evidence of the ''practical'' security of the protocol.&lt;br /&gt;
&lt;br /&gt;
In general, if a protocol is proven secure, attacks to that protocol must either be outside what was proven, or break one of the assumptions in the proof; for instance if the proof relies on the hardness of [[integer factorization]], to break this assumption one must discover a fast integer factorization algorithm. Instead, to break the random oracle assumption, one must discover some unknown and undesirable property of the actual hash function; for good hash functions where such properties are believed unlikely, the considered protocol can be considered secure.&lt;br /&gt;
&lt;br /&gt;
== Random Oracle Hypothesis ==&lt;br /&gt;
Although the Baker–Gill–Solovay theorem showed that there exists an oracle A such that P&amp;amp;lt;sup&amp;amp;gt;A&amp;amp;lt;/sup&amp;amp;gt; = NP&amp;amp;lt;sup&amp;amp;gt;A&amp;amp;lt;/sup&amp;amp;gt;, subsequent work by Bennett and Gill, showed that for a ''random oracle'' B (a function from {0,1}&amp;amp;lt;sup&amp;amp;gt;n&amp;amp;lt;/sup&amp;amp;gt; to {0,1} such that each input element maps to each of 0 or 1 with probability 1/2, independently of the mapping of all other inputs), P&amp;amp;lt;sup&amp;amp;gt;B&amp;amp;lt;/sup&amp;amp;gt; ⊊ NP&amp;amp;lt;sup&amp;amp;gt;B&amp;amp;lt;/sup&amp;amp;gt; with probability 1. Similar separations, as well as the fact that random oracles separate classes with probability 0 or 1 (as a consequence of the [[Kolmogorov's zero–one law]]), led to the creation of the '''Random Oracle Hypothesis''', that two &amp;quot;acceptable&amp;quot; complexity classes C&amp;amp;lt;sub&amp;amp;gt;1&amp;amp;lt;/sub&amp;amp;gt; and C&amp;amp;lt;sub&amp;amp;gt;2&amp;amp;lt;/sub&amp;amp;gt; are equal if and only if they are equal (with probability 1) under a random oracle (the acceptability of a complexity class is defined in BG81 despite IP&amp;amp;lt;sup&amp;amp;gt;A&amp;amp;lt;/sup&amp;amp;gt; ⊊ PSPACE&amp;amp;lt;sup&amp;amp;gt;A&amp;amp;lt;/sup&amp;amp;gt; for a random oracle A with probability 1.&lt;br /&gt;
&lt;br /&gt;
== Ideal cipher == &amp;amp;lt;!--- [[User:Strew]] checked for possible R to section but not sure on this from search, could mean other ciphers --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
An ''ideal'' cipher is a [[random permutation]] oracle that is used to model an idealized block cipher.&lt;br /&gt;
A random permutation decrypts each ciphertext block into one and only one plaintext block and vice versa, so there is a [[one-to-one correspondence]].&lt;br /&gt;
Some cryptographic proofs make not only the &amp;quot;forward&amp;quot; permutation available to all players, but also the &amp;quot;reverse&amp;quot; permutation.&lt;br /&gt;
&lt;br /&gt;
Recent works showed that an ideal cipher can be constructed from a random oracle using 10-round or even 8-round [[Feistel network]]s.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Sponge function]]&lt;br /&gt;
* [[Oracle machine]]&lt;br /&gt;
* [[Standard model (cryptography)]]&lt;br /&gt;
* [[Topics in cryptography]]&lt;br /&gt;
&lt;br /&gt;
==Source==&lt;br /&gt;
&lt;br /&gt;
[http://wikipedia.org/ http://wikipedia.org/]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>