а ты не делай паузы по 10 секунд. Делай по той же 0.1 секунде. Или по-твоему лучше сделать 0.1 секунду путем самозапинывания сервера, а не делеем? Сам я вообще против любых задержек. а откуда кулхацкер вообще знает мой алгоритм хеширования? Я уже писал про кражу исходников и про то, что проще в таком случае засадить жертве сниффер.
там не в задержках дело, дцатый раз тебе говорят =) вообще задержки тут не при чем. и крутят итерации не задержек ради. ну если ты не идиот, то будешь юзать ченить путное. а этого немного. всяко быват.
И вот зачем мне тебе что-то объяснять, если я заранее знаю, что ты будешь прыгать из стороны в сторону пытаясь высрать какие-то аргументы? Ибо в защите все просто. Есть вид атаки - есть защита. Нет защиты, которая поможет от всего. Да, правильное хеширование не поможет от закладок, у него другая задача. Но это не значит, что теперь не нужно правильно хешировать, это значит, что нужно защищаться от закладок. Тоже самое с DDOS-ом. Тоже самое с подбором пароля через скрипты логина. И т.п. и т.д. А тут что ни пост - то пёрл. Вот новый родился, про GPU. Слышал где-то, что подбирают, и пришел сюда хвастаться. А то, что есть алгоритмы, затрантые не только к процессору, но и к памяти - не знаем. Реальных кейсов - не знаем. Ну понятно, что люди не хотят разбираться в вопросе, гуглить, читать. Они хотят схавтить по верхам и потом с умным видом на php.ru рассуждать. Один из немногих форумов таких, к слову.
А я дцатый раз говорю, что я в курсе, чем отличается задержка времени исполнения, от накрутки времени алгоритма. И уже сказал, почему накручивать время алгоритма не имеет смысла в сегодняшних реалиях. Если я не идиот, я не ограничусь sha1(), а крутану что-то вроде sha1(md5((sha2()))); или любую другую комбинацию, с конкатенацией и тд. Исходя имеено из того, что я не криворукий и не слепой и не просру, омг, скрипты. Вообще сколько случаев подобного вы знаете? как в том анекдоте про "случаи бывают разные"? Ну ну Давай все же не грубить, Ванга. Кладезь мудрости, а по делу? Первый абзац - половина капитан Очевидность написал, половину капитан Демагогия. Далее. Алгоритмы затратные не только к процессору, но и к памяти - и что? Не в курсе, что такое мемлики, как с ними бороться, и что такое управление памятью? Или что на видеокарту можно RAM расшарить? Видимо нет. И вообще, речь идет о брутфорсе. Брутфорс вызывает мемлики или требователен к памяти? Йошкин крот... Третий абзац - можешь перечитать его, но уже в свой адрес от моего лица. Пока что только бла бла бла от тебя шло, никакой конкретики и пафос. И агра, да.
Ты сказал почему накрутка не имеет смысла. Я сказал почему имеет. Если ты не видишь разницу, то тебе надо подумать, поразмышлять. по поводу крутану. Если ты сделаешь так sha(md5()), то ты и вправду слишком легко подходишь к этому вопросу. Подумай, какой изъян очевиден в этой схеме.
Мы говорим об одном и том же и о разном одновременно Я вижу разницу. Ты верно сказал, я сказал почему не имеет смысла, ты сказал, почему имеет. Правы, на деле, оба. Я повторюсь, все исходит из того, что исходники не пролюблены. Потому что если пролюбил исходники, то никто не будет ничего дампить, реверсить-инженерить и тем более расшифровывать. Тебе просто зальют сниффер, в который раз уже повторяюсь. Попробуй посмотреть на ситуацию именно с этой стороны. А не с "стырили базу и исходники, ща будут ковырять".
Fell-x27, ну зря Вы так. Вот приняли фрилансера Васю на работу - дали ему доступ на чтение до репозитория скриптов и базы. Вася скачал себе копию скриптов, сдампил базу и ливнул. Доступ на запись у него может даже и не было, а алгоритмы все с солями и базу хешей спёр. И что теперь делать?
Мастер риторики 80лвл. Не у Путина ли учился вот так отвечать? Конкретный вопрос - вы действительно думаете, что брутфорс является алгоритмом с повышенным расходом памяти, либо с потенциальными мемликами? Или просто так ляпнули, где-то прочитав про алгоритмы, требовательные не только к процу, но и к памяти и решили включить ДАртаньяна? Опять же - частный случай. Я как-то фрилансил в другой сфере на сурьезный проект. И одним из условий было подписание бумажки, по которой я не против выплатить огромный штраф (правда огромный), если где-то пойдет утечка данных, к которым доступ имею только я. И паспортные данные мои ниже. Что называется - сам виноват в случае чего. Вася должен всю систему перековырять? Вряд ли. Вот и пускай его только туда, куда ему надо. А еще - хорошее правило, не пускать нонеймов на боевой сервер. Сделай ему независимую девел-копию, пусть играется. Я не имел ввиду такую комбинацию Да, я понял о чем ты - коллизию искать надо только для внешнего алгоритма, все внутренние роли не играют. Но кто мешает сделать sha1() && md5(), например. Я имел ввиду, что не обязательно ограничиваться одним алгоритмом. Найди инпут, который даст коллизию сразу для двух или более алгоритмов - мишшн импосибл, если, конечно, ты не готов потратить пару тысяч лет, хотя и то вряд ли, что найдешь. Ну или если пароль был не qwerty.
пространство md5 меньше чем sha1, получается, считая sha1 от md5 ты не создашь больше вариантов, чем даёт чистый md5. Добавлено спустя 5 минут 23 секунды: на самом деле стоит не ограничиваться. например под md5 подобрать коллизию несложно, а вот если её проверить другой функцией - то скорее всего в подавляющем большинстве случаев будет несхождение. но для паролей наверное смысла нет. у них кратчайшая коллизия и есть верное решение, пожалуй.
Тут зависит от специфики пароля и от того, как он был замешан с солью. Если после глубокого просола на выходе получается 45-символьная каша с буквами, цифрами и спецсимволами, то тут только искать коллизию... Но даже для двух функций ты ее не найдешь. Для трех не стоит и пытаться. Я вот возьмусь-таки и запилю систему просола, алгоритм которой будет зависеть от входящих данных, мысли вслух. Другое дело, если просол примитивный, да еще и соль одна на всех, а пароль сам - какое-нибудь "solnyshko". Тут даже если не словарем, а просто брутфорсом фигачить, ты скорее просто пароль подберешь, чем коллизию
дело не в этом. если мы допустим возьмём крайний случай, то если мы делаем sha512 и crc32, что даёт нам жирную стойкость при пересылке файлов, то в случае с паролями, это позволить хуячить из пулемёта crc32 и если проканало, только тогда считать sha512, что ускорит перебор значительно. Т.о. имеет смысл добавлять хеш-функцию только такой же или большей стойкости.
Эм...ну нашел ты то, что проканало для crc32. И даже нашел то, что проканало для sha512. Ты найди то, что проканает одновременно для обоих. Ускорения перебора не будет, или я что-то недопонимаю, или ты что-то недообъяснил.
Мемлики вообще не имеют отношения к алгоритмам, это ошибки реализации. Брутфорс является алгоритмом с повышенным расходом памяти ровно на количество производимых параллельных вычислений. Но я так понимаю, вы хотели задать другой вопрос, просто или стесняетесь или ума даже для этого не хватило. Повсеместно используемый алгоритм bcrypt на базе алгоритма blowfish устойчив к брутфорсу на сегодняшних GPU, т.е. GPU не дает никаких выигрышей по сравнению с CPU. Как раз во многом из-за требований к памяти. Быстрота GPU обусловлена тем, что все данные, необходимые для расчета помещаются в регистры одного ядра или небольшой кусочек специальной памяти. В иных случаях ядрам придется задействовать основную память. Это приводит к тому, 99% времени ядра тратят на ожидание шины доступа к памяти. Еще вопросы?
Да, при чем тут bcrypt, когда речь шла о sha и md5 конкретно в данном случае? Так как bcrypt входит в пхп только с версии 5.3, в то время когда до сих пор 5.2+ стоит на подавляющем большинстве шареных хостингов, пользователи которых составляют основную массу сайтодержателей. Будешь дальше вести себя как ДАртаньян, открыто пошлю наxyй. Припусти ЧСВ.
bcrypt в php был всегда, начиная с 5.3 добавлена встроенная поддержка, до этого PHP опирался на системные библиотеки, которые есть во всех дистрибутивах Linux и FreeBSD. И если речь шла о sha и md5, то только у вас в голове. В той теме, где я давал выкладки по увеличению ресурсоемкости вычисления хешей, и на которую вы с удовольствием ссылались про всякие там ddos - речь шла о crypt. И ни о чем другом речи идти не может - если вам нужно хранить пароли и вы не гений криптографии - вы обязаны использовать crypt. Да и без этого - почитай свои посты про "мемлики". Это же бред шизофреника. >Будешь дальше вести себя как ДАртаньян, открыто пошлю наxyй. Припусти ЧСВ. Ты правда думаешь меня это хоть как-то волнует? А вот ЧСВ следует "припустить" тем, кто лезет рассуждать в тему, в которой он ни в зуб ногой, и более того - и не пытается хотя бы гугл напрячь. Добавлено спустя 4 минуты 20 секунд: Найдя то, что "проканало" для crc32 _очень быстро_ ты уменьшил словарь для брутфорса пароля, который потом будет использоваться для sha512. Очевидно.
Мне без разницы. Просто так обильно брызгаешь слюной, что я опасаюсь, как бы монитор не закоротило. Не можешь говорить спокойно и по-нормальному, не пытаясь назвать собеседника говном, значит нахрен ты вообще такой нужен, только и делов. Либо давай вести беседу по-человечески, а не по-собачьи. Так. Абстрагируемся от конкретных хэш функций. Есть две абстрактные хэш-функции. Надо получить входящие данные, хэш от которых в обеих функциях будет совпадать с таковым от реального пароля. Не найти две строки, одна из которых даст коллизию в первой функции, а вторая во второй, а строку одну, которая даст коллизию сразу в двух функциях. Если у тебя что-то совпало в первой функции, при длине входящей просоленной строки, скажем, в 40 символов, вероятность, что эта же строка будет верной и для второй функции меньше, либо равна вероятности того, что ты подобрал сам пароль. Разве нет?
Есть sha и crc от одной строки, и словарь в 10e10 слов. Полный перебор sha займет, к примеру, 10 часов. Полный перебор crc займет 2 часа. Crc на выходе даст, к примеру, 5000 вариантов, подходящих под этот хеш. Осталось только эти 5000 вариантов пробежать по sha, что займет несколько минут. Таким образом скорость подбора сократилась с 10 часов до 2 часов из-за использования второй "слабой" функции. И, к слову, соль уже исключает подбор коллизии, не говоря уже о том, что коллизии коротких строчек у нормальных алгоритмов вообще скорее всего не будет. Добавлено спустя 3 минуты 26 секунд: Не знаю, я лично с сусликом общаюсь. И нужен или нет - не тебе решать. На нормальные вопросы я даю нормальные ответы. Изобретение велосипедов с квадратными колесами и рамой из бумаги - личное дело каждого, но до момента, пока этому не пытаются научить чайников, т.е. тех, кто не понимает тему и признает это, приходя за советом. Вы этим занимаетесь своей демагогией кто что сопрет и какие закладки поставит.