Peut-on être certain de l’incertitude ?

Encadrants : 

Occurrences : 

2016

Nombre d'étudiants minimum: 

2

Nombre d'étudiants maximum: 

3

Nombre d'instances : 

2

Les nombres aléatoires sont depuis longtemps utilisés dans plusieurs domaines (jeux de hasard, simulations Monte Carlo, échantillonnage statistique, etc.). Ils sont devenus quasi incontournables dans les systèmes cryptographiques, où les clés de chiffrement doivent être générées de façon aléatoire.

Quelle que soit la manière dont ils sont obtenus (par des générateurs algorithmiques ou des sources physiques), il est indispensable que ces nombres soient « vraiment » aléatoires. C’est cela que réside la « qualité » de la suite aléatoire. Cette propriété est essentielle pour assurer la protection des transactions et des applications mobiles dans un écosystème numérique.

Dans ce projet, nous proposons de découvrir et de mettre en œuvre un testeur de qualité des nombres aléatoires. Dans un premier temps, les étudiants devront lire un document présentant plusieurs méthodes de test et choisir l’une d’entre elles. Ensuite, il s’agira de développer et valider un programme en langage Python ou Matlab mettant en œuvre la méthode choisie. Cette phase comprendra la réalisation d’un générateur de nombres pour fournir les entrées (bitstreams) pour le testeur. Le projet se terminera par la réalisation d’une interface graphique (GUI).