Home

PRF

PRF stands for pseudorandom function. In cryptography, a PRF is a family of efficiently computable functions F_k from a domain X to a codomain Y, parameterized by a secret key k. For a randomly chosen key k, the function F_k should be computationally indistinguishable from a uniformly random function to any probabilistic polynomial-time adversary that can query the oracle F_k on input values of its choice but does not know k. Intuitively, the outputs of F_k appear random to an observer lacking the key, making it suitable for deriving unpredictable values or authenticating data.

PRFs are central to many cryptographic constructions. Two well-known uses are message authentication codes (MACs) and

Security and variants: PRFs are defined in terms of polynomial-time indistinguishability; there are notions such as

key
derivation
functions
(KDFs).
In
practice,
PRFs
are
built
from
various
primitives,
such
as
hash
functions
(for
example,
HMAC
is
a
PRF
based
on
a
cryptographic
hash)
or
block
ciphers
(a
PRP
or
encryption
under
a
fixed
key
can
be
viewed
as
a
PRF).
HKDF
is
a
widely
used
KDF
built
from
a
PRF.
Compared
with
PRPs,
PRFs
need
not
be
invertible;
a
PRP
is
a
PRF
that
is
also
a
permutation
on
the
input
domain.
weak
and
strong
PRFs
depending
on
the
allowed
queries.
In
practice,
the
PRF
assumption
is
a
fundamental
building
block
in
modern
cryptography,
underpinning
protocols
and
standards
by
enabling
secure
key
material
derivation
and
data
authentication
without
exposing
the
key
itself.