Quantum Random Number Generator: Difference between revisions

From Quantum Protocol Zoo
Jump to navigation Jump to search
No edit summary
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Generating random number of the one of the most important goals of computer scientist because of its wide range of applications such as scientific simulations, lotteries, physics tests and of course CRYPTOGRAPHY. QRNGs use quantum mechanical effects to generate random numbers and have applications that range from simulation to cryptography. QRNGs are also used for quantum protocols such as BB84 Quantum Key Distribution and device independent quantum internet protocols. Random number are generated by classic computers are not secure enough even generating randomly. Because of this reason we need to generate quantum random numbers.
Generating random number of the one of the most important goals of computer scientist because of its wide range of applications such as scientific simulations, lotteries, physics tests and of course CRYPTOGRAPHY. QRNGs use quantum mechanical effects to generate random numbers and have applications that range from simulation to cryptography. QRNGs are also used for quantum protocols such as BB84 Quantum Key Distribution and device independent quantum internet protocols. Random number are generated by classic computers are not secure enough even generating randomly. Because of this reason we need to generate quantum random numbers.
Randomness is a fundamental feature of quantum mechanics, therefore quantum processes can be used to manipulate randomness sources in ways that classical methods cannot. Moreover, quantum solutions exist to games that classically are not solvable. By combining these features, it is possible to amplify weak sources of randomness and expand strong sources of randomness in a manner which provides guarantees against hidden dishonesty and eavesdropping.
Tags: [[:Category: Building Blocks|Building Blocks]], [[:Category: Quantum Functionality|Quantum Functionality]], [[:Category: Specific Task|Specific Task]], [[:Category: Entanglement Distribution Network stage|Entanglement Distribution]]
==Outline==
==Outline==
Aim of QRNG is producing unpredictable and securest number. It has three main steps.
Aim of QRNG is producing unpredictable and securest number. It has three main steps.
* State Prepaparation: Create a new qubit. This step similar to [[fishing a coin]].
* State Prepaparation: Create a new qubit. This step similar to [[fishing a coin]].
* Apply a Hadamard gate for putting it into a superposition of equal probability of being
* Apply a Hadamard gate for putting it into a superposition of equal probability of being 0 and 1. This step can be equal that tossing a coin in air.
0 and 1. This step can be equal that tossing a coin in air
* Measurement: This is the final step and now we can learn now the coin's result like head or tail
* Measurement: This is the final step and now we can learn now the coin's result like head
 
or tail
==Use Case==
Randomness expansion is useful in the case where one already has access to a private source for true randomness, but whose use is prohibitively expensive or whose access is limited. This is not possible classically.
 
In a similar vein, it is only possible to extract uniform, private randomness by combining multiple weak sources together classically. Randomness amplification enables the extraction of such randomness from only a single weak source - useful in any situation where only some randomness has been provided but absolute security is required.
 
==Protocols==
* [[Certified finite randomness expansion]]
* [[Certified infinite randomness expansion]]
* [[Randomness amplification (8 devices)]]
 
==Notations==
==Notations==
*<math>n</math> number of random numbers generated
*<math>n</math> number of random numbers generated
Line 12: Line 26:
*Quantum random number generators are produced by measurement of quantum states and provide perfectly unpredictable and private random numbers.
*Quantum random number generators are produced by measurement of quantum states and provide perfectly unpredictable and private random numbers.
*For generating quantum random number, properties of quantum mechanics rules are used so they are resistant aganist unconventional environmental conditions
*For generating quantum random number, properties of quantum mechanics rules are used so they are resistant aganist unconventional environmental conditions
==Pseudo Code==
==Protocol Description==
[https://github.com/apassenger/CQC-Python/tree/master/examples/pythonLib/quantum_number_generation <u>click here for SimulaQron code</u>]
[https://github.com/apassenger/CQC-Python/tree/master/examples/pythonLib/quantum_number_generation <u>Click here for SimulaQron code</u>]
 
[https://github.com/quantumprotocolzoo/protocols/tree/master/QuantumNumberGeneration <u>Click here for Python code</u>]
 
#For i=1,...,n
#For i=1,...,n
## create a fresh qubit
## create a fresh qubit
## apply Hadamard gate
## apply Hadamard gate
## measure qubit
## measure qubit
==Further Information==
 
==References==
#[https://arxiv.org/abs/1604.03304 Collantes and Escartin (2016)]
#[https://arxiv.org/abs/1604.03304 Collantes and Escartin (2016)]
#
#[https://www.nature.com/articles/npjqi201621 Ma et al (2016)]
<div style='text-align: right;'>''contributed by Gözde Üstün and Neil Mcblane''</div>

Latest revision as of 15:27, 12 November 2019

Generating random number of the one of the most important goals of computer scientist because of its wide range of applications such as scientific simulations, lotteries, physics tests and of course CRYPTOGRAPHY. QRNGs use quantum mechanical effects to generate random numbers and have applications that range from simulation to cryptography. QRNGs are also used for quantum protocols such as BB84 Quantum Key Distribution and device independent quantum internet protocols. Random number are generated by classic computers are not secure enough even generating randomly. Because of this reason we need to generate quantum random numbers.

Randomness is a fundamental feature of quantum mechanics, therefore quantum processes can be used to manipulate randomness sources in ways that classical methods cannot. Moreover, quantum solutions exist to games that classically are not solvable. By combining these features, it is possible to amplify weak sources of randomness and expand strong sources of randomness in a manner which provides guarantees against hidden dishonesty and eavesdropping.

Tags: Building Blocks, Quantum Functionality, Specific Task, Entanglement Distribution

Outline[edit]

Aim of QRNG is producing unpredictable and securest number. It has three main steps.

  • State Prepaparation: Create a new qubit. This step similar to fishing a coin.
  • Apply a Hadamard gate for putting it into a superposition of equal probability of being 0 and 1. This step can be equal that tossing a coin in air.
  • Measurement: This is the final step and now we can learn now the coin's result like head or tail

Use Case[edit]

Randomness expansion is useful in the case where one already has access to a private source for true randomness, but whose use is prohibitively expensive or whose access is limited. This is not possible classically.

In a similar vein, it is only possible to extract uniform, private randomness by combining multiple weak sources together classically. Randomness amplification enables the extraction of such randomness from only a single weak source - useful in any situation where only some randomness has been provided but absolute security is required.

Protocols[edit]

Notations[edit]

  • number of random numbers generated

Properties[edit]

  • Quantum random number generators are produced by measurement of quantum states and provide perfectly unpredictable and private random numbers.
  • For generating quantum random number, properties of quantum mechanics rules are used so they are resistant aganist unconventional environmental conditions

Protocol Description[edit]

Click here for SimulaQron code

Click here for Python code

  1. For i=1,...,n
    1. create a fresh qubit
    2. apply Hadamard gate
    3. measure qubit

References[edit]

  1. Collantes and Escartin (2016)
  2. Ma et al (2016)
contributed by Gözde Üstün and Neil Mcblane