Des enquêtes sur la conception d'un générateur de nombres pseudo-aléatoires?

15

Je m'intéresse à la génération de nombres pseudo-aléatoires pour la cryptographie. Outre le chapitre 5 de Menezes / Oorschot / Vanstone ; Chapitre 8 de Stinson ; et le chapitre 3 de Goldreich , où pourrais-je trouver plus? Je m'intéresse aux principes généraux de conception des PRNG (propriétés souhaitables, tests, etc.).

Geai
la source
3
Pas sur le design en soi, mais vous pourriez être intéressé par le nouveau livre de Goldreich: books.google.com/books?id=9k6Lw2U2XCkC
S Huntsman
@S Huntsman: merci beaucoup pour ça! Je ne savais pas que Goldreich avait un livre sur les PRNG.
Jay

Réponses:

8

Vous voudrez peut-être vérifier

Dai Le
la source
1
La plupart de cela n'est pas très pertinent pour les implémentations pratiques des PRNG pour la cryptographie. Ce n'est pas un bon ensemble de ressources à donner à un implémenteur.
DW
4

Si vous songez à implémenter vos idées, il existe une batterie standard de tests pour les implémentations PRNG. Ces tests (DIEHARD et successeur DIEHARDER) peuvent être téléchargés à partir de sa page Web archivée et http://www.phy.duke.edu/~rgb/General/dieharder.php respectivement.

Peter Boothe
la source
4
Avertissement important: passer DIEHARD ne signifie pas que votre PRNG est bon. Ce n'est pas une ressource que je donnerais à un réalisateur qui a besoin de mettre en œuvre un PRNG sécurisé.
DW
1

Êtes-vous intéressé à mettre en œuvre un PRNG? Si c'est le cas, votre meilleur pari n'est pas d'en concevoir un vous-même, mais simplement d'en utiliser un standard. / dev / urandom est la bonne réponse sur la plupart des plateformes. Si / dev / urandom n'existe pas, générer une clé AES aléatoire avec / dev / random puis exécuter le mode AES-CTR pour générer de nombreux nombres pseudo-aléatoires est une autre approche raisonnable.

Je vous recommande de lire Cryptography Engineering, de Ferguson, Schneier et Kohno. C'est un livre excellent. Il vous apprendra beaucoup sur la façon de concevoir et de construire de vrais cryptosystèmes.

Si vous devez réellement construire un système qui sera déployé dans la pratique, je vous recommande de ne pas prendre vos conseils de la communauté théorique CS, mais plutôt de la communauté des praticiens et des chercheurs orientés vers la pratique. Une grande partie du travail théorique du CS ne sera pas très pertinent, voire potentiellement trompeur, pour la mise en œuvre pratique d'un PRNG sécurisé. Je vous encourage également à consulter l'échange de pile de sécurité informatique pour ce type de questions.

DW
la source
4
La question dit explicitement qu'il s'intéresse aux principes généraux, et la question a été posée sur l'échange de pile CS théorique ...
David Cash