61 research outputs found
Partition games
We introduce CUT, the class of 2-player partition games. These are NIM type
games, played on a finite number of heaps of beans. The rules are given by a
set of positive integers, which specifies the number of allowed splits a player
can perform on a single heap. In normal play, the player with the last move
wins, and the famous Sprague-Grundy theory provides a solution. We prove that
several rulesets have a periodic or an arithmetic periodic Sprague-Grundy
sequence (i.e. they can be partitioned into a finite number of arithmetic
progressions of the same common difference). This is achieved directly for some
infinite classes of games, and moreover we develop a computational testing
condition, demonstrated to solve a variety of additional games. Similar results
have previously appeared for various classes of games of take-and-break, for
example octal and hexadecimal; see e.g. Winning Ways by Berlekamp, Conway and
Guy (1982). In this context, our contribution consists of a systematic study of
the subclass `break-without-take'
Taking and Breaking Games
V této práci analyzujeme několik otevřených problémů v oblasti nestranných i stranných her typu Taking and Breaking. Pro nestranné odčítací hry dokážeme existenci hry s aperiodickou nim-sekvencí a periodickou sekvencí výhra-prohra. Analyzujeme ekvivalenční třídy těchto her a nalézáme řešení jedné z těchto tříd. Také představujeme novou hru typu Taking and Breaking, kterou z velké části vyřešíme. V oblasti stranných her provedeme analýzu několika odčítacích her a her typu Pure Breaking. Pro tyto hry také představíme obecnou techniku testování aritmetické periodicity. Pro automatické řešení nestranných her typu Taking and Breaking navrhujeme několik algoritmů. Práci uzavíráme důkazem PSPACE-těžkosti nestranné zobecněné odčítací hry a EXPTIME-těžkosti této hry ve stranné variantě.In this thesis, we examine several open problems in taking and breaking games under the impartial and partizan setting. We prove the existence of an impartial subtraction game with aperiodic nim-sequence and periodic outcome sequence. We also analyze the equivalence classes of subtraction games and provide a solution to one of these classes. We introduce a new taking and breaking game and partially solve it. Then we solve several partizan subtraction games and partizan pure breaking games and describe a general technique for testing arithmetic periodicity of these games. Moreover, we design some game solving algorithms for impartial taking and breaking games. We prove PSPACE-hardness for a generalized subtraction game under the impartial setting and EXPTIME-hardness under the partizan setting
Master index
Pla general, del mural ceràmic que decora una de les parets del vestíbul de la Facultat de Química de la UB. El mural representa diversos símbols relacionats amb la química
All-Silicon-Based Photonic Quantum Random Number Generators
Random numbers are fundamental elements in different fields of science and technology such as computer simulation like Monte Carlo-method simulation, statistical sampling, cryptography, games and gambling, and other areas where unpredictable results are necessary.
Random number generators (RNG) are generally classified as “pseudo”-random number generators (PRNG) and "truly" random number generators (TRNG). Pseudo random numbers are generated by computer algorithms with a (random) seed and a specific formula. The random numbers produced in this way (with a small degree of unpredictability) are good enough for some applications such as computer simulation. However, for some other applications like cryptography they are not completely reliable. When the seed is revealed, the entire sequence of numbers can be produced. The periodicity is also an undesirable property of PRNGs that can be disregarded for most practical purposes if the sequence recurs after a very long period. However, the predictability still remains a tremendous disadvantage of this type of generators.
Truly random numbers, on the other hand, can be generated through physical sources of randomness like flipping a coin. However, the approaches exploiting classical motion and classical physics to generate random numbers possess a deterministic nature that is transferred to the generated random numbers. The best solution is to benefit from the assets of indeterminacy and randomness in quantum physics.
Based on the quantum theory, the properties of a particle cannot be determined with arbitrary precision until a measurement is carried out. The result of a measurement, therefore, remains unpredictable and random. Optical phenomena including photons as the quanta of light have various random, non-deterministic properties. These properties include the polarization of the photons, the exact number of photons impinging a detector and the photon arrival times. Such intrinsically random properties can be exploited to generate truly random numbers.
Silicon (Si) is considered as an interesting material in integrated optics. Microelectronic chips made from Si are cheap and easy to mass-fabricate, and can be densely integrated. Si integrated optical chips, that can generate, modulate, process and detect light signals, exploit the benefits of Si while also being fully compatible with electronic. Since many electronic components can be integrated into a single chip, Si is an ideal candidate for the production of small, powerful devices. By complementary metal-oxide-semiconductor (CMOS) technology, the fabrication of compact and mass manufacturable devices with integrated components on the Si platform is achievable.
In this thesis we aim to model, study and fabricate a compact photonic quantum random number generator (QRNG) on the Si platform that is able to generate high quality, "truly" random numbers. The proposed QRNG is based on a Si light source (LED) coupled with a Si single photon avalanche diode (SPAD) or an array of SPADs which is called Si photomultiplier (SiPM). Various implementations of QRNG have been developed reaching an ultimate geometry where both the source and the SPAD are integrated on the same chip and fabricated by the same process.
This activity was performed within the project SiQuro—on Si chip quantum optics for quantum computing and secure communications—which aims to bring the quantum world
into integrated photonics. By using the same successful paradigm of microelectronics—the study and design of very small electronic devices typically made from semiconductor materials—, the vision is to have low cost and mass manufacturable integrated quantum photonic circuits for a variety of different applications in quantum computing, measure, sensing, secure communications and services. The Si platform permits, in a natural way, the integration of quantum photonics with electronics. Two methodologies are presented to generate random numbers: one is based on photon counting measurements and another one is based on photon arrival time measurements. The latter is robust, masks all the drawbacks of afterpulsing, dead time and jitter of the Si SPAD and is effectively insensitive to ageing of the LED and to its emission drifts related to temperature variations. The raw data pass all the statistical tests in national institute of standards and technology (NIST) tests suite and TestU01 Alphabit battery without a post processing algorithm. The maximum demonstrated bit rate is 1.68 Mbps with the efficiency of 4-bits per detected photon.
In order to realize a small, portable QRNG, we have produced a compact configuration consisting of a Si nanocrystals (Si-NCs) LED and a SiPM. All the statistical test in the NIST tests suite pass for the raw data with the maximum bit rate of 0.5 Mbps. We also prepared and studied a compact chip consisting of a Si-NCs LED and an array of detectors. An integrated chip, composed of Si p+/n junction working in avalanche region and a Si SPAD, was produced as well. High quality random numbers are produced through our robust methodology at the highest speed of 100 kcps.
Integration of the source of entropy and the detector on a single chip is an efficient way to produce a compact RNG. A small RNG is an essential element to guarantee the security of our everyday life. It can be readily implemented into electronic devices for data encryption. The idea of "utmost security" would no longer be limited to particular organs owning sensitive information. It would be accessible to every one in everyday life
Implementation and study of a true random number generator
Securing information has been a concern throughout history. Especially
nowadays since many user applications such as smart cards
or Internet connections deal with sensible data. To protect this
information dfferent cryptography protocols are used. These are
algorithms that encapsulate the data by ciphering it. However, this
is done by programming an application to run a digital mathematical
function. This means that it is also possible to program malign
applications to decode the cipher. In order to avoid this it is necessary
to add unpredictability or randomness to the encoding process
which can be done by employing a Random Number Generator.
A RNG can be implemented in both software and hardware; however,
a truly unpredictable sequence is not achieved through a digital
process governed by mathematical formulae. This results in
most RNGs producing a form of pseudo-randomness. A True Random
Number Generator must be implemented on a technology that
allows it to harvest entropy from an unpredictable or even chaotic
physical process. This is why TRNGs are designed and implemented
for hardware. In fact, it is possible to gather entropy through integrated
circuits like ASICs or FPGAs. The objective of this project
is to design and implement a TRNG on FPGA technology because
its pre-defined logic blocks that only require a small amount of resources
make it an appealing solution.
First, an analysis of typical RNG designs is presented to understand
the between a pseudo-RNG and a TRNG. Once this is stablished,
the specific ways of designing TRNGs for integrated circuits
are delved into. Moreover, the need for evaluation of the quality of
randomness is also stated. This is ensured by a battery of tests that
study the statistical properties of the output of a RNG.
Secondly, the TRNG design proposals by B ohl on which this
project is based on are introduced and analyzed before creating the
design and implementation. Afterwards, the four experiments performed are explained. It was decided to first test the behavior of
the TRNG at different frequencies to decide which provided randomness
with the best quality. Afterwards, the TRNG was placed
in different areas of the FPGA at the optimal frequency to test the
variability of the device. A third experiment consisted of comparing
these results in more devices to further study the variability. The
final experiment consisted on forcing a reset of the circuit to ensure
that the TRNG was resilient against this type of attacks.
Last but not least, the results are summarized and several future
developments are presented. After this the legal aspects and
management of the project are explained.La protección de información ha sido una constante preocupación
a lo largo de la historia. Especialmente hoy en día debido a las
muchas aplicaciones que manejan datos confidenciales como tarjetas
inteligentes o conexiones a Internet. Para proteger esta información
diferentes protocolos criptográficos son usados. Estos son algoritmos
que cifran los datos para encapsularlos. Sin embargo, esto se hace
programando una aplicación que corre una formula matemática digital.
Esto significa que también es posible programar aplicaciones
maliciosas para decodificar el cifrado. Para poder evitar esto es
necesario añadir aleatoriedad o un elemento impredecible al proceso
de codificación. Esto puede hacerse empleando un Generador de
Números Aleatorios cuyas siglas en inglés son RNG.
Es posible implementar un RNG tanto en software como en hardware;
sin embargo, una secuencia realmente impredecible no se puede
generar a través de un proceso digital basado en la computación de
fórmulas matemáticas. Esto es lo que hace que la mayoría de RNGs
produzcan una especie de pseudo-aleatoriedad. Un Generador de
Números Realmente Aleatorios (True Random Number Generator
o TRNG) debe ser implementado en una tecnología que le permita
extraer entropía de un proceso físico impredecible o caótico. Es por
esto que los TRNG se implementan en hardware. De hecho, es posible
obtener entropía a través de circuitos integrados como ASICs
o FPGAs. El objetivo de este proyecto es diseñar e implementar
un TRNG en tecnología FPGA puesto que sus bloques lógicos prede
finidos que solo necesitan unos recursos reducidos la convierten
en una solución atractiva.
Se empieza por presentar un análisis de los diseños de RNG
típicos para comprender la diferencia entre generadores pseudo aleatorios
y TRNGs. Tras esto, se especifica la forma en la que los TRNGs
se diseñan para circuitos integrados. Además, se expone la necesidad
de evaluar la calidad de la aleatoriedad que se genera. Esta se comprueba
a través de una batería de tests que estudian las propiedades estadísticas del output del TRNG.
A continuación, las propuestas de diseño de TRNGs de Böhl en
las que este proyecto se basa son introducidas y analizadas seguidas
del diseño e implementación propios. Tras lo cual se explican los
cuatro experimentos realizados. Primero se decidió comprobar el
comportamiento del TRNG a diferentes frecuencias con el fin de determinar
a cuál de ellas se producía la aleatoriedad de mayor calidad.
Segundo, el TRNG fue posicionado en diferentes áreas de la FPGA
a la frecuencia óptima para evaluar la variabilidad de la placa. El
tercer experimento explora aún más la variabilidad al realizar el experimento
anterior en otras placas. El último experimento consistió
en forzar un reset del circuito para comprobar la resistencia TRNG
ante ataque de este tipo.
Finalmente, los resultados obtenidos se presentan resumidos junto
con varias propuestas de mejoras futuras. Tras ello se muestran los
aspectos legales del proyecto y su gestión.Ingeniería en Tecnologías de Telecomunicació
Dynamic block encryption with self-authenticating key exchange
One of the greatest challenges facing cryptographers is the mechanism used
for key exchange. When secret data is transmitted, the chances are that there
may be an attacker who will try to intercept and decrypt the message. Having
done so, he/she might just gain advantage over the information obtained, or
attempt to tamper with the message, and thus, misguiding the recipient.
Both cases are equally fatal and may cause great harm as a consequence.
In cryptography, there are two commonly used methods of exchanging secret
keys between parties. In the first method, symmetric cryptography, the key is
sent in advance, over some secure channel, which only the intended recipient
can read. The second method of key sharing is by using a public key exchange
method, where each party has a private and public key, a public key is shared
and a private key is kept locally. In both cases, keys are exchanged between
two parties.
In this thesis, we propose a method whereby the risk of exchanging keys
is minimised. The key is embedded in the encrypted text using a process
that we call `chirp coding', and recovered by the recipient using a process
that is based on correlation. The `chirp coding parameters' are exchanged
between users by employing a USB flash memory retained by each user. If the
keys are compromised they are still not usable because an attacker can only
have access to part of the key. Alternatively, the software can be configured
to operate in a one time parameter mode, in this mode, the parameters
are agreed upon in advance. There is no parameter exchange during file
transmission, except, of course, the key embedded in ciphertext.
The thesis also introduces a method of encryption which utilises dynamic blocks, where the block size is different for each block. Prime numbers are
used to drive two random number generators: a Linear Congruential Generator
(LCG) which takes in the seed and initialises the system and a Blum-Blum
Shum (BBS) generator which is used to generate random streams to encrypt
messages, images or video clips for example. In each case, the key created is
text dependent and therefore will change as each message is sent.
The scheme presented in this research is composed of five basic modules. The
first module is the key generation module, where the key to be generated is
message dependent. The second module, encryption module, performs data
encryption. The third module, key exchange module, embeds the key into
the encrypted text. Once this is done, the message is transmitted and the
recipient uses the key extraction module to retrieve the key and finally the
decryption module is executed to decrypt the message and authenticate it.
In addition, the message may be compressed before encryption and decompressed
by the recipient after decryption using standard compression tools
- …