1 / 19

Random Number Generators

Inés Carvajal Gallardo. Random Number Generators. Waarom random?. Salts Nonces Sessie- keys Random priemgetallen “The generation of random numbers is too important to be left to chance”. Wat is random?. Uniform gedistribueerd Statistisch onafhankelijk Voor de waarnemer.

hanh
Télécharger la présentation

Random Number Generators

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. InésCarvajalGallardo Random Number Generators

  2. Waarom random? • Salts • Nonces • Sessie-keys • Random priemgetallen “The generation of random numbers is too important tobeleftto chance”

  3. Wat is random? • Uniform gedistribueerd • Statistisch onafhankelijk • Voor de waarnemer

  4. Pseudo-random: prng • Deterministisch • Periodiek • Onveilig • Efficiënt • Mersenne Twister • LinearShift Feedback Register

  5. LCG: Lineaire congruentie generator • ‘seedvalue’ • Voorbeeld: 7, 6, 9, 0, 7, 6, 9, 0, … • Klasse Random = 48 bits

  6. LCG: Lineaire congruentie generator Periode gelijk aan m als: • m, a: relatief priem • (k-1) deelbaar door alle priemfactoren van m • Als 4 | m, dan 4 | (k -1) Dus: m groot kiezen!

  7. Klasse Random • Onveilig in cryptografie • LCG op zichzelf niet sterk • Sterk maken door goede a, k, m • Gebruikt de kloktijd als seed-value • 2 instanties op hetzelfde moment gemaakt: dezelfde random numbers

  8. True random number generators • Random numbers • Geen patronen, compleet veilig • Niet-deterministisch • Iets anders dan een formule…

  9. True random number generators • Fysische processen • Radioactief verval, toetsaanslagen • Let op betrouwbaarheid • Niet-fysische processen • Dobbelsteen, loten trekken

  10. random.org • Atmosphericnoise • Meten met radio • Variaties digitaliseren random.org PHP rand() on Windows

  11. Nadelen van TRNG’s • Efficiëntie • Minder bits per seconde • Andere mogelijkheid als seed-values voor PRNG’s • Meetapparatuur • Vrij ingewikkeld voor goede resultaten

  12. Secure random number generators • Veilige PRNG • Extra eisen aan veiligheid • Gebruik van entropie • Maat van onwillekeurigheid

  13. Statistische Tests • Theoretisch en empirisch • Chi-squared Test • Seriële Test • SRNG moet voldoen aan de next-bit test “Gegeven k bits, k+1ste bit niet in polynomiale tijd te berekenen met meer dan 50% kans op slaging.”

  14. SecureRandom • Cryptographically secure RNG • Onderliggende PRNG • Interne staat willekeurig houden • Entropie • Veel gebruikt: SHA1PRNG, gebaseerd op het SHA1 messagedigest algoritme

  15. Entropie • OS verzamelt constant entropie • Entropy pool • Entropie kan ook van buiten komen • Bijvoorbeeld random.org • SecureRandom kan bij de entropie • Entropie vermindert

  16. Bronnen voor Entropie Windows:CryptoAPI CryptGenRandom() call • Thread-id • Proces-id • Performance-data van CPU • Counter-data • Tick-count sinds de laatste boot

  17. Bronnen voor Entropie Linux dev/random en dev/urandom • Muisactiviteit • Toetsenbord • Data van I/O-operaties • Data van Interrupts

  18. BlumBlumShub • Veilig • mis een Blum-integer • Even moeilijk als factorisatie • Dus even veilig als bijv. RSA • (Zegt niet heel veel) • Nadeel: traag

  19. Conclusie • Gebruik voor cryptografie geen PRNG • Dus niet Random! • Gebruik een SRNG of zelfs TRNG • Dus wel SecureRandom! • TRNG erg langzaam • SRNG’s voldoen aan veiligheidseisen

More Related