Return to search

Vers des générateurs de nombres aléatoires uniformes et gaussiens à très haut débit

L'objectif d'un générateur de nombres aléatoires (RNG) est de produire une séquence binaire aléatoire indépendante, imprédictible et uniformément répartie. Les RNG sont nécessaires dans toutes sortes d'applications telles que la cryptographie, les télécommunications, les simulations numériques, le test de circuits VLSI ou encore les algorithmes probabilistes. Ainsi, le nombre d'applications embarquées nécessitant des RNG matériels augmente constamment, spécialement au sein des circuits reconfigurables. En vue de la conception matérielle d'un RNG, la solution est d'utiliser un générateur hybride composé d'un générateur vraiment aléatoire (TRNG) et d'un générateur pseudo-aléatoire (PRNG). Prouver mathématiquement qu'un générateur est aléatoire est généralement difficile, voire impossible. Les RNG sont souvent évalués via des tests statistiques. L'évaluation d'un TRNG est beaucoup plus complexe que celle d'un PRNG car la qualité d'un TRNG est fonction de la source de bruit utilisée, de l'environnement extérieur et de la qualité d'implantation au sein du circuit ciblé. Fischer et al. [1] ont proposé l'un des premiers TRNG totalement implantable au sein d'un circuit FPGA. Depuis, un grand nombre de générateurs a été présenté dans la littérature. Un des objectifs de cette thèse a été de proposer une méthodologie objective analysant la qualité des TRNG sélectionnés au sein de circuits reconfigurables. La méthode d'évaluation, rapide et efficace est basée sur l'utilisation de tests statistiques matériels proposés par l'AIS 31 [2]. L'intérêt de la méthode est d'évaluer les TRNG au sein du même circuit FPGA afin d'analyser ceux-ci dans des conditions similaires d'utilisation. La version matérielle de l'AIS 31 permet d'évaluer des TRNG présentant un débit maximal de 84.2 Mbits/s. Le coût matériel de celle-ci est de 4042 LUT, soit environ 10% d'un FPGA Xilinx Virtex 5 SX50. La méthode proposée permet de trouver facilement le débit optimal des TRNG au sein d'un circuit reconfigurable. Ainsi, l'intérêt d'une pré-caractérisation du fonctionnement d'un TRNG est prouvé. À partir de l'étude précédente, un TRNG est sélectionné pour ses propriétés statistiques. Une architecture de générateur hybride permettant de produire des nombres aléatoires uniformes à très haut débit est ensuite proposée. Cependant, malgré la qualité du générateur sélectionné, l'aléa en sortie du TRNG peut varier au cours du temps à cause d'attaques externes possibles sur le circuit, de la variation des conditions extérieures ou encore du vieillissement des composants. La qualité aléatoire de la séquence de germes produite par un TRNG est primordiale pour assurer l'imprédictibilité d'un PRNG. Afin d'améliorer la robustesse d'un TRNG, des mécanismes de tests statistiques en ligne doivent être mis en œuvre. Ainsi, une évaluation en temps réel du comportement du générateur est réalisée et les séquences défaillances générées par celui-ci sont évitées. Cette étude propose d'utiliser une implantation efficace de la batterie du FIPS 140-2. La surface négligeable du circuit au sein des FPGA actuels et les performances obtenues par le composant permettent de contrôler la qualité du TRNG sélectionné en temps réel. Un RNG hybride à très haut débit implanté sur une cible reconfigurable et au sein d'un circuit VLSI est proposé. L'étude menée sur le RNG hybride a débouché sur un partenariat industriel réalisé avec une entreprise spécialisée en cryptographie à travers le projet pôle images et réseaux SPRING (Shelf Proof Random Integrated Number Generator). Dans certaines applications, il est parfois nécessaire de générer des nombres aléatoires suivant une distribution de probabilité différente d'une loi uniforme. À partir de l'utilisation du RNG hybride proposé, l'implantation d'un générateur de nombres aléatoires gaussiens à très haut débit est présenté. Par ailleurs, le circuit implanté permet de générer efficacement des nombres aléatoires suivant une loi de Rayleigh. Après sélection d'un excellent TRNG, un PRNG à débit très élevé est recherché. La structure parallèle des automates cellulaires fait de ces PRNG une architecture très intéressante en vue d'une implantation matérielle. La seconde partie de la thèse est consacrée à la recherche de la règle optimale d'un automate cellulaire à cinq voisins. Le chapitre étudie, entre autres, le coût matériel engendré par l'implantation de tests statistiques très performants. / The purpose of a random number generator (RNG) is to produce a random binary sequence independent, unpredictable and uniformly distributed. A RNG is needed in all kinds of applications such as cryptography, telecommunications, computer simulations, testing of VLSI circuits or probabilistic algorithms. The number of embedded applications requiring hardware RNG is constantly increasing, especially in the reconfigurable circuits. In view of the physical design of a RNG, the solution is to use a hybrid generator composed of a truly random generator (TRNG) and a pseudo-random number generator (PRNG). Proving mathematically that a generator is random is usually difficult or impossible. RNGs are often evaluated using statistical tests. Evaluation of a TRNG is much more complex than PRNG testing as the TRNG quality is a function of the noise source used in the external environment and the implementation quality within the target circuit. Fischer et al. have proposed one of the first TRNG totally embedded within an FPGA. Then, a large generator number has been presented in the literature. One objective of this thesis was to propose an objective methodology for analyzing the quality of recognized TRNGs in reconfigurable circuits. The evaluation method, fast and efficient, is based on the use of hardware statistical tests proposed by the AIS 31 and the FIPS 140-2. The advantage of the method is to evaluate the TRNGs in the same FPGA chip to analyze them in similar conditions of use. The hardware version of AIS 31 allows the TRNG evaluation with a maximum throughput of 84.2 Mb/s. The material cost of it is 4042 LUTs, about 10 % of a Xilinx Virtex 5 FPGA SX50. Moreover, the method is used to find the optimal TRNG data rate for the targeted reconfigurable circuit, showing the TRNG pre-characterization interest. From the previous study, a TRNG is selected for its statistical properties. A high data rate hybrid generator is then proposed. However, despite the quality of the selected generator, the TRNG randomness can vary in time due to possible external attacks on the circuit, changes in external conditions or aging components. The quality of the seed sequences provided by a TRNG is important to ensure the unpredictability of a PRNG. To improve the robustness of a TRNG, online statistical tests must be implemented. Thus, a real-time evaluation of the generator behavior is performed and the TRNG weaknesses are filtered. This study proposes to use an efficient implementation of the FIPS 140-2 battery. The negligible area and the performance allow to control the TRNG quality in real time. A hybrid RNG implemented on a reconfigurable target and within a VLSI circuit is then proposed. The study conducted on the RNG hybrid resulted in an industry partnership. Then, in some applications, it is sometimes necessary to generate random numbers following a probability distribution different from a uniform distribution. From the use of the proposed hybrid RNG, a very high data rate Gaussian random number generator is proposed. Furthermore, the circuit can generate random numbers according to a Rayleigh law. From previous studies, a hybrid RNG is proposed for FPGA implementation and is embedded into the cryptography solution proposed by a French company. The RNG generates uniform random bits and his innovating by the TRNG real time monitoring realized by embedded the FIPS 140-2 tests. Then, the realization of two ASIC in 130 nm technology are described. The chips will allow to evaluate the performance of ASIC TRNGs. Moreover, the second circuit embeds high throughput Gaussian and Rayleigh noise generators.

Identiferoai:union.ndltd.org:LAVAL/oai:corpus.ulaval.ca:20.500.11794/22331
Date17 April 2018
CreatorsSantoro, Renaud
ContributorsSentieys, Olivier, Roy, Sébastien
Source SetsUniversité Laval
LanguageFrench
Detected LanguageFrench
Typethèse de doctorat, COAR1_1::Texte::Thèse::Thèse de doctorat
Formatxx, 172 f., application/pdf
Rightshttp://purl.org/coar/access_right/c_abf2

Page generated in 0.0029 seconds