PRNG Flashcards

(11 cards)

1
Q

Dans quels domaines les nombres aléatoires sont-ils utiles?

A
  • Jeux pour simuler des comportements variés
  • Playlist shuffle
  • Génération d’identifiants uniques
  • Lien de courte durée
  • CSRF tokens
  • En cryptographie pour la génération de clés/challenges
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Qu’est-ce qui caractérise le pseudo aléatoire?

A
  • Distribution équiprobable des éléments
  • Performance
  • Initialisation + fonction génératrice
  • Déterministe (prévisible)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Qu’est-ce qui caractérise la génération sécuritaire/crypto?

A
  • Distribution équiprobable des éléments
  • Peut être lent (bloquant)
  • Basé sur des sources d’aléats du système
  • Non-Déterministe (imprévisible)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Vrai ou faux:
RNG n’est jamais réellement aléatoire en informatique, même CSPRNG?

A

Vrai

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Cloudflare ajoute de l’entropie à leur algo aléatoire cryptographique à l’aide de _____

A

Lava lamps

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Pourquoi ne devrait-on JAMAIS utiliser un PRNG pour la sécurité?

A

Parce qu’un attaquant peut deviner/prédire les valeurs futures si il connaît quelques valeurs générées, permettant d’exploiter (ex: deviner lien reset password, prédire tokens CSRF)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Qu’est-ce qu’un seed dans un PRNG?

A

La valeur initiale qui détermine toute la séquence de nombres “aléatoires”. Même seed = même séquence à chaque fois.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Comment Java Random génère ses nombres (type d’algo)?

A

LCG (Linear Congruential Generator) - utilise formule mathématique: (seed × multiplier + addend) & mask

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Combien de bits doivent être brute-forcés pour récupérer le seed interne de Java Random si on connaît 2 valeurs consécutives?

A

16 bits (2^16 = 65,536 possibilités) - très faisable en quelques secondes!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Pourquoi les appareils IoT ont-ils des problèmes de PRNG?

A

OS minimal, peu de sources d’entropie (pas de réseau/interruptions variées), économie de ressources, parfois hardware PRNG seulement

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Étapes pour attaquer un Java Random si j’observe 2 valeurs consécutives?

A

1) Observer value1 et value2,
2) Brute-force les 16 bits manquants de seed,
3) Valider avec value2,
4) Prédire toute la séquence future

Le multiplier et l’addend sont publiques vu que le code est Open Source

How well did you know this?
1
Not at all
2
3
4
5
Perfectly