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

  • PKE can be constructed from trapdoor permutations — standard (TDP + hard-core predicate → PKE)
  • OT can be constructed from enhanced trapdoor permutations — GKM+00
  • The RSA assumption implies the existence of a trapdoor permutation (RSA function) — RSA78
  • A OWP cannot be constructed from an injective one-way function in a black-box way — MM11