I own a quantum random number generator on a PCie card that uses optical effects for random number generation. It cost me over $2000. I use it for quantum computer simulations.
If you are just measuring the quantum effect to turn it into a classical random number before using it, then how does that help you over a less expensive way of generating a classical random number for quantum computer simulations?
I’m not sure what you mean by “turning into into a classical random number.” The only point of the card is to make sure that the sampling results from the simulator are truly random, down to a quantum level, and have no deterministic patterns in them. Indeed, actually using quantum optics for this purpose is a bit overkill as there are hardware random number generators which are not quantum-based and produce something good enough for all practical purposes, like Intel Secure Key Technology which is built into most modern x86 CPUs.
For that reason, my software does allow you to select other hardware random number generators. For example, you can easily get a build that can run simulations of 14 qubits for only a few hundred dollars if you just use the Intel Secure Key Technology option. It also supports a much cheaper device called TrueRNGv3 which is a USB device. It also has an option to use a pseudorandom number generator if you’re not that interested in randomness accuracy, and when using the pseudorandom number generator option it also supports “hidden variables” which really just act as the seed to the pseudorandom number generator.
For most most practical purpose, no, you do not need this card and it’s definitely overkill. The main reason I even bought it was just because I was adding support for hardware random number generators to my software and I wanted to support a quantum one and so I needed to buy it to actually test it and make sure it works for it. But now I use it regularly for the back-end to my simulator just because I think it is neat.
That makes sense. I had thought that you were implying that the quantum nature of the randomly generated numbers helped specifically with quantum computer simulations, but based on your reply you clearly just meant that you were using it as a multi-purpose RNG that is free of unwanted correlations between the randomly generated bits.
Out of curiosity, have you found that the card works as well as advertised? I ask because it seems to me that any imprecision in the design and/or manufacture of the card could introduce systematic errors in the quantum measurements that would result in correlations in the sampled bits, so I am curious if you have been able to verify that is not something to be concerned about.
I’m worried about relying on remote servers for random numbers, especially for cryptographic purposes. There’s no way to verify that you aren’t the only person with access to those numbers, and it’s fairly difficult even as the sysadmin to ensure that they’re logged nowhere.
the trick is to combine all your uncertainty sources together. So in the worst case your numbers still have as much entropy as if you did not have the external source. And even if somebody else knows those numbers they do not know the actual numbers you are using. Of course that raises the question: if your other entropy source is good enough that you are happy in your worst case what is the benefit from some extra source of entropy? So i have argued myself into agreeing with you :) crypto is not a good use case for such a service. The wall of lavalamps mentioned above is a better solution.
“oops our software had a bug that made it return nonrandom values for a month”
Instead of returning a random number, what if we make the program guess?
Excuse me, I believe, you mean qu\ntumr\ndomnumbers. You see, it’s the Windows path equivalent of /dev/random.
Context for those who don’t get it: https://www.youtube.com/watch?v=1cUUfMeOijg
I miss tom scot videos
int getRandomNumber() { return 4; // chosen by a random number roll. guaranteed to be random. }
Wasn’t it a dice roll that decided that? 🤔
yeah, i copied the xkcd wrong 🤦♂️ thanks, i’ll edit it