Re: random() generates collisions too early

Поиск
Список
Период
Сортировка
От Honza Horak
Тема Re: random() generates collisions too early
Дата
Msg-id 526667BF.3040601@redhat.com
обсуждение исходный текст
Ответ на Re: random() generates collisions too early  (Heikki Linnakangas <hlinnakangas@vmware.com>)
Ответы Re: random() generates collisions too early  (Heikki Linnakangas <hlinnakangas@vmware.com>)
Список pgsql-bugs
On 10/21/2013 04:19 PM, Heikki Linnakangas wrote:
> On 18.10.2013 14:55, Honza Horak wrote:
>> On 10/18/2013 02:10 AM, Noah Misch wrote:
>>  > sudo sysctl -w kernel.pid_max=2048
>>  > psql -c 'create unlogged table samp(c float8)'
>>  > for n in `seq 1 200000`; do psql -qc 'insert into samp values
>> (random())'; done
>>  >
>>  > The results covered only 181383 distinct values, and 68 values
>> repeated four
>>  > or five times each. We should at least consider using a
>> higher-entropy seed.
>>
>> As I was told this is not taken as a security issue, since random() is
>> not considered as a CSPRNG in any case, but as Noah said, we should
>> probably try to make it a bit better.
>
> Interesting. PostgreSQL's random() function just calls the underlying
> libc random() function. I assume you tested this on with Linux and glibc.
>
>> Also, I'd suggest to state explicitly in the doc, that random()
>> shouldn't be taken as CSPRNG, since I can imagine people blindly
>> believing that random() can be good enough for such use cases, just
>> because they see how many possible values they get from double-precision
>> type:
>> http://www.postgresql.org/docs/9.3/static/functions-math.html
>
> Yeah, that seems like a good idea. A patch would be welcome.

I don't think we need to tell some long stories here, so what about this
one:
"pseudo-random value in the range 0.0 < x < 1.0 (characteristic of
randomness depends on the system implementation and is usually limited,
thus not considered as a CSPRNG in any case)"

Corresponding patch of doc is attached.

Regards,
Honza

Вложения

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Euler Taveira
Дата:
Сообщение: Re: BUG #8545: pg_dump fails to backup database level grants
Следующее
От: Honza Horak
Дата:
Сообщение: Re: random() generates collisions too early