Exploring the stochasticity of chemical processes in an automated robotic crystallization platform to generate random numbers
Random number generators are important in fields which require non-deterministic input, such as cryptography. One example of a non-deterministic system is found in chemistry via the crystallization of chemical compounds, which occurs through stochastic processes. Herein, we present an automated platform capable of generating random numbers from observation of crystallizations resulting from multiple parallel one-pot chemical reactions. From the resulting images, crystals were identified using computer vision, and binary sequences were obtained by applying a binarization algorithm to these regions. An assessment of randomness of these sequences was undertaken by applying a barrage of tests for randomness described by the National Institute of Standards and Technology (NIST). We find that numbers generated through this method are able to pass each of the three levels for each of the NIST tests. We then compare the encryption strength of the random numbers generated from each of the crystallizing systems to that of a pseudo-random number generation algorithm (the Mersenne Twister). We find that messages encrypted using chemically derived random numbers take significantly longer to decrypt than the algorithmically generated number.