« CSPRNG » : différence entre les versions

De Wiki du LAMA (UMR 5127)
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 8 : Ligne 8 :


== Yarrow ==
== Yarrow ==
Yarrow désigne une famille de PRNG conçue par Bruce Schneier, John Kelsey et Niels Ferguson, dont le nom fait référence à d'anciens rites de divination.
Yarrow désigne une famille de PRNG conçue par Bruce Schneier, John Kelsey et Niels Ferguson en 1999, dont le nom fait référence à d'anciens rites de divination.

Fonctionnement :

- Accumulateur d'entropy (+ qu'est ce que l'entropie)

- Mécanisme de reseed

- Générateur (+ problème des anniversaires)


Le modèle Yarrow se divise en 3 composants principaux : un accumulateur d'entropie (+ qu'est ce que l'entropie), un mécanisme de reseed et un générateur à proprement parler (+ problème des anniversaires).


'''Accumulateur d'entropie ''' (mesure du caractère aléatoire) ''' :'''
Yarrow comporte 2 boîtes de 160 bits, dédiées à stocker les bits aléatoires issues de sources d'entropie. Typiquement, ces bits proviennent du système d'exploitation de la machine et du materiel en lui même (exemples : timing exacts de pression des touches, trajectoire du pointeur, ...). Pour les remplir, il va donc être question d'estimer la quantité d'entropie présente dans un apport. Cette estimation s'effectue en gardant la plus petite valeur issue, soit
Bons points :
Bons points :


limites :
Limites :



Version du 19 novembre 2018 à 16:37

Les générateurs pseudo-aléatoires (PRNG) sont énormément utilisés en cryptographie, que ce soit pour générer des clés utilisées par des algorithmes de chiffrement symétriques, des salts pour perturber les logiciels de prédiction, des vecteurs d'initialisation utiles lors de l'utilisation de chiffrements par bloc en chaine, etc ...

Les cryptographes développent des algorithmes en se basant sur l'idée qu'on peut effectivement générer des nombres de manière imprévisible. Mais peut-on vraiment soutenir la robustesse d'un algorithme de chiffrement qui se base sur des nombres qu'un attaquant saurait deviner à l'avance ? Autrement dit, à quel point un algorithme peut être sécurisé, s'il est possible pour un attaquant de compromettre le générateur qu'il utilise ? Il apparait alors évidemment qu'un générateur se doit d'être lui aussi robuste et sécurisé.

Nous nous intéressons donc ici à certains modèles de générateurs aléatoires crypto-sécurisés (CSPRNG).

Attaques de PRNG

Yarrow

Yarrow désigne une famille de PRNG conçue par Bruce Schneier, John Kelsey et Niels Ferguson en 1999, dont le nom fait référence à d'anciens rites de divination.

Le modèle Yarrow se divise en 3 composants principaux : un accumulateur d'entropie (+ qu'est ce que l'entropie), un mécanisme de reseed et un générateur à proprement parler (+ problème des anniversaires).

Accumulateur d'entropie (mesure du caractère aléatoire)  : Yarrow comporte 2 boîtes de 160 bits, dédiées à stocker les bits aléatoires issues de sources d'entropie. Typiquement, ces bits proviennent du système d'exploitation de la machine et du materiel en lui même (exemples : timing exacts de pression des touches, trajectoire du pointeur, ...). Pour les remplir, il va donc être question d'estimer la quantité d'entropie présente dans un apport. Cette estimation s'effectue en gardant la plus petite valeur issue, soit Bons points :

Limites :


Fortuna

Evolutions