Оптимизация алгоритма SHA-1 с 1448 до 734 шагов
Кроме «хэш-генератора» из 25-ти Radeon GPU, на конференции Passwords^12 было ещё много чего интересного. В частности, выступление Дженса Стебе (Jens Steube) — разработчика программы для брутфорса HashСat. Он выступил с концептуальным докладом об оптимизации алгоритма хэш-функции SHA-1.
Официально, эта функция генерирует хэш в 1448 шагов. Раньше оптимизаторы уже сумели уменьшить это количество до 868, используя специальные методы. За счёт такой оптимизации удалось существенно увеличить скорость брутфорса даже на старом оборудовании, не говоря уже о новых более производительных графических процессорах. И вот теперь Дженс Стебе показал, что количество необходимых преобразований можно уменьшить даже до 734, то есть хэш-функция де-факто вычисляется почти вдвое проще и быстрее, чем было задумано её авторами, и на 21% быстрее, чем раньше.
См. слайды презентации Стебе (pdf).
Оптимизация алгоритма SHA-1 произведена за счёт поиска и устранения избыточных логических операций XOR, которые применяются в фазе «расширения» хэша, работают как множители и не имеют отношения к изначальному шифротексту.
Работа Дженса Стебе должна приблизить окончательные похороны SHA-1 и других старых хэш-функций, которые слишком быстро вычисляются на современном оборудовании. Вместо них разработчикам рекомендуют временно перейти на более медленные Bcrypt или SHA512crypt, а в перспективе — внедрить на каждом крупном сайте неизвестную систему хэширования за счёт последовательного применения многих алгоритмов, где каждый хэш будет вычисляться как можно дольше по неизвестной для злоумышленника схеме. По крайней мере, такую идею высказывал Пол-Хеннинг Камп (Poul-Henning Kamp), автор скремблера MD5crypt, одновременно призывая всех прекратить использование его скремблера для шифрования паролей.
Подробнее: http://www.xakep.ru/post/59767/default.asp
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2024-11-15 » Перенос сайта на WordPress с одного домена на другой
- 2024-11-08 » OSPanel 6: быстрый старт
- 2024-11-08 » Как установить PhpMyAdmin в Open Server Panel
- 2024-09-30 » Как быстро запустить Laravel на Windows
- 2024-09-25 » Next.js
- 2024-09-05 » OpenAI рассказал, как запретить ChatGPT использовать содержимое сайта для обучения
- 2024-08-28 » Чек-лист: как увеличить конверсию интернет-магазина на примере спортпита
- 2024-08-01 » WebSocket
- 2024-07-26 » Интеграция с Яндекс Еда
- 2024-07-26 » Интеграция с Эквайринг
- 2024-07-26 » Интеграция с СДЕК
- 2024-07-26 » Интеграция с Битрикс-24
- 2024-07-26 » Интеграция с Travelline
- 2024-07-26 » Интеграция с Iiko
- 2024-07-26 » Интеграция с Delivery Club
- 2024-07-26 » Интеграция с CRM
- 2024-07-26 » Интеграция с 1C-Бухгалтерия
- 2024-07-24 » Что такое сторителлинг: техники и примеры
- 2024-07-17 » Ошибка 404: что это такое и как ее использовать для бизнеса
- 2024-07-03 » Размещайте прайс-листы на FarPost.ru и продавайте товары быстро и выгодно
- 2024-07-01 » Профилирование кода в PHP
- 2024-06-28 » Изучаем ABC/XYZ-анализ: что это такое и какие решения с помощью него принимают
- 2024-06-17 » Зачем вам знать потребности клиента
- 2024-06-11 » Что нового в работе Яндекс Метрики: полный обзор обновления
- 2024-06-11 » Поведенческие факторы ранжирования в Яндексе
- 2024-06-11 » Скорость загрузки сайта: почему это важно и как влияет на ранжирование
- 2024-05-27 » Подборка сервисов для расшифровки аудио в текст
- 2024-05-27 » PostgreSQL 16. Изоляция транзакций. Часть 2
- 2024-05-06 » Как настраивать конверсионные стратегии: работа над ошибками
- 2024-04-22 » Комментирование кода и генерация документации в PHP
"В будущем на рынке останется два вида компаний: те, кто в Интернет и те, кто вышел из бизнеса." |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.