IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Générateur cryptographique de nombres aléaoires


Sujet :

C

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Générateur cryptographique de nombres aléaoires
    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

  2. #2
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Tu t'es trompé de forum, va plutôt dans le forum Algorithmique.
    Je ne répondrai à aucune question technique en privé

  3. #3
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    711
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 711
    Points : 751
    Points
    751
    Par défaut
    je dirais que blum blum shub est le plus facile a implementer, mais il necessite de savoir faire des calculs sur des grands entiers, et de trouver des nombres premiers a partir d'une graine. Yarrow et fortuna sont mieux armés pour accumuler de l'alea a partir de source diverses, et sont plus rapides, mais plus violent a programmer. je n'ai jamais trouvé de source pour fortuna, mais pour yarrow ca existe.

    dis toi malgé tout que l'algorithme ne fait pas tout. si tes données sont reellement sensibles, tu aurais tout interet a utiliser une librairie existente !! une implementation fiable d'un algo de cryptage sur est une chose tres tres tres delicate...

  4. #4
    Candidat au Club
    Inscrit en
    Octobre 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Tu saurais où je peux trouver de telles librairies et leur "mode d'emploi"?

  5. #5
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    711
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 711
    Points : 751
    Points
    751
    Par défaut
    l'deal a mon avis c'est libgcrypt, qui est utilisée notamment dans GnuPG. il n'y a pas de doc en ligne, mais elle est fournie avec la librairie, et elle est assez simple.

    si tu veux quand meme faire des choses toi meme, egarde du cote de GMP (calcul avec des grands entiers, tres complete, utilisé par exemple dans Maple). doc tres complete sur leur site.

    ce qui m'etonne, c'est que pour implementer un systeme de cryptage symetrique, tu devais de toutes facon manipuler de grands entiers, donc blum blum shub ne devrait pas te faire peur :-)

    ah, oui : ces 2 librairies sont libre et multi plateforme.

  6. #6
    Candidat au Club
    Inscrit en
    Octobre 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par jobherzt
    ce qui m'etonne, c'est que pour implementer un systeme de cryptage symetrique, tu devais de toutes facon manipuler de grands entiers, donc blum blum shub ne devrait pas te faire peur
    Surement, encore faudrait-il que je trouve l'algorithme correspondant à Blum blum, avant de me lancer dans le codage, or je n'en ai pas trouvé de clair.

  7. #7
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    711
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 711
    Points : 751
    Points
    751
    Par défaut
    c'etait pas bien loin :

    http://fr.wikipedia.org/wiki/Blum_Blum_Shub

    maos comm je te le dis, il faut pouvoir faire des calculs avec de grands entiers..

Discussions similaires

  1. Réponses: 8
    Dernier message: 05/07/2010, 19h59
  2. générateur de nombre aléatoire
    Par ndefta love dans le forum C++Builder
    Réponses: 3
    Dernier message: 07/12/2006, 22h21
  3. Générateur cryptographique de nombres aléatoires
    Par Sidenn dans le forum Algorithmes et structures de données
    Réponses: 11
    Dernier message: 09/10/2006, 09h09
  4. Générateurs de nombres aléatoires
    Par Cheps dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 12/06/2006, 00h37
  5. Générateur de nombres pseudo-aléatoires
    Par gege2061 dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 25/08/2005, 13h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo