ArticleslgStudy

mathematics

Oblivious pseudorandom function

Oblivious pseudorandom function is a mathematics topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Oblivious pseudorandom function rather than just read about it. In short: An oblivious pseudorandom function (OPRF) is a cryptographic function, similar to a keyed-hash function, but with the distinction that in an OPRF two parties cooperate to securely compute a pseudorandom function (PRF). Definition Specifically, an OPRF is a pseudorandom function with the following properties: The parties compute: O = OPRF(I, S) The first party (the client), knows the input (I) and learns the output (…

Key takeaways

  • Oblivious pseudorandom function belongs to mathematics; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Oblivious pseudorandom function to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Oblivious pseudorandom function from memory before moving on to harder problems.

Reference excerpt

An oblivious pseudorandom function (OPRF) is a cryptographic function, similar to a keyed-hash function, but with the distinction that in an OPRF two parties cooperate to securely compute a pseudorandom function (PRF).

Definition Specifically, an OPRF is a pseudorandom function with the following properties:

The parties compute: O = OPRF(I, S) The first party (the client), knows the input (I) and learns the output (O) but does not learn the secret (S) The second party (the server), knows the secret (S), but does not learn either the input (I), nor the output (O). The function has the same security properties as any (cryptographically secure) pseudorandom function. Specifically it shall be hard to distinguish the output from true randomness. The function is called an oblivious pseudorandom function, because the second party is oblivious to the function's output. This party learns no new information from participating in the calculation of the result. However, because it is only the second party that holds the secret, the first party must involve the second party to calculate the output of the pseudorandom function (PRF). This requirement enables the second party to implement access controls, throttling, audit logging and other security measures.

History While conventional pseudorandom functions computed by a single party were first formalized in 1986, it was not until 1997 that the first two-party oblivious pseudorandom function was described in the literature, but the term "oblivious pseudorandom function" was not coined until 2005 by some of the same authors.

Applications OPRFs have many useful applications in cryptography and information security. These include password-based key derivation, password-based key agreement, password-hardening, untraceable CAPTCHAs, password management, homomorphic key management, and private set intersection. An OPRF can be viewed as a special case of homomorphic encryption, as it enables another party to compute a function over an encrypted input and produce a result (which remains encrypted) and therefore it learns nothing about what it computed.

Password-based key derivation Most forms of password-based key derivation suffer from the fact that passwords usually contain a small amount of randomness (or entropy) compared to full-length 128- or 256-bit encryption keys. This makes keys derived from passwords vulnerable to brute-force attacks. However, this threat can be mitigated by using the output of an OPRF that takes the password as input. If the secret key used in the OPRF is high-entropy, then the output of the OPRF will also be high-entropy. This thereby solves the problem of the password being low-entropy, and therefore vulnerable to cracking via brute force. This technique is called password hardening. It fills a similar purpose as key stretching, but password hardening adds significantly more entropy. Further, since each attempt at guessing a password that is hardened in this way requires interaction with a server, it prevents an offline attack, and thus enables the user or system administrator to be alerted to any password-cracking attempt. The recovered key may then be used for authentication (e.g. performing a PKI-based authentication using a digital certificate and private key), or may be used to decrypt sensitive content, such as an encrypted file or crypto wallet.

Password-authenticated key exchange A password can be used as the basis of a key agreement protocol, to establish temporary session keys and mutually authenticate the client and server. This is known as a password-authenticated key exchange or PAKE. In basic authentication, the server learns the user's password during the course of the authentication. If the server is compromised, this exposes the user's password which compromises the security of the user. With PAKE, however, the user's password is not sent to the server, preventing it from falling into an eavesdropper's hands. It can be seen as an authentication via a zero-knowledge password proof. Various 'augmented forms' of PAKE incorporate an oblivious pseudorandom function so that the server never sees the user's password during the authentication, but nevertheless it is able to authenticate the client is in possession of the correct password. This is done by assuming only the client that knows the correct password can use the OPRF to derive the correct key. An example of an augmented PAKE that uses an OPRF in this way is OPAQUE. Recently, OPRFs have been applied to password-based key exchange to back up encrypted chat histories in WhatsApp and Facebook Messenger. A similar use case is planned to be added in Signal Messenger.

Untraceable CAPTCHAs A CAPTCHA or "Completely Automated Public Turing test to tell Computers and Humans Apart" is a mechanism to prevent automated robots or (bots) from accessing websites. Lately, mechanisms for running CAPTCHA tests have been centralized to services such as Google and CloudFlare, but this can come at the expense of user privacy. Recently, CloudFlare developed a privacy-preserving technology called "Privacy Pass". This technology is based on OPRFs, and enables the client's browser to obtain passes from CloudFlare and then present them to bypass CAPTCHA tests. Due to the fact that the CloudFlare service is oblivious to which passes were provided to which users, there is no way it can correlate users with the websites they visit. This prevents tracking of the user, and thereby preserves the user's privacy.

… excerpt ends here. Continue reading the full article.

Worked examples

Example 1 — a first encounter with Oblivious pseudorandom function

Start with the simplest possible case. Write down what Oblivious pseudorandom function claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In mathematics, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Oblivious pseudorandom function before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Oblivious pseudorandom function ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Oblivious pseudorandom function

In research
Oblivious pseudorandom function appears in mathematics research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Oblivious pseudorandom function in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Oblivious pseudorandom function is common in secondary-school and first-year university syllabi. It links to neighbouring topics Cryptographic primitives, Pseudorandomness, Theory of cryptography, so understanding it makes those chapters shorter.
In everyday life
Look for Oblivious pseudorandom function outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Oblivious pseudorandom function in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Oblivious pseudorandom function means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Oblivious pseudorandom function out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Oblivious pseudorandom function in simple terms?

An oblivious pseudorandom function (OPRF) is a cryptographic function, similar to a keyed-hash function, but with the distinction that in an OPRF two parties cooperate to securely compute a pseudorandom function (PRF). Definition Specifically, an OPRF is a pseudorandom function with the following p…

Why does Oblivious pseudorandom function matter?

Because it connects several mathematics ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Oblivious pseudorandom function?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Oblivious pseudorandom function.

Tags

  • Cryptographic primitives
  • Pseudorandomness
  • Theory of cryptography

Keep exploring