Exploring the stochasticity of chemical processes in an automated robotic crystallization platform to generate random numbers

13 February 2019, Version 1
This content is a preprint and has not undergone peer review at the time of posting.


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.


Random number generators.
supramolecular self assembly
robotics technologies
random numbers


Comments are not moderated before they are posted, but they can be removed by the site moderators if they are found to be in contravention of our Commenting Policy [opens in a new tab] - please read this policy before you post. Comments should be used for scholarly discussion of the content in question. You can find more information about how to use the commenting feature here [opens in a new tab] .
This site is protected by reCAPTCHA and the Google Privacy Policy [opens in a new tab] and Terms of Service [opens in a new tab] apply.