[Lugge] R: Re: R: Re: R: generare numeri casuali in c usando /dev/random o /dev/urandom

  • From: "gianlu]{a" <theblackangel@xxxxxxxx>
  • To: <lugge@xxxxxxxxxxxxx>
  • Date: Fri, 4 Feb 2005 23:50:23 +0100

Dunque premetto che sono le due di notte, sono sotto win e non posso provare
il codice perciò prendi con le pinze quello che dico.

Primo assioma di gianluka : "Security is simplicity!" 
Ragionando su questo assioma ti dico che la tua randomseed() mi sembra un pò
troppo complicata e andrebbero fatti alcuni conti per verificare il grado di
randomness del tuo estrattore. Conti complessi e che non ho voglia di fare
:D

IMHO con un codice di questo tipo sei "più casuale"

int key(){
         int randnum,key;
         int fd = open("/dev/urandom", O_RDONLY);
         if (fd != -1) {
            read(fd,&randnum,1);  /*non mi ricordo bene la funzione ma se ci
ho preso così leggo un byte da /dev/urandom e quindi ho una sequenza di 8
bit che ti da un numero da 0 a 255*/
            key = randnum;
         }
         close(fd);
         return key;
}

Vuoi migliorarla ? 


int key(){
         int randnum,key;
         int fd = open("/dev/urandom", O_RDONLY);
         if (fd != -1) {
            read(fd,&randnum,4);  /*leggi una word da /dev/urandom e quindi
ho una sequenza di 32 bit */
            key = randnum % 255;  /*genero chiavi nell'insieme 0-255 che se
ho capito bene è quello che vuoi tu*/
         }
         close(fd);
         return key;
}

In pratica ti fai ritornare già la key da /dev/urandom senza bisogno di
passare per rand().

Pura rottura formale, occhio alla definizione di one time pad... Per
definire il tuo cifratore come otp dovresti garantire alcune cosette dal
punto di vista matematico.
Domani, oggi, magari da sveglio guardo meglio il codice e lo provo pure ;)
G


-- 
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 265.8.5 - Release Date: 03/02/2005
 



--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 265.8.5 - Release Date: 03/02/2005



 --
 Email.it, the professional e-mail, gratis per te: http://www.email.it/f

 Sponsor:
 Tele2 ADSL a soli 28,95?/mese
*
 Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid127&d=5-2
========----------

 Archivio delle e-mail postate in lista
 http://www.freelists.org/archives/lugge/

 Prima di scrivere in m-list per favore leggi il regolamento
 http://www.lugge.net/index.php?mod=cosa_facciamo/gruppo_di_discussione

 Modifica dell'account sulla lista LUGGe
 http://www.lugge.net/index.php?mod=cosa_facciamo/gruppo_di_discussione#list



Other related posts: