Генерация паролей и логинов.

Тема в разделе "WASM.ZEN", создана пользователем REASY, 25 дек 2007.

  1. ntldr

    ntldr New Member

    Публикаций:
    0
    Регистрация:
    20 ноя 2007
    Сообщения:
    125
    Для начала неплохо было бы самому привести рабочий исходник, который хотя-бы компилировался.

    Ты сам посмотри на свою инициализацию srand(t.ti_sec*100+t.ti_hund);
    Имеем 60 секунд в минуте и 24 часа в сутки = 1440 комбинаций. В одной связке генериться 100 паролей, значит общее число возможных паролей = 144000. Если у нашего провайдера 1000 пользователей, то подходящий пароль подбирается максимум с 144 попыток. Если мы знаем хоть один рабочий проль, то подбираем следующий быстрее.
     
  2. drmad

    drmad New Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    332
    Адрес:
    Russia
    ntldr

    Это текст вот прямо из окна редактора, все компилируется и, как ни странно, работает. Компиляторы нормальные иметь надо. :)

    Почему это в одной связке генгерится 100 паролей? Потому что в исходнике так? Ну это же для примера. Я подозреваю, что для торговли карточками нужно как минимум несколько тысяч паролей. Т.е. нормальная цифра - не 100, а 10000. А по-хорошему, надо сгенерировать, например, 1000000 паролей и взять из них 10000 каких-нибудь средних.

    Код (Text):
    1. Имеем 60 секунд в минуте и 24 часа в сутки = 1440 комбинаций.
    Отнюдь!
    t.ti_sek - секунды.
    t.ti_hund - сотые доли секунды.
    Итого: 60*100=6000 исходных затравок, а не 1440.

    Итак, берем 6000 затравок и начинаем брутфорсить.... стоп! Но ведь в тексте стандарта ANSI числовые константы, использованные для датчика, приведены не обязательные, а _рекомендуемые_. В разных компиляторах они разные. Например, для Виндов: в Вижуал Ц они a = 1103515245, b = 12345, а в Борланде они a = 22695477, b=1.

    roman_pro

    Никуда оно не падает. Там живет нолик. :)
     
  3. ntldr

    ntldr New Member

    Публикаций:
    0
    Регистрация:
    20 ноя 2007
    Сообщения:
    125
    Значит VC2008 не нормальный? Интересно, что за чудо компилирует вот такие перлы:
    Код (Text):
    1. main() { int i j;
    ?
    Код (Text):
    1. s[rand()|(RAND_MAX|(sizeof(s)-1))]
    - а вот это вобще ахтунг. Как оно вообще может работать не падая?

    При этих словах труп анонимного криптоаналитика тихо перевернулся в гробу...
     
  4. drmad

    drmad New Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    332
    Адрес:
    Russia
    ntldr

    Блин. :) Вообще-то, это когда-то компилировалось при помощи TopSpeed C++ и нормально работало... честное пионерское!... потом вошло в ДОС-овский текст, который автоматическим ковертером был переведен в Вин-кодировку и всунут хтмл-страничку, откуда я этот издохник и взял вчера. Понятия не имею, куда девалась зпт, и откуда взялись вертикальные палки, когда там должны быть косые.

    Ну, ты на мелочи не отвлекайся, ты по концепции давай, по концепции. :) В частности, что там про труп-то? В разных компиляторах (точнее, в заголовочных файлах) константы датчика действительно разные используются.
     
  5. ntldr

    ntldr New Member

    Публикаций:
    0
    Регистрация:
    20 ноя 2007
    Сообщения:
    125
    Да какие могут быть концепции? Все адекватные люди используют криптографически стойкие ГСЧ, вместо того чтобы пытаться обосновать применение нестойкой схемы в какой-либо конкретной ситуации. Тем более что написание такого ГСЧ займет меньше времени чем флуд в этом топике, и в итоге безопасность генерации паролей ни у кого не вызовет сомнений.
    В криптографическом сообществе создание небезопасных алгоритмов считается простительной ошибкой (так как демонстрирует незнание), но попытка защищать свое небезопасное творение вызывает крайне негативную реакцию (так как демонстрирует глупость). В конце концов защищающие оказываются послаными очень далеко (что собственно правильно, так как глупость неизлечима).
    Криптографический алгоритм должен быть стоек в любом применении. В противном случае его лучше вообще не создавать, чтобы не вводить кого-либо в заблуждение. Вдруг кто-нибудь начнет твоим алгоритмом генерировать пароли к криптодискам? Поэтому не вводи людей в заблуждение, а просто переделай код так, чтобы он не вызывал нареканий.
     
  6. drmad

    drmad New Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    332
    Адрес:
    Russia
    Ага. Вот уже пошла философия. :)

    Ну вот и получается, что "криптографическое сообщество" постоянно тратит кучу времени, нервов и денег, решая частные вопросы глобальными методами. Вот буквально сегодня эта же здравая мысль в другом топике у тов. К. Касперски прозвучала.

    Разве речь шла о создании универсальной программы, предназначенной для продажи? Речь шла о генерации нескольких тысяч паролей. И решаться эта задача должна была за 10-15 минут, что, я собственно, и собирался сказать своим первым топиком.

    А если искать где-то готовую программу... да требовать от нее теоретически обоснованной криптостойкости... да еще и, возможно, операционку под нее подбирать... да вдруг она еще и платная... так можно до решения своей проблемы и вообще в разумные сроки с разумной затратой усилий не добраться. Имхо.
     
  7. ntldr

    ntldr New Member

    Публикаций:
    0
    Регистрация:
    20 ноя 2007
    Сообщения:
    125
    Клиника, что же еще сказать... Как раз благодаря подходу "тяп-ляп и готово" существуют такие вещи как спам, кардинг и другие угрозы безопасности. Но впринципе я с тобой согласен, ибо благодаря такие кодерам как ты, кто-то может поиметь халяву :)
     
  8. Proteus

    Proteus Member

    Публикаций:
    0
    Регистрация:
    19 июн 2004
    Сообщения:
    344
    Адрес:
    Russia
    А вы думаете он на самом деле будет карты выпускать?
    А злые харкеры из америки вскроют его ГСЧ?

    Меня бы вот Линёвые функции генерации устроили. Там в ядре есть специальный пул энтропии. И никакая библиотека-генератор тут не соперник.__))
     
  9. drmad

    drmad New Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    332
    Адрес:
    Russia
    ntldr

    Фи. :) Тут вопрос действительно философский.

    Вот перегорела лампочка. Есть два подхода.

    Первый - сбегать на угол, купить новую лампочку, вывернуть старую ввернуть новую.

    Второй - позвонить и вызвать электрика, потребовав, чтобы у него обязательно были резиновые перчатки и лицензия, разрешающая ему работу по этой профессии.

    Да, я согласен, что возможна ситуация, когда "первый" покупает бракованную лампочу, и бежать на угол надо повторно. Или стукается током (даже до смерти). Или неудачно падает со скользкой табуретки. Все бывает. Но все же мне странно и стремно, что все больше среди нас "вторых".

    З.Ы. А по топику... Философия-философией, но ведь криптостойкого вырианта никто так и не предложил. Включая ntldr. :) RC4 пойдет? Или не менее "дырявый"?