Chapter status: in progress

TODO:

  • modify advantage notation to display the scheme

Games, Models, and Assumptions

This section presents how security assumptions and security properties of cryptographic schemes are formalized. It also gives a list of cryptographic assumptions relevant for this book (see also the ECRYPT II MAYA report).

Contents

Big-O Notation and Negligible Functions

In all the following, we consider functions from to and we let denote the variable.

A function is said to be negligible if or equivalently if

In words, is negligible if it approaches zero faster than the inverse of any polynomial.

The set of all negligible functions is denoted We often write in place of

Cryptographic Games

Game: Tentative Definition

A game consists of a main algorithm and a (potentially empty) finite tuple of oracle algorithms Then main algorithm (to which we simply refer as the game from here) takes as input where is an integer called security parameter and runs in three phases:

  • initialization: the game initializes variables and generates some input
  • attack: the game invokes an algorithm called adversary on input the adversary has oracle access to
  • finalization: when the adversary halts and returns some output the game evaluates a predicate of and all variables and returns the truth value of this predicate.

To make this definition rigorous, the programming language used to write the game should be completely specified. Here, we will content ourselves with specifying games in pseudocode.

A very simple game called ADD drawing two random -bit integers and returning if the adversary successfully adds them would look like this:

Notation and Conventions for Writing Games

  • Given a predicate we use as a shorthand for
  • Games return by default, meaning if the end of the game code is reached and the game has not returned yet, then it returns Finalization often consists in returning the truth vale of Under this convention, the following finalization code is equivalent to

Advantage

For each security parameter a game together with an adversary define a finite probability space specified by all random choices made by the game and the random coins of the adversary. This allows to define the probability of various events related to the execution of the game with a specific adversary.

In particular, given a game and an adversary we write or simply when the context is clear, for the event that an execution of with adversary for security parameter returns When the game returns we also say that the adversary "wins".

A game can be computational or decisional depending on how a quantity called advantage, measuring how well an adversary performs at winning the game, is defined.

The advantage of an adversary against a game is a function of the security parameter into defined as if the game is computational and if the game is decisional. (We write the name of the game in small caps in the advantage superscript to lighten notation.)

We say that a game is computationally hard if for every probabilistic polynomial-time (ppt) algorithm We say that a game is statistically hard (or information-theoretically hard or unconditionally hard) if for every algorithm (not necessarily polynomial-time), In the special case where the advantage of any algorithm is zero, one says that the game is perfectly hard (for example, a commitment scheme that can be perfectly hiding or perfectly binding).

When we simply say that a game is hard, it usually means computationally hard (but this should always be clear from the context).

Hence, for a computationally, resp. statistically hard game, every ppt, resp. unbounded adversary "wins" with probability negligible close to 0 for a computational game and with probability negligibly close to for a decisional game.

Reductions

Given two games and we say that reduces to denoted if there exists a probabilistic polynomial-time algorithm (called reduction) with access to an oracle such that for every algorithm solving with non-negligible advantage, solves with non-negligible advantage.

If reduces to and reduces to we say that and are equivalent, denoted

Proposition 13.1. Assume that reduces to Then being hard implies being hard.

Proof

Contraposing, assume that is not hard, which by definition means that there exists a ppt algorithm such that Consider the reduction from to Since and both run in polynomial time, runs in polynomial time as well. Moreover, by definition of a reduction, Hence, is not hard.

Thus, can be read as " is not harder than " or is at least as hard as ".

In cryptography, we are constantly making assumptions of the form "X is hard". Proposition 13.1 can be used to compare the strength of various assumptions. Indeed, assuming we proved that then the assumption that is hard implies that is hard too. If, in addition, there are some indications that does not hold, then the assumption that is hard is stronger than the assumption that is hard. Indeed, if but is not known to hold, then it might be that is hard yet is easy.

For example, consider the discrete logarithm (DL) problem on one hand (given a group and group elements and compute and the Computational Diffie-Hellman (CDH) problem on the other hand (given a group and group elements and compute One can easily prove that CDH DL (CDH reduces to DL) by constructing a reduction from CDH to DL: given an algorithm solving DL, one can solve CDH by first computing the discrete logarithm of and then computing However, there is no proof that DL CDH (except in very specific situations). Hence, the assumption that CDH is hard is (for most groups) stronger than the assumption that DL is hard.

Another way Proposition 13.1 is often used in cryptography is for security proofs. Here, is some hardness assumption such as DL and is a security game, say unforgeability (in the precise sense of EUF-CMA security in the random oracle model) of Schnorr signatures. Then, a security proof for Schnorr signatures consists in proving that reduces to i.e., the DL problem reduces to the EUF-CMA security of Schnorr signatures in the ROM. By Proposition 13.1, if DL is hard, then Schnorr signatures are EUF-CMA secure in the ROM.

Idealized Models

The Random Oracle Model

The Generic Group Model

The Algebraic Group Model

Assumptions

Group Setup Algorithms

A standard group setup algorithm is an algorithm which on input the security parameter returns a pair where is a -bit prime and is a cyclic group of order

A pairing group setup algorithm is an algorithm which on input the security parameter returns a tuple where is a -bit prime, and are cyclic groups of order and is an efficiently computable pairing.

We adopt the convention that group/pairing setup algorithms do not return generators of the groups. They will be explicitly sampled in the games.

One usually distinguishes three types of pairing group setup algorithms [GPS08]:

  • a type-1 pairing group setup algorithm (also called symmetric pairing setup algorithm) is such that
  • a type-2 pairing group setup algorithm is such that and there exists an efficiently computable isomorphism
  • a type-3 pairing group setup algorithm is such that an no efficiently computable isomorphism is known.

Type-2 and type-3 pairing group setup algorithms are called asymmetric.

In all the following, we simply talk about "type-1/2/3 pairings" rather than "type-1/2/3 pairing group setup algorithms".

Assumptions in Standard Groups

Discrete Logarithm (DL)

  • type: computational
  • interactive: no
  • falsifiable: yes
  • references:
  • notes:

Computational Diffie-Hellman (CDH)

  • type: computational
  • interactive: no
  • falsifiable: yes
  • references:
  • notes: CDH DL

Decisional Diffie-Hellman (DDH)

  • type: decisional
  • interactive: no
  • falsifiable: yes
  • references:
  • notes: DDH CDH

-Discrete Logarithm (-DL)

  • type: computational
  • interactive: no
  • falsifiable: yes
  • references: [Che10, Lip10, FKL18, Rot22]
  • notes:
    • sometimes called -strong DL or DL with auxiliary inputs
    • 1-Dl = DL
    • -DL -DL

Assumptions in Product Groups

The assumptions listed in this section are defined for a pair of groups of equal order They are usually applied to groups returned by a pairing group setup algorithm but don't make use of the group nor the pairing For this reason, we simply write when parsing the parameters returned by

-co-Discrete Logarithm (-co-DL)

  • type: computational
  • interactive: no
  • falsifiable: yes
  • references: [Che10, Lip10, FKL18, Rot22]
  • notes:

Computational co-Diffie-Hellman (co-CDH)

  • type: computational
  • interactive: no
  • falsifiable: yes
  • references: [BLS04]
  • notes:
    • co-CDH DL in
    • co-CDH CDH in for type-1 pairings
    • co-CDH CDH in for type-2 pairings (see Proposition 17.3)

Computational co-Diffie-Hellman* (co-CDH*)

  • type: computational
  • interactive: no
  • falsifiable: yes
  • references: [CHKM10]
  • notes:
    • sometimes simply called (confusingly) co-CDH (e.g. [BDN18])
    • co-CDH CDH in
    • co-CDH DL in
    • co-CDH co-CDH
    • co-CDH CDH in for type-1 pairings (see Proposition 17.1)
    • co-CDH co-CDH for type-2 pairings (see Proposition 17.2)

Computational -co-Diffie-Hellman (-co-CDH)

  • type: computational
  • interactive: yes
  • falsifiable: no (for type-3 pairings)
  • references: [SV07, BDN18]
  • notes:
    • -co-CDH CDH in
    • -co-CDH DL in
    • -co-CDH co-CDH co-CDH
    • -co-CDH co-CDH for type-2 pairings (the isomorphism enables to compute efficiently as assuming

-Strong Diffie-Hellman (-SDH)

  • type: computational
  • interactive: no
  • falsifiable: yes
  • references: [BB08]
  • notes:
    • -SDH usually called -SDH
    • not to be confused with another assumption named SDH introduced in [ABR01]
    • -SDH -SDH
    • -SDH -SDH

Assumptions in Pairing Groups

-Bilinear Diffie-Hellman Inversion (-BDHI)

  • type: computational
  • interactive: no
  • falsifiable: yes
  • references: [BB04]
  • notes:
    • -BDHI -BDHI
    • -BDHI -BDHI

-Bilinear Strong Diffie-Hellman (-BSDH)

  • type: computational
  • interactive: no
  • falsifiable: yes
  • references: [KZG10a]
  • notes:
    • -BSDH is usually simply called -BSDH
    • -BSDH -BSDH
    • -BSDH -BSDH
    • -BSDH -SDH
    • -BSDH -BDHI