Since most contemporary hardware devices consist of millions of circuits, millions of individual choices can be made at the same time, resulting in a string (series) of bits (zeros and ones) of a very large length. Since each choice is independent and "random", the probability that two such strings will be the same becomes extremely small due to their very large length. Therefore, a PUF can be used to produce a large bit-string that will be "unique" per device and always the same, when measured under exactly the same conditions. Such a bit string can then be used in cryptography as an inherently occurring cryptographic token, such as a key for encryption. As external (environmental) conditions may affect the result of a PUF (its "random" unique bit-string output), error correction may be needed to force this result to be the same between different measurements.