HOME

TheInfoList



OR:

A randomness extractor, often simply called an "extractor", is a function, which being applied to output from a weakly random
entropy Entropy is a scientific concept, as well as a measurable physical property, that is most commonly associated with a state of disorder, randomness, or uncertainty. The term and the concept are used in diverse fields, from classical thermodynam ...
source, together with a short, uniformly random seed, generates a highly
random In common usage, randomness is the apparent or actual lack of pattern or predictability in events. A random sequence of events, symbols or steps often has no :wikt:order, order and does not follow an intelligible pattern or combination. Ind ...
output that appears
independent Independent or Independents may refer to: Arts, entertainment, and media Artist groups * Independents (artist group), a group of modernist painters based in the New Hope, Pennsylvania, area of the United States during the early 1930s * Independ ...
from the source and uniformly distributed. Examples of weakly random sources include
radioactive decay Radioactive decay (also known as nuclear decay, radioactivity, radioactive disintegration, or nuclear disintegration) is the process by which an unstable atomic nucleus loses energy by radiation. A material containing unstable nuclei is consid ...
or
thermal noise A thermal column (or thermal) is a rising mass of buoyant air, a convective current in the atmosphere, that transfers heat energy vertically. Thermals are created by the uneven heating of Earth's surface from solar radiation, and are an example ...
; the only restriction on possible sources is that there is no way they can be fully controlled, calculated or predicted, and that a lower bound on their entropy rate can be established. For a given source, a randomness extractor can even be considered to be a true random number generator ( TRNG); but there is no single extractor that has been proven to produce truly random output from any type of weakly random source. Sometimes the term "bias" is used to denote a weakly random source's departure from uniformity, and in older literature, some extractors are called unbiasing algorithms, as they take the randomness from a so-called "biased" source and output a distribution that appears unbiased. The weakly random source will always be longer than the extractor's output, but an efficient extractor is one that lowers this ratio of lengths as much as possible, while simultaneously keeping the seed length low. Intuitively, this means that as much randomness as possible has been "extracted" from the source. Note that an extractor has some conceptual similarities with a
pseudorandom generator In theoretical computer science and cryptography, a pseudorandom generator (PRG) for a class of statistical tests is a deterministic procedure that maps a random seed to a longer pseudorandom string such that no statistical test in the class ca ...
(PRG), but the two concepts are not identical. Both are functions that take as input a small, uniformly random seed and produce a longer output that "looks" uniformly random. Some pseudorandom generators are, in fact, also extractors. (When a PRG is based on the existence of
hard-core predicate In cryptography, a hard-core predicate of a one-way function ''f'' is a predicate ''b'' (i.e., a function whose output is a single bit) which is easy to compute (as a function of ''x'') but is hard to compute given ''f(x)''. In formal terms, there ...
s, one can think of the weakly random source as a set of truth tables of such predicates and prove that the output is statistically close to uniform.) However, the general PRG definition does not specify that a weakly random source must be used, and while in the case of an extractor, the output should be
statistically close The variation distance of two distributions X and Y over a finite domain D, (often referred to as ''statistical difference'' or ''statistical distance'' Reyzin, Leo. (Lecture NotesExtractors and the Leftover Hash Lemma in cryptography) is define ...
to uniform, in a PRG it is only required to be
computationally indistinguishable In Analysis of algorithms, computational complexity and cryptography, two families of distributions are computationally indistinguishable if no efficient algorithm can tell the difference between them except with negligible probability. Formal def ...
from uniform, a somewhat weaker concept.
NIST The National Institute of Standards and Technology (NIST) is an agency of the United States Department of Commerce whose mission is to promote American innovation and industrial competitiveness. NIST's activities are organized into physical sci ...
Special Publication 800-90B (draft) recommends several extractors, including the SHA hash family and states that if the amount of entropy input is twice the number of bits output from them, that output can be considered essentially fully random.


Formal definition of extractors

The
min-entropy The min-entropy, in information theory, is the smallest of the Rényi family of entropies, corresponding to the most conservative way of measuring the unpredictability of a set of outcomes, as the negative logarithm of the probability of the ''mos ...
of a distribution X (denoted H_(X)), is the largest real number k such that \Pr =x\leq 2^ for every x in the range of X. In essence, this measures how likely X is to take its most likely value, giving a worst-case bound on how random X appears. Letting U_ denote the uniform distribution over \^, clearly H_(U_) = \ell. For an ''n''-bit distribution X with min-entropy ''k'', we say that X is an (n, k) distribution. Definition (Extractor): (''k'', ''ε'')-extractor Let \text: \^n \times \^d \to \^m be a function that takes as input a sample from an (n, k) distribution X and a ''d''-bit seed from U_d, and outputs an ''m''-bit string. \text is a (''k'', ''ε'')-extractor, if for all (n, k) distributions X, the output distribution of \text is ''ε''-close to U_m. In the above definition, ''ε''-close refers to
statistical distance In statistics, probability theory, and information theory, a statistical distance quantifies the distance between two statistical objects, which can be two random variables, or two probability distributions or samples, or the distance can be be ...
. Intuitively, an extractor takes a weakly random ''n''-bit input and a short, uniformly random seed and produces an ''m''-bit output that looks uniformly random. The aim is to have a low d (i.e. to use as little uniform randomness as possible) and as high an m as possible (i.e. to get out as many close-to-random bits of output as we can).


Strong extractors

An extractor is strong if
concatenating In formal language theory and computer programming, string concatenation is the operation of joining character strings end-to-end. For example, the concatenation of "snow" and "ball" is "snowball". In certain formalisations of concatenat ...
the seed with the extractor's output yields a distribution that is still close to uniform. Definition (Strong Extractor): A (k, \epsilon)-strong extractor is a function : \text: \^n \times \^d \rightarrow \^m \, such that for every (n, k) distribution X the distribution U_d \circ \text(X, U_d) (the two copies of U_d denote the same random variable) is \epsilon-close to the uniform distribution on U_.


Explicit extractors

Using the
probabilistic method The probabilistic method is a nonconstructive method, primarily used in combinatorics and pioneered by Paul Erdős, for proving the existence of a prescribed kind of mathematical object. It works by showing that if one randomly chooses objects fr ...
, it can be shown that there exists a (''k'', ''ε'')-extractor, i.e. that the construction is possible. However, it is usually not enough merely to show that an extractor exists. An explicit construction is needed, which is given as follows: Definition (Explicit Extractor): For functions ''k''(''n''), ''ε''(''n''), ''d''(''n''), ''m''(''n'') a family Ext =  of functions : \text_n : \^n \times \^ \rightarrow \^ is an explicit (''k'', ''ε'')-extractor, if Ext(''x'', ''y'') can be computed in
polynomial time In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by ...
(in its input length) and for every ''n'', Ext''n'' is a (''k''(''n''), ''ε''(''n''))-extractor. By the probabilistic method, it can be shown that there exists a (''k'', ''ε'')-extractor with seed length : d = \log+2\log \left(\frac\right) +O(1) and output length : m = k +d-2\log \left(\frac\right) - O(1).


Dispersers

A variant of the randomness extractor with weaker properties is the
disperser A disperser is a one-sided extractor. Where an extractor requires that every event gets the same probability under the uniform distribution and the extracted distribution, only the latter is required for a disperser. So for a disperser, an event ...
.


Randomness extractors in cryptography

One of the most important aspects of
cryptography Cryptography, or cryptology (from grc, , translit=kryptós "hidden, secret"; and ''graphein'', "to write", or ''-logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of adver ...
is random
key generation Key generation is the process of generating keys in cryptography. A key is used to encrypt and decrypt whatever data is being encrypted/decrypted. A device or program used to generate keys is called a key generator or keygen. Generation in crypto ...
. It is often necessary to generate secret and random keys from sources that are semi-secret or which may be compromised to some degree. By taking a single, short (and secret) random key as a source, an extractor can be used to generate a longer pseudo-random key, which then can be used for public key encryption. More specifically, when a strong extractor is used its output will appear be uniformly random, even to someone who sees part (but not all) of the source. For example, if the source is known but the seed is not known (or vice versa). This property of extractors is particularly useful in what is commonly called Exposure-Resilient cryptography in which the desired extractor is used as an Exposure-Resilient Function (ERF). Exposure-Resilient cryptography takes into account that the fact that it is difficult to keep secret the initial exchange of data which often takes place during the initialization of an
encryption In cryptography, encryption is the process of encoding information. This process converts the original representation of the information, known as plaintext, into an alternative form known as ciphertext. Ideally, only authorized parties can decip ...
application e.g., the sender of encrypted information has to provide the receivers with information which is required for decryption. The following paragraphs define and establish an important relationship between two kinds of ERF--''k''-ERF and ''k''-APRF--which are useful in Exposure-Resilient cryptography. Definition (''k''-ERF): ''An adaptive k-ERF is a function'' f ''where, for a random input'' r '', when a computationally unbounded adversary'' A ''can adaptively read all of'' r ''except for'' k ''bits,'' , \Pr\ - \Pr\, \leq \epsilon(n) ''for some negligible function'' \epsilon(n) (defined below). The goal is to construct an adaptive ERF whose output is highly random and uniformly distributed. But a stronger condition is often needed in which every output occurs with almost uniform probability. For this purpose Almost-Perfect Resilient Functions (APRF) are used. The definition of an APRF is as follows: Definition (k-APRF): ''A'' k = k(n) ''APRF is a function'' f ''where, for any setting of'' n-k ''bits of the input'' r ''to any fixed values, the probability vector'' p ''of the output'' f(r) ''over the random choices for the'' k ''remaining bits satisfies'' , p_-2^, < 2^ \epsilon(n) ''for all'' i ''and for some negligible function'' \epsilon(n). Kamp and ZuckermanJesse Kamp and David Zuckerman. Deterministic Extractors for Bit-Fixing Sources and Exposure-Resilient Cryptography. P. 1242. have proved a theorem stating that if a function f is a ''k''-APRF, then f is also a ''k''-ERF. More specifically, ''any'' extractor having sufficiently small error and taking as input an ''oblivious'', bit-fixing source is also an APRF and therefore also a ''k''-ERF. A more specific extractor is expressed in this lemma: Lemma: ''Any'' 2^ \epsilon(n)''-extractor'' f: \^ \rightarrow \^m ''for the set of'' (n,k) ''oblivious bit-fixing sources, where'' \epsilon(n) ''is negligible, is also a k-APRF.'' This lemma is proved by Kamp and Zuckerman. The lemma is proved by examining the distance from uniform of the output, which in a 2^ \epsilon(n)-extractor obviously is at most 2^ \epsilon(n), which satisfies the condition of the APRF. The lemma leads to the following theorem, stating that there in fact exists a ''k''-APRF function as described: Theorem (existence): ''For any positive constant'' \gamma \leq \frac'', there exists an explicit k-APRF'' f: \^ \rightarrow \^'', computable in a linear number of arithmetic operations on'' m''-bit strings, with'' m = \Omega(n^) ''and'' k = n^. Definition (negligible function): In the proof of this theorem, we need a definition of a
negligible function In mathematics, a negligible function is a function \mu:\mathbb\to\mathbb such that for every positive integer ''c'' there exists an integer ''N'c'' such that for all ''x'' > ''N'c'', :, \mu(x),  0 such that for all ''x''  ...
. A function \epsilon(n) is defined as being negligible if \epsilon(n) = O\left(\frac\right) for all constants c. Proof: Consider the following \epsilon-extractor: The function f is an extractor for the set of (n,\delta n) oblivious bit-fixing source: f: \^ \rightarrow \^. f has m = \Omega(\delta^n), \epsilon = 2^ and c > 1. The proof of this extractor's existence with \delta \leq 1, as well as the fact that it is computable in linear computing time on the length of m can be found in the paper by Jesse Kamp and David Zuckerman (p. 1240). That this extractor fulfills the criteria of the lemma is trivially true as \epsilon = 2^ is a negligible function. The size of m is: : m = \Omega(\delta^n) = \Omega(n) \geq \Omega(n^) Since we know \delta \leq 1 then the lower bound on m is dominated by n. In the last step we use the fact that \gamma \leq \frac which means that the power of n is at most 1. And since n is a positive integer we know that n^ is at most n. The value of k is calculated by using the definition of the extractor, where we know: : (n,k) = (n, \delta n) \Rightarrow k = \delta n and by using the value of m we have: : m = \delta^n = n^ Using this value of m we account for the worst case, where k is on its lower bound. Now by algebraic calculations we get: : \delta^n = n^ : \Rightarrow \delta^2 = n^ : \Rightarrow \delta = n^ Which inserted in the value of k gives : k = \delta n = n^n = n^, which proves that there exists an explicit k-APRF extractor with the given properties. \Box


Examples


Von Neumann extractor

Perhaps the earliest example is due to
John von Neumann John von Neumann (; hu, Neumann János Lajos, ; December 28, 1903 – February 8, 1957) was a Hungarian-American mathematician, physicist, computer scientist, engineer and polymath. He was regarded as having perhaps the widest cove ...
. From the input stream, his extractor took bits, two at a time (first and second, then third and fourth, and so on). If the two bits matched, no output was generated. If the bits differed, the value of the first bit was output. The Von Neumann extractor can be shown to produce a uniform output even if the distribution of input bits is not uniform so long as each bit has the same probability of being one and there is no
correlation In statistics, correlation or dependence is any statistical relationship, whether causal or not, between two random variables or bivariate data. Although in the broadest sense, "correlation" may indicate any type of association, in statistics ...
between successive bits.John von Neumann. Various techniques used in connection with random digits. Applied Math Series, 12:36–38, 1951. Thus, it takes as input a
Bernoulli sequence In probability and statistics, a Bernoulli process (named after Jacob Bernoulli) is a finite or infinite sequence of binary random variables, so it is a discrete-time stochastic process that takes only two values, canonically 0 and 1. Th ...
with not necessarily equal to 1/2, and outputs a Bernoulli sequence with p = 1/2. More generally, it applies to any
exchangeable sequence In statistics, an exchangeable sequence of random variables (also sometimes interchangeable) is a sequence ''X''1, ''X''2, ''X''3, ... (which may be finitely or infinitely long) whose joint probability distribution does not change whe ...
—it only relies on the fact that for any pair, 01 and 10 are ''equally'' likely: for independent trials, these have probabilities p\cdot (1-p) = (1-p)\cdot p, while for an exchangeable sequence the probability may be more complicated, but both are equally likely.


Chaos machine

Another approach is to use the output of a
chaos machine In mathematics, a chaos machine is a class of algorithms constructed on the base of chaos theory (mainly deterministic chaos) to produce pseudo-random oracle. It represents the idea of creating a universal scheme with modular design and customizabl ...
applied to the input stream. This approach generally relies on properties of
chaotic systems Chaos theory is an interdisciplinary area of scientific study and branch of mathematics focused on underlying patterns and deterministic laws of dynamical systems that are highly sensitive to initial conditions, and were once thought to have ...
. Input bits are pushed to the machine, evolving orbits and trajectories in multiple dynamical systems. Thus, small differences in the input produce very different outputs. Such a machine has a uniform output even if the distribution of input bits is not uniform or has serious flaws, and can therefore use weak entropy sources. Additionally, this scheme allows for increased complexity, quality, and security of the output stream, controlled by specifying three parameters: ''time cost'', ''memory required'', and ''secret key''.


Cryptographic hash function

It is also possible to use a
cryptographic hash function A cryptographic hash function (CHF) is a hash algorithm (a map of an arbitrary binary string to a binary string with fixed size of n bits) that has special properties desirable for cryptography: * the probability of a particular n-bit output re ...
as a randomness extractor. However, not every hashing algorithm is suitable for this purpose.


Applications

Randomness extractors are used widely in cryptographic applications, whereby a
cryptographic hash A cryptographic hash function (CHF) is a hash algorithm (a map of an arbitrary binary string to a binary string with fixed size of n bits) that has special properties desirable for cryptography: * the probability of a particular n-bit output re ...
function is applied to a high-entropy, but non-uniform source, such as disk drive timing information or keyboard delays, to yield a uniformly random result. Randomness extractors have played a part in recent developments in
quantum cryptography Quantum cryptography is the science of exploiting quantum mechanical properties to perform cryptographic tasks. The best known example of quantum cryptography is quantum key distribution which offers an information-theoretically secure solution ...
, where photons are used by the randomness extractor to generate secure random bit

Randomness extraction is also used in some branches of
computational complexity theory In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and relating these classes to each other. A computational problem is a task solved by ...
. Random extraction is also used to convert data to a simple random sample, which is normally distributed, and independent, which is desired by statistics.


See also

*
Decorrelation Decorrelation is a general term for any process that is used to reduce autocorrelation within a signal, or cross-correlation within a set of signals, while preserving other aspects of the signal. A frequently used method of decorrelation is the u ...
*
Hardware random number generator In computing, a hardware random number generator (HRNG) or true random number generator (TRNG) is a device that generates random numbers from a physical process, rather than by means of an algorithm. Such devices are often based on microscopic ...
*
Randomness merger In extractor theory, a randomness merger is a function which extracts randomness out of a set of random variables, provided that at least one of them is uniformly random. Its name stems from the fact that it can be seen as a procedure which "merges ...
*
Fuzzy extractor Fuzzy extractors are a method that allows biometric data to be used as inputs to standard cryptographic techniques, to enhance computer security. "Fuzzy", in this context, refers to the fact that the fixed values required for cryptography will be ...


References

{{reflist
Randomness Extractors for Independent Sources and Applications
Anup Rao
Recent developments in explicit constructions of extractors
Ronen Shaltiel
Randomness Extraction and Key Derivation Using the CBC, Cascade and HMAC Modes
Yevgeniy Dodis et al.
Key Derivation and Randomness Extraction
Olivier Chevassut et al.
Deterministic Extractors for Bit-Fixing Sources and Exposure-Resilient Cryptography
Jesse Kamp and David Zuckerman
Tossing a Biased Coin (and the optimality of advanced multi-level strategy) (lecture notes)
Michael Mitzenmacher Computational complexity theory Cryptographic algorithms Random number generation