Trapdoor permutation

A trapdoor permutation (TDP) is a permutation that is easy to compute but hard to invert without a trapdoor: a secret that makes inversion efficient. Trapdoor permutations are one-way functions with an additional invertibility structure, and they are associated with Impagliazzo’s “Cryptomania” world. Their existence implies many public-key cryptographic primitives.

Syntax

A trapdoor permutation family is a tuple of efficient algorithms with respect to a domain and trapdoor space :

  • is a randomized key generation algorithm that samples a function index and a trapdoor
  • is a deterministic algorithm that evaluates on input , outputting
  • is a deterministic algorithm that inverts on input given trapdoor outputting

We require that defines a bijection (permutation) on .

Properties

Correctness

For all and , with :

One-wayness

A TDP is one-way if there is some negligible function such that for every efficient :

Easy inversion with trapdoor

Inversion with the trapdoor is efficient: with probability 1 in time.

Variations

Enhanced trapdoor permutations

An enhanced TDP additionally requires that the TDP remain hard to invert even when given a random coin and a random element sampled using in a specific way. This stronger property is necessary for constructing OT from TDPs.

Lossy trapdoor functions

A generalization where there are two modes: an injective mode (standard TDP) and a lossy mode (where the function is many-to-one and loses information). Lossy TDFs imply TDPs and are useful for constructing CCA-secure encryption.

Other results

Participates in

Builds on Trapdoor permutation

Produces Trapdoor permutation

Barriers