ABSTRACT
Generation of random binary numbers for cryptographic use is often addressed using pseudorandom number generating functions in compilers and specialized cryptographic packages. Using the IBM's Qiskit reset functionality, we were able to implement a straight-forward in-line Python function that returns a list of quantum-generated random numbers, by creating and executing a circuit on IBM quantum systems.
We successfully created a list of 1000 1024-bit binary random numbers as well as a list of 40,000 25-bit binary random numbers for randomness testing, using the NIST Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications. The quantum-generated random data we tested showed very strong randomness, according to the NIST suite.
Previously, IBM's quantum implementation required a single qubit for each bit of data generated in a circuit, making generation of large random numbers impractical. IBM's addition of the reset instruction eliminates this restriction and allows for the creation of functions that can generate a larger quantity of data-bit output, using only a small number of qubits.
Supplemental Material
- NIST Special Publication 800--22: A statistical test suite for random and pseudorandom number generators for cryptographic applications. [Online]. Available: https://nvlpubs.nist.gov/nistpubs/legacy/sp/nistspecialpublication800--22r1a.pdfGoogle Scholar
- Jacak, M.M., Jó?wiak, P., Niemczuk, J. et al. Quantum generators of random numbers. Sci Rep 11, 16108 (2021). https://doi.org/10.1038/s41598-021--95388--7Google Scholar
- Lam, R., The Math Behind Quantum Computing -- Qubits and Superposition, (2019) https://medium.datadriveninvestor.com/the-math-behind-quantum-computing-qubits-and-superposition-f7a871668125Google Scholar
- Nation, P., Johnson, B., How to Measure and Reset a Qubit in the Middle of a Circuit Execution, 2021 https://www.ibm.com/blogs/research/2021/02/quantum-mid-circuit-measurement/Google Scholar
Index Terms
- Qubit Reset and Refresh: A Gamechanger for Random Number Generation
Recommendations
Design of a Random Number Generator from Fingerprint
ICCIS '10: Proceedings of the 2010 International Conference on Computational and Information SciencesSecurity of a cryptographic system depends much on the randomness of random number used in the system. In this paper, a true random number generator based on the data of fingerprint (FPTRNG) is designed which extracts the random information from image ...
A Random Number Generator Based on Electronic Noise and the Xorshift Algorithm
ICNCC '18: Proceedings of the 2018 VII International Conference on Network, Communication and ComputingThis paper introduces a random number generator (RNG) based on the avalanche noise of two diodes. A true random number generator (TRNG) generates true random numbers with the use of the electronic noise produced by two avalanche diodes. The amplified ...
A hardware framework for the fast generation of multiple long-period random number streams
FPGA '08: Proceedings of the 16th international ACM/SIGDA symposium on Field programmable gate arraysStochastic simulations and other scientific applications that depend on random numbers are increasingly implemented in a parallelized manner in programmable logic. High-quality pseudo-random number generators (PRNG), such as the Mersenne Twister, are ...
Comments