Algorithme du "RANDOM"

cvitedit -  
 sebsauvage -
Bonjour à tous,

Je sais que dans la plupart des langages, il existe une fonction "Random" intégrée pour rechercher un nombre alétoire. J'utilise un vieux langage dans lequel cette fonction n'est pas installée.
J'ai essayé de programmer cette fonction manuellement en me basant sur l'heure (avec les microsecondes) récupérée par le système, et en faisant une usine à gaz qui me permet de tronquer le résultat par rapport au résultat désiré, mais cette recherche n'est pas vraiment aléatoire.

Quelqu'un connait-il un algorithme qui permet de programmer cette fonction ?

Merci de vos réponses.

2 réponses

  1. sebsauvage
     
    Et bien si ce n'est pas pour faire de la cryptographie, il y a toujours le rand.c de tous les compilateurs C:

    http://minnie.tuhs.org/UnixTree/V7/usr/src/libc/gen/rand.c.html

    Tu peux t'en inspirer.

    Pour l'initialiser, il faut collecter des informations aléatoire où tu peux (souris, clavier, activité réseau, horloge...), mais c'est pas évident.

    Mais si c'est pour de la cryptographie, il faut absolument lire la RFC 1750:
    http://www.faqs.org/rfcs/rfc1750.html

    Moi j'aime bien ISAAC : facile à implémenter (y'a des versions C, C++, Java, Perl, Delphi...), rapide et d'excellente qualité.
    0
    1. cvitedit
       
      Merci pour ta réponse, j'espère pouvoir te rendre service un jour sur CCM.

      A bientôt.
      0
      1. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797 > cvitedit
         
        Sans vouloir douter de tes capacites...ni que tu puisses rendre un jour sevice sur le forum (ca vient toujours beaucoup plus vite qu'on le croit), la tu t'adresses quand meme a une des pointures... ;-)

        Mais tu as raisons, il faut toujours placer la base tres haut!!

        ö,ö
        \_/
        0