Tussenpresentatie Modelleren C Random Seeds Sanne Ernst Jarno van Roosmalen
Inhoud Probleem Random getallen generatie Statistische Tests Wat gaan we doen
Probleem Random getallen nodig voor simulaties, encryptie, enz. Vaak gebruik (Pseudo)Random Generator Generator heeft goede seed(s) nodig
Eisen aan Seeds Uniform verdeeld Onafhankelijkheid Onvoorspelbaar (probleem): Als je het algoritme kent en de eerste n gegenereerde seeds moet de kans om goed te voorspellen wat de volgende seed zal zijn niet groter zijn dan bij willekeurig gokken Conclusie: Niet deterministisch algoritme nodig
Methoden om Seeds te genereren Bronnen die gebruikt worden om goede random seeds te maken Statische atmosferische ruis Geluid Aantal/duur toetsaanslagen en/of muisklikken Radioactief verval van elementen Andere (onvoorspelbare) fysische verschijnselen
Methoden om Seeds te genereren Bronnen in een gewone PC waaruit we goede random seeds willen genereren Tijd die nodig is voor een bepaalde berekening Systeemtijd Tijd die het kost om bepaalde data te lezen/schrijven van de harde schijf (fysisch random proces) Temperatuur CPU Enz. Of combinaties hiervan
Verwerking data naar random seeds Door verwerking van de data zorgen voor: Uniformiteit Onafhankelijkheid Onvoorspelbaarheid Deze verwerking bestaat uit berekeningen en combineren van data uit verschillende bronnen.
Statistische Testen Er zijn testen voor uniformiteit en onafhankelijkheid. We gaan er hier een aantal van gebruiken Uniformiteit: Kolmogorov-Smirnov-test χ2-test Poker test, … Onafhankelijkheid Run-up test Correlatie test Serie test Enz.
Wat we al hebben We schrijven 1MB naar de harde schijf en vragen de tijd die dit kost in nanoseconden op. Dit getal nemen we modulo 256. We hebben dit al in java geimplementeerd en ook de Kolmogorov-Smirnov-test en de Correlatie test. We hebben voor 1000 getallen de test gedaan. Zie volgende slide
Wat gaan we nog doen Verzinnen van een aantal generatoren Implementeren van een aantal generatoren Implementeren van Statistische testen Testen van de generatoren …
Vragen???