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