TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Random oracle

36 pointsby Promargedalmost 7 years ago

3 comments

throwawaymathalmost 7 years ago
I&#x27;ve always been intrigued by the way that certain Wikipedia pages can show up on the front page of HN. They always feel so...lacking in motivation. Maybe that&#x27;s why they languish without discussion :). There&#x27;s no straightforward explanation of why the random oracle model is a thing in this article, or why cryptographers don&#x27;t always just use the standard model.<p>The standard model of cryptography is the basic, default model in which security is a function of the computational time and power required by an adversary to break the cryptosystem. This conception is purely complexity theoretic: we have e.g. a construction based on a hash function, and we want to make sure there is no polynomial time algorithm for breaking it so long as the hash function is preimage and collision resistant. The construction is &quot;provably secure&quot; if we can prove there exists no such algorithm when the hash function has the requisite properties. Then we say the cryptosystem is &quot;secure in the standard model.&quot;<p>Provable security in the standard model is difficult to achieve - we can&#x27;t always extrapolate the complexity theoretic security of a cryptosystem from the underlying security of its hash function. We <i>could</i> give it our best effort and still use it since it <i>seems</i> hard to break, but that&#x27;s not a sound basis for cryptanalysis. Instead, the random oracle model is an &quot;idealized model&quot; that offers a compromise between the strict security of the standard model and shrugging our shoulders. This lets us determine that, as long as the model approximates an ideal version of the cryptosystem, we have some measure of assurance that there really is rigorous security involved - some proof is better than no proof.<p>To use the random oracle model, we replace the hash function in question (ostensibly, pseudorandom) with a truly random function - its &quot;ideal&quot; version. We do this by modeling a black box which every participant in the cryptosystem can query but which no participant can peer inside. A query is an input binary string, and the oracle returns an output binary string when queried. Although the output of each query is truly random, it&#x27;s consistent: repeating a query results in the same output as the original. Then a proof of security in the random oracle model indicates that any weakness present in the standard model is a weakness lying between the pseudorandomness of the hash function and the ideal randomness of the oracle function.<p>Much as we don&#x27;t need the true randomness of a one-time pad for practically secure encryption, and can opt instead for the computational assurances of the standard model, the random oracle model posits that a sufficiently secure hash function is &quot;secure enough&quot; even if it isn&#x27;t truly random.
评论 #17455116 未加载
amingilanialmost 7 years ago
Is there output size fixed? Because in that case, if I feed it an array of inputs larger than the output size, it&#x27;ll logically have to throw a collision. At that point, how is it better than a hash function?<p>Forgive the naivety of my question. I&#x27;m self-taught.
评论 #17457338 未加载
lxealmost 7 years ago
From what I gather it&#x27;s basically like an infinite shuffled deck of cards. For every position in deck (input), you get a card (output).
评论 #17455583 未加载