A True Random Number Generator algorithm from digital camera image noise for varying lighting conditions - Rongzhong Li (SoutheastCon 2015, 2015)
We present a True Random Number Generator (TRNG) using the images taken by web or mobile phone cameras. We use all three RGB color channels to obtain the random numbers whereas previous studies used only one. We investigated the physical and statistical properties of the random noise in a digital photograph obtained by a camera system, and we made several approximations to efficiently collect the best random signals from the pixels in the images to map them to random sequences. In short, the algorithm excludes each pixel's saturated values to get its unbiased bits. An additional transposing operation shuffles the raw sequence to achieve better randomness. The final sequence passes all of the NIST randomness tests. The algorithm involves very few calculations and is especially suitable for smart phones. With modern mobile cameras, it can work on the go and achieve a fast bit rate. With readily available commodity hardware with no hardware changes, we observe a random number generate rate of 60 Mbps. A minor hardware optimization can result in a rate of about 1 Gbps.