Although random numbers are required in many applications, their generation is often overlooked. As computers are deterministic, they are not capable of producing truly random numbers. A physical source of randomness is required and since quantum physics is intrinsically random, it is natural to exploit it for this purpose.
Quantis is a physical random number generator exploiting an elementary quantum optics process. Photons - light particles - are sent one by one onto a semi-transparent mirror and detected. The exclusive events (reflection - transmission) are associated to « 0 » - « 1 » bit values.
Quantum random number generators have the advantage over conventional randomness sources of being invulnerable to environmental perturbations and of allowing live status verification. The operation of Quantis is continuously monitored and if a failure is detected the random bit stream is immediately disabled. In addition, Quantis provides full entropy (randomness) instantaneously from the very first photon (bit).
Quantis QRNG USB can integrates easily in existing applications. It is compatible with the most commonly used operating systems. A library which allows easy access and a demonstration application are provided.
The breadth of application is maximized by the advanced functionalities such as scaling and randomness extraction implemented in the Quantis software package.
The simplicity of Quantis is also its strength. As the underlying quantum mechanical processes are well understood and easily characterized, it is relatively easy to certify the Quantis products. Quantis is the most certified true RNG in the market. It has successfully passed the following certifications or government validations:
- NIST SP800-22 Test Suite Compliance
- METAS Certification
- CTL Certification
- Several iTech Labs individual Certificates
- Compliance with the BSI’s AIS31 standard (dedicated version of Quantis)
The Quantis library can be used to access the Quantis QRNG. The library API is identical for the PCIe and USB library and is available on all supported operating systems. The library enables the production of random binary data, integers and floating point numbers. It can be used to access multiple Quantis generators and includes advanced functionalities such as random data scaling.
The QuantisExtensions library implements a randomness extractor which can be used to postprocess the output of the Quantis QRNG
Wrappers, allowing to access the Quantis library as well as sample source code, are provided for the following programming languages :
C++ , C# , Java , VB.NET
Quantis also supports the standard C++11 random device API.
Quantis-USB-4M USB device with 1 module generating a random bit stream of 4 Mbits/s