Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Псевдослучайный генератор паролей  (Прочитано 18221 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: Псевдослучайный генератор паролей
« Ответ #30 : 05 Октября 2015, 19:03:08 »
А про ваш алгоритм (и не только) я уже сказал:
А чем больше алгоримов генерации паролей - тем лучше, ИМХО.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: Псевдослучайный генератор паролей
« Ответ #31 : 06 Октября 2015, 10:39:46 »
Вот еще один алгоритм наброасал на скорую руку:
(Нажмите, чтобы показать/скрыть)

Он пароли генерит заведомо не шаблонные. Хотя.... обязательная замена группы в следующем символе - это тоже шаблон :)
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн Freezeman

  • Активист
  • *
  • Сообщений: 637
  • Xubuntu 14.04.2 LTS :: SSD Kingston HyperX Fury
    • Просмотр профиля
Re: Псевдослучайный генератор паролей
« Ответ #32 : 11 Октября 2015, 18:48:03 »
Причем группу мы каждый раз выбираем отличную от предыдущей - т.е. в пароле никогда не будут следовать подряд символы из одной группы (к примеру, если последний символ был заглавной буквой, то следующей будет либо цифра, либо прописная буква, либо спец.символ.

Зачем? Количество возможных комбинаций тогда резко падает.

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: Псевдослучайный генератор паролей
« Ответ #33 : 11 Октября 2015, 18:54:24 »
Ну почему-то все парольные анализаторы за последовательность символов из одной группы снижают оценку безопасности.
По идее можно разрешить повторение но просто занизить вероятность повторений.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн Freezeman

  • Активист
  • *
  • Сообщений: 637
  • Xubuntu 14.04.2 LTS :: SSD Kingston HyperX Fury
    • Просмотр профиля
Re: Псевдослучайный генератор паролей
« Ответ #34 : 11 Октября 2015, 19:35:41 »
По поводу перебора.
На CUDA (данные на 2009 год):

- для md5
... BarsWF, разработкой которой занимается Михаил Сварчевский. На текущий момент разработчиком достигнута скорость перебора, равная 350 миллионам ключей в секунду.

- для NTLM
... для NTLM-хеша скорость перебора, используя мощности графического процессора, составляет 500 миллионов паролей в секунду. А если вместо брутфорса использовать rainbow-таблицы, получаем вообще астрономическую цифру: почти 73904 миллионов паролей в секунду!

...

По заявлению разработчиков [Distributed Password Recovery], система с несколькими видеокартами NVIDIA способна перебрать до 1 млрд. паролей в секунду.

Если предположить, что 1 cuda ядро способно обрабатать 570000 sha256-хэшей в секунду, то NVIDIA GeForce GTX TITAN X с 3072 ядрами CUDA способен нагенерить 1,75 млрд хэшей за секунду.


Цитировать
имеем 2^128 вариантов дайджестов - флаг вам в руки брутфорсить такое количество паролей
это только в худшем случае, в лучшем же первый сгенереный хэш подойдёт.

https://ru.wikipedia.org/wiki/Парадокс_дней_рождения

Таким образом, мы выяснили, что для m-битового хэш-кода достаточно выбрать 2^(m-1) сообщений, чтобы вероятность совпадения хэш-кодов была больше 0,5.
На практике это означает следующее, возьмём к примеру слабую хэш-функцию MySQL(64bit) всё множество её значений 2^64=18446744073709551616 вариантов. Чтоб найти совпадение с исходным паролем с вероятностью 50% нам требуется подать на вход 2^63=2^64/2=18446744073709551616/2=9223372036854775808 случайных паролей, т.е. ровно половину.
В контесте с революцией в вычисленяих на основе технологии CUDA, примем среднюю скорость вычислений одного хеша 8 000 000 000 000 п/c. на GF8600GT получим время 1152921сек.~320часов.~13 дней. Что это означает? Это означает что мы можем не искать исходный пароль, последовательно подавая на вход пароли, генерируемые простым брутфорсом (последовательно) а подавать случайное значение пароля из широкого диапазона > чем число возможных хэшей и в 50% через 13 дней непрерывного брута мы получаем хэш, который совпадёт с хэшем от исходного пароля (а может это будет и оригинальный пароль).
« Последнее редактирование: 11 Октября 2015, 19:51:33 от Freezeman »

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: Псевдослучайный генератор паролей
« Ответ #35 : 12 Октября 2015, 11:13:11 »
это только в худшем случае, в лучшем же первый сгенереный хэш подойдёт.
А я не говорю о худшем или лучшем случае. Ведь да, с вероятностью 1/2^128 первый пароль будет правильным. :), но с точно такой же вероятностью правильным будет и любой другой, включая последний.

И да, с перебором некоторого числа паролей дает 50% вероятности попадания. Но! если вам не повезет (с вероятностью 1/2) то вы будете добивать все остальные. :)

Я уже говорил в этой теме - писать формулы со временем - в принципе не корректно, корректнее писать в терминах вероятностей, но просто потребителю банально не знакомому с теорией вероятностей, вероятностная формулировка будет как филькина грамота.

Так и вам с вашим примером birthday paradox - не плохо бы понять что через 13 дней в вашем примере вы найдете пароль только с вероятностью 1/2. Т.е. может найдете, а может и нет, т.е. последняя фраза в вашей цитате - просто в корне неверна. Не возможно там однозначно сказать "через 13 дней непрерывного брута мы получаем..." - нужно говорить что "в одном случае из двух(в среднем), через 13 дней непрерывного брута мы получаем..."
« Последнее редактирование: 12 Октября 2015, 11:15:21 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Re: Псевдослучайный генератор паролей
« Ответ #36 : 12 Октября 2015, 13:42:11 »
Реально организовать что-то типа бинарного поиска?
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: Псевдослучайный генератор паролей
« Ответ #37 : 12 Октября 2015, 16:51:55 »
alsoijw, нет.

В случае с перебором паролей нет понятий пароль больше или меньше искомого, есть только признак тождественности искомому.

Для бинарного поиска нужна операция выдающая результат в виде больше/меньше/равно.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: Псевдослучайный генератор паролей
« Ответ #38 : 30 Октября 2015, 10:40:25 »
Cxms, ты не понял.

В теме речь была о генерации пароля на основе ключевой фразы. Т.е. смысл в том что вы запоминаете простую фразу/слово, но из него геренатор формирует сложный для подбора пароль.

Просто генераторов (на основе рандома) генераторов - более чем достаточно. Но пароль ими сформированный нужно запоминать так как он есть (т.е. саму эту абракадабру).
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн Cxms

  • Активист
  • *
  • Сообщений: 407
    • Просмотр профиля
Re: Псевдослучайный генератор паролей
« Ответ #39 : 30 Октября 2015, 20:02:03 »
Sly_tom_cat,
Понял. Убрал.

Оффлайн gamayun

  • Активист
  • *
  • Сообщений: 823
  • Кто ищет, тот найдёт, может быть...
    • Просмотр профиля
Re: Псевдослучайный генератор паролей
« Ответ #40 : 31 Октября 2015, 19:30:20 »
Второй день гоняю rarcrack в попытке испытания его на предмет подбора к zip архиву установленного мной "кошачего" пароля "musya".Судя по этой таблице гонять еще долго.Работает со скоростью 200 в сек.Сейчас перебирает 4-х значные пароли.Все таки длинна пароля имеет значение.
Не бери в голову

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: Псевдослучайный генератор паролей
« Ответ #41 : 01 Ноября 2015, 15:55:16 »
По поводу подбора приведу пример.
Делал задание по криптографии (классический взлом методом padding oracle). Так вот задача решаемая в лоб(перебор всех возможных значений байта) -~2минуты.
Убираем не ASCII символы(было известно что закодирована текстовая фраза)-~1.5мин.
Ставим буквы в перебираемой последовательности по убыванию статистической вероятности появлени символа в английском тексте(закодированное сообщение было на английском)-меньше минуты.

Потом раскидал подбор байта по паралельным потокам и распаролелил взлом блоков -~17секунд.

Т.е. если есть доп. данные которые позволяют сократить или оптимизировать поиск. То это дает значительный прирост в скорости перебора.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн Phlya

  • Старожил
  • *
  • Сообщений: 2219
  • Фля, Цыганский барон, Винни Пух
    • Просмотр профиля
Re: Псевдослучайный генератор паролей
« Ответ #42 : 01 Ноября 2015, 16:09:13 »
Может, вместо быстрых md5 или sha###, использовать медленный хэш типа bcrypt? Чтобы подбирать долго было.
Ubuntu 14.04 (Unity), MSI GE40

Оффлайн ALiEN

  • Автор темы
  • Администратор
  • Старожил
  • *
  • Сообщений: 6690
  • 20% Cooler
    • Просмотр профиля
Re: Псевдослучайный генератор паролей
« Ответ #43 : 01 Ноября 2015, 16:40:39 »
Phlya,
без разницы. Хеш определяет только то, какие символы будут в пароле и их порядок. 12 символов, независимо от того, какой хэш использовался, подбираться будут одинаковое количество времени.
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: Псевдослучайный генератор паролей
« Ответ #44 : 01 Ноября 2015, 16:56:27 »
Phlya, а для проверки паролей и так принято использовать специальные, заведомо медленные хеш генераторы. Тот же MD5 сделать пару тысяч раз и уже будут милисекунды на единичную проверку даже на прличном железе.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

 

Страница сгенерирована за 0.031 секунд. Запросов: 23.