|
|
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) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.nethack/6577bc164e1a.html, оценка из 5, голосов 10
|