Bonjour à tous,
Je cherche à réaliser un générateur cryptographique de nombres pseudo-aléatoires.
Qu'est-ce que c'est qu'un générateur de nombres aléatoires, pseudo-aléatoires ?
C'est une fonction qui donne en sortie des nombres. A chaque appel la fonction donne un nombre différent. On l'appelle aléatoire parce que tous ces nombres semblent indépendants les uns des autres. On dit "semblent" car la machine étant totalement déterministe, les algorithmes sont eux même déterministes. Donc les nombres en sortie du générateur dépendent tout de même les uns des autres, mais il est tellement difficile de faire la relation entre les uns et les autres sans la fonction de base que l'on finit par dire qu'ils sont pseudo-aléatoires.
Qu'est-ce qu'un générateur cryptographique de nombre pseudo-aleatoire ?
C'est un générateur de nombres aléatoires le moins biaisé possible, c'est à dire qu'il favorise une équiprobabilité de chacunes des sorties du générateur. La plus part des générateurs le font, mais pas assez bien pour une utilisation cryptographique. C'est à dire qu'il faut favoriser l'uniformité des sorties dans le domaine de définition de la sortie de la fonction, de l'algorithme. C'est exactement le contraire de la courbe de Gauss qui donne un maximum à une certaine valeure.
Pour quoi faire ?
J'en ai "besoin" afin de pouvoir l'inserer dans un programme de chiffrement à clef symétrique que je développe moi même. J'ai tout de même quelques difficultés à développer un suffisement bon générateur cryptographique de nombres pseudo-aléatoires. J'en ai développé un dont les sorties ont toutes une probabilité de sortie moyenne de 0,1% avec un écart-type de 0,5%, ce qui est bien trop grand pour une utilisation cryptographique.
Si l'un de vous sait comment développer une telle fonction je lui serais reconnaissant de bien vouloir m'aider. Par la même occasion, je sais qu'il existe un certain nombre de fonctions existant, telles que "Blum Blum Shub", "Fortuna", "ISAAC", cependant je n'arrive pas à trouver les codes sources et quand je les trouve, j'avoue ma difficulté à dénicher une once de documentation pour me permettre d'utiliser ces codes.
Dans l'attente d'une réponse de votre part,
phmorin
PS: j'avais posté ce sujet sur le forum du C mais on m'a dit de le mettre ici.
Partager