nixp.ru v3.0

30 мая 2017,
вторник,
16:03:35 MSK

DevOps с компанией «Флант»
Sergey65 написал 18 декабря 2005 года в 14:14 (2154 просмотра) Ведет себя как мужчина; открыл 4 темы в форуме, оставил 2 комментария на сайте.

Попробовал сделать сабж: http://www.nixp.ru/pub/upload/Sergey65/ranstr.sh . В нем из случайной последовательности цифр и лат. букв длиной 3000 символов, к-рую я заранее сгенерировал с помощью /dev/random,стандартным псевдослучайным образом выбираются символы для пароля. Очень быстро генерирует пароли любой длины. Можно задать создание сразу нескольких паролей. Если кто здесь разбирается в криптографии и в случайных последовательностях — проверьте, pls, насколько получаемые пароли надежны.

Uncle Theodore

Сильно честно говоря, я не очень понимаю, на фига весь сыр-бор. Во-первых, есть прибамбасы типа

openssl rand -base64 <число>

если уж сильно надо. Во-вторых, сгенерировать последовательность байт из /dev/random (что само по себе не очень случайно, взял бы /dev/urandom что ли), а потом из _нее_ выбирать случайную подпоследовательность — это как-то даже совсем не случайно…

И зачем? Чтобы быстро генерить пароли? А куда спешить? Прочитай /dev/urandom из сяшной проги, да и сконвертируй в последовательность символов. Смешней всего, что может даже и быстрее получится…

Good Luck,

UT

Sergey65
Uncle Theodore
Сильно честно говоря, я не очень понимаю, на фига весь сыр-бор. Во-первых, есть прибамбасы типа

openssl rand -base64 <число>

Точно, работает. Только ведь rand — это псевдослучайная функция?

если уж сильно надо. Во-вторых, сгенерировать последовательность байт из /dev/random (что само по себе не очень случайно, взял бы /dev/urandom что ли),

? Насколько я знаю, /dev/random выдает истинно случайную последовательность из всяких компьютерных «шумов» и, кстати, поэтому надолго «задумывается», когда их поток временно иссякает. А /dev/urandom в случае такого иссякания начинает самостоятельно генерировать псевдослучайные данные.

а потом из _нее_ выбирать случайную подпоследовательность — это как-то даже совсем не случайно…

Если число вариантов выбора ограничено. А в данном случае где ограничения?

И зачем? Чтобы быстро генерить пароли? А куда спешить? Прочитай /dev/urandom из сяшной проги, да и сконвертируй в последовательность символов. Смешней всего, что может даже и быстрее получится…

Если пользоваться /dev/urandom — да, быстрее. 8-)

decvar
компьютерных «шумов»

круто. компьютерный шум. это что-то новенькое…

а у меня ноут не шумит, чего бы это он? ;)

semka

А ты проверь, будет у тебя этот генератор работать или нет? По-любому не будет, раз шумов нет (:

Uncle Theodore

Сорри, попутал я random с urandom… Все же, я не думаю, что чтение с /dev/random настолько медленное, чтобы оправдать скрипт, который выискивает случайную подпоследовательность в заранее сгенерированной случайной последовательности. Можно попробовать прогнать статистический анализ, конечно, но на данный момент леняво…

А в чем проблема с hardware noise, который был переведен «компьютерными шумами"? Мне почему-то кажется, что decvar знает, что это такое, так что стебаться?

Good Luck,

UT

decvar

а чего бы и не постебаться-то? ;) настроенение хорошое….

кстати, какое отношение это имеет к /dev/random?

просто мне интересен механизм как ядро узнает от каком либо из множества «шумов». я так понимаю речь о thermal noise?

Uncle Theodore

Кстати, вот ссылка для Sergey65, точная формулировка моих сомнений по поводу его выбора из заранее посторенной последовательности:

http://rfc.dotsrc.org/rfc/rfc1750.html

часть 4.4

Грубо говоря, степень случайности выборки n бит из заранее известной потенциальному взломщику базы данных равна n. Другими словами, члены его последовательности случайны ровно настолько, насколько случайны места, где они взяты в базе данных. А для выбора мест он пользует псевдо-случайную функцию. Его 3000 байт абсолютно ему ничем не помогают.

2decvar: я, честно говоря, не знаю, как именно

This random number generator gathers environmental noise from device drivers and other sources into an entropy pool.

Но, наверное, надо почитать random.h и random.c в сырцах ядра.

Good Luck,

UT

Sergey65

Сдаюсь. И ведь то же самое мне говорил знакомый программист, научивший меня пользоваться /dev/random’ом. Тогда до меня не дошло.

rgo
decvar
а чего бы и не постебаться-то? ;) настроенение хорошое….

кстати, какое отношение это имеет к /dev/random?

просто мне интересен механизм как ядро узнает от каком либо из множества «шумов». я так понимаю речь о thermal noise?

например время чтения сектора жёсткого диска или время между двумя прерываниями.

Драйвера температурных датчиков, по-моему тоже вносят свой вклад… Или нет, может мне только кажется, что я это видел.

Напрямую эти числа не стоит использовать, но после определённой «рандомизации», получается неплохо.

Слово noise, я понимаю из радиотехники пришло, там ведь есть «белый шум».

Feuerbach

> Слово noise, я понимаю из радиотехники пришло, там ведь есть «белый шум».

Нет, не только там. И, кстати, шум бывает не только белым. Может, к примеру, быть розовым :)

decvar
Драйвера температурных датчиков, по-моему тоже вносят свой вклад…

thermal noise это не температурные датчики,

википедия

rgo
decvar
thermal noise это не температурные датчики,

википедия

ааа. не воткнул сразу, что это тепловой шум :). Ну этого нету, разве что специальные железяки, со специальными дровами…