Abstract 
Randomness has attracted the attention of scientists the last decades. From
probability theory and pure mathematics, to quantum mechanics and inherently
quantum phenomena, randomness is a fundamental aspect of reality as we know it
nowadays. Recently, with the advent of quantum computers expected to be in the
next decades for commercial use, there is an ever growing need for the generation
of random numbers for cryptography. In other words, we have to invent sequences
of random numbers that are uniform and they can be generated fast, in order to
accommodate cryptographic protocols. This is the reason why random number
generators are so useful.
In this thesis, I will go through some protocols of pseudorandom number generators, i.e. random numbers produced by an algorithm (deterministic), and some
setups that generate random numbers based on a quantum process, i.e quantum
random generators. The first category, pseudorandom number generators, can be
extremely fast. However, due to the fact that they are produced by a computer
which is deterministic, those numbers produced by it cannot be viewed as truly random ones, hence the name pseudorandom. On the other hand, the second category
is the quantum random number generators, which produce truly random numbers
because their process is inherently quantum. The main drawback of these generators is that they are not quite practical yet, since they require an experimental
setup. Also, most quantum random numbers may need some postprocessing in
order to deal with correlations or problems of the detector.
The first chapter will include some pseudorandom number generators and their
techniques, the second will focus on the permuted congruential generator, considered
to be one of the best pseudorandom number generators out there, the third will give
an idea about the different types of quantum random number generators and the
fourth will go through qiskit, a Python library developed by IBM for quantum
computing. In the fifth and final chapter, I will have explain how we try to make a
good pseudorandom number generator with a quantum random number generator.
