Главная страница


ru.nethack

 
 - RU.NETHACK -------------------------------------------------------------------
 From : 3APA3A                               2:5020/400     09 Jan 2003  17:36:52
 To : Eugene Grosbein
 Subject : Re: Remote Administrator server
 -------------------------------------------------------------------------------- 
 
 Hello, Eugene!
 You wrote to 3APA3A on Thu, 09 Jan 2003 18:28:23 +0300:
 
  EG>  3> По поводу стойкости pw_getrand - не знаю, не видел реализации.
 
  EG> #ifndef lint static const char rcsid[] =
  EG>   "$FreeBSD: src/usr.sbin/pw/pw_user.c,v 1.34.2.12 2002/08/11
  EG> 14:27:31 dwmalone
  EG> Exp $";
  EG> #endif /* not lint */
 
  EG> [skip]
 
  EG> #if defined(USE_MD5RAND)
  EG> u_char *
  EG> pw_getrand(u_char *buf, int len) /* cryptographically secure rng */
  EG> {
  EG> int i;
  EG> for (i=0;i<len;i+=16) {
  EG> u_char ubuf[16];
 
  EG> MD5_CTX md5_ctx;
  EG> struct timeval tv, tvo;
  EG> struct rusage ru;
  EG> int n=0;
  EG> int t;
 
  EG> MD5Init (&md5_ctx);
  EG> t=getpid();
  EG> MD5Update (&md5_ctx, (u_char*)&t, sizeof t);
  EG> t=getppid();
  EG> MD5Update (&md5_ctx, (u_char*)&t, sizeof t);
  EG> gettimeofday (&tvo, NULL);
  EG> do {
  EG> getrusage (RUSAGE_SELF, &ru);
  EG> MD5Update (&md5_ctx, (u_char*)&ru, sizeof ru);
  EG> gettimeofday (&tv, NULL);
  EG> MD5Update (&md5_ctx, (u_char*)&tv, sizeof tv);
  EG> } while (n++<20 || tv.tv_usec-tvo.tv_usec<100*1000);
  EG> MD5Final (ubuf, &md5_ctx);
  EG> memcpy(buf+i, ubuf, MIN(16, len-i));
  EG> }
  EG> return buf;
  EG> }
 
 Это не rand(), конечно, но и считать что то, что получится совсем случайно
 тоже не стоит. Все сильно зависит от производительности/загрузки машины. Hа
 производительной машине, да еще что-то делающей параллельно, надежды нет,
 т.к. даже если считать что каждый вызов пары getrusage/gettimeofday дает в
 среднем 3 бита "разброса" и делается хотя бы 40 циклов, то овчинка выделки
 не стоит. Hо генерировать пару сотен тысяч карточных паролей таким
 алгоритмом ты упечешься :)
 
 /3APA3A
 http://www.security.nnov.ru
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Remote Administrator server   3APA3A   09 Jan 2003 17:36:52 
Архивное /ru.nethack/6577bc164e1a.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional