Physical Unclonable Functions (PUFs) are hardware modules that can generate randomness. Their operation is based on "locked" randomness, stemming from tiny imperfections (mistakes) in the manufacturing process of hardware, which result in the production (output) of a bit-string which appears random and can be considered as unique per hardware instance (device).