génération des nombres long aleatoire

génération des nombres long aleatoire - C++ - Programmation

Marsh Posté le 28-03-2012 à 17:10:24    

salut  
svp m'aider de générer deux nombres de types unsigned long int (de taille 1024) aléatoire.
merci bien[#4600B8][/#4600B8]

Reply

Marsh Posté le 28-03-2012 à 17:10:24   

Reply

Marsh Posté le 28-03-2012 à 18:03:52    

Tu peux peut être jouer avec le rand() qui te renvoi un nombre au hasard entre 0 et 32767,et l'appliquer à ton int avec des décalages ?


---------------
Perhaps you don't deserve to breathe
Reply

Marsh Posté le 28-03-2012 à 18:14:13    

Hnayn5291 a écrit :

salut  
svp m'aider de générer deux nombres de types unsigned long int (de taille 1024) aléatoire.
merci bien[#4600B8][/#4600B8]

 [:google]  
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 28-03-2012 à 21:05:45    

j'ai exécuté ce code ça marche mais la valeur aléatoire de type entier ce n'est pas de taille 1024. :(  
   long int myRandom(void)
{
   static int first = 0;
   
   if (first == 0)  
   {
 unsigned long int t = (unsigned long int) time(NULL);
    srand(t);
    first = 1;
   }
   return ( rand () % 10 );
}

Reply

Marsh Posté le 28-03-2012 à 21:13:39    

Si par 1024, vous voulez dire 1024 chiffres exactement, ça va être difficile, vu qu'en 32 bits, un unsigned long int varie de 0 à 4 294 967 295 et a donc au plus 10 chiffres significatifs (20 chiffres en 64 bits). :sarcastic:  
Avec certaines extensions de compilateurs C on peut bosser sur des entiers non signés sur 128 bits, mais ça ne fait au plus que 39 chiffres significatifs. A delà, il faut utiliser des librairies spécialisées dans la manipulation de nombres pas représentables directement en machine, voir à "arbitrary-precision arithmetic"
A+,


Message édité par gilou le 28-03-2012 à 21:43:59

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 28-03-2012 à 22:36:17    

On utilise le système RSA, utilisant des clefs de 1024 bits donc j'ai obligé de generer les clés aleatoire de taille 1024 bits.

Reply

Marsh Posté le 28-03-2012 à 23:11:51    

Dans ce cas pourquoi tu fais pas un rand() bit à bit ? Mais de toute façon, comme l'a dit Gilou un long int c'est 32 bits, tu la manipule comment ta clef ?


Message édité par Terminapor le 28-03-2012 à 23:12:00

---------------
Perhaps you don't deserve to breathe
Reply

Marsh Posté le 28-03-2012 à 23:14:18    

Bonsoir,
1024 bits ca fait 128 octets soit 128 char donc en faisant un tableau de 128 (unsigned) char, il te suffit de tirer 128 fois un nombre entre 0 et 255 que tu stocke cle[numerotirage] ?


Message édité par breizhbugs le 28-03-2012 à 23:15:30

---------------
Seul Google le sait...
Reply

Marsh Posté le 29-03-2012 à 01:20:09    

comment?

Reply

Marsh Posté le 29-03-2012 à 02:40:01    

Faut peut être pas se moquer du monde: ce qu'il a dit est facilement implémentable. Si vous attendez de ce forum qu'on fasse le codage à votre place, ça ne va certainement pas aller.
Plutôt que Rand, utilisez donc des generateurs modernes comme WELL512 par exemple.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 29-03-2012 à 02:40:01   

Reply

Marsh Posté le 02-04-2012 à 14:09:58    

sans parler des problèmes de sécurité que posent les générateurs pseudo aléatoires qui peuvent être prédits. En général un bon programme sécurisé utilise les mouvements de la souris, les paquets réseau sur un laps de temps etc etc. (voir /etc/random sous linux) ou mieux, un chip dédié a la génération de nombres aléatoires.
sinon je ne connais pas de générateur de 1024 bits mais il est vrai qu'il est possible de faire par paquets.
sinon en pseudo random, l'usage commun s'oriente vers des mersenne twister.


---------------
http://projets.6mablog.com/
Reply

Marsh Posté le 02-04-2012 à 14:18:49    

J'ai vu quelque part un générateur basé sur le bruit radio reçu par la carte WiFi (sur une architecture Linux).
Je ne sais pas ce qu'il vaut, mais c'est pas con comme idée.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed