MD6 — алгоритм хеширования переменной разрядности, разработанный профессором Рональдом Ривестом из Массачусетского Технологического Института в сентябре 2008 года. Предназначен для создания «отпечатков» или дайджестов сообщений произвольной длины. Предлагается на смену менее совершенному MD5. По заявлению авторов, алгоритм устойчив к дифференциальному криптоанализу. Зная MD6, невозможно восстановить входное сообщение, так как разным сообщениям может соответствовать один MD6. Используется для проверки подлинности опубликованных сообщений, путем сравнения дайджеста сообщения с опубликованным. Эту операцию называют «проверка хеша» (hashcheck). Предшественница (MD5) была создана в 1991 году, когда частоты обычных процессоров были не больше 33MHz. Она должна была отображать двоичную строку произвольной длины в строку размером d, быть устойчивой к коллизиям, нахождению прообразов и быть псевдослучайной. После ее взлома, американский институт стандартов и технологий (NIST), объявил конкурс на создание хэш-функции SHA-3. Новая функция MD6 предполагается доказуемо устойчивой к дифференциальному криптоанализу (с помощью которого была взломана MD5). Разработчики использовали оригинальные идеи в дизайне хэш-функции. Так, размер обрабатываемого за один раз блока данных будет 512 байт (а не бит), что затрудняет проведение многих атак, даёт выигрыш в распараллеливании. В разработке вместо традиционного дизайна Дамгарда-Меркла исползовалось сжатие при помощи древовидных структур. В узле каждого дерева находится сжимающая функция 4-1 (аналог деревьев Меркла с мини-функциями сжатия). Для малых процессоров вместо иерархической структуры деревьев, может использоваться последовательная. MD6 поддерживает также хэширование с ключем 512-бит. Различные конструктивные особенности (нумерация узлов деревьев, root и z-биты на входе в подфункции) защищают функцию от атак вставок и расширения. Нелинейность функции достигается использованием всего трёх простейших операций: XOR, сложение и сдвиг с константами. Количество раундов функции необычно велико:r = 40 + (d / 4). Так для 256 выхода потребуется 104 раунда, а для 512 – 168 раундов! При этом MD6-512 медленнее в полтора раза, чем SHA2-512 на 32-битных платформах и почти в четыре раза на 6 http://habrahabr.ru/blogs/infosecurity/45849/ © 2006—2008 «Тематические Медиа»
Никогда не было и никогда не будет. Функция не обратима, но ее можно перебрать. По-моему так. Вот вот. Я хоть в этом не очень понимаю, но по-моему она родимая.
От md5 никуда не деться, итак в нем добротная половина паролей хранится. (по крайне-мере в веб) Так-что пхп кодеры скоро начнут замечать в проектах с историей что-то типа md6(md5($password)); Для совместимости =)
ЧТо там насчёт распределённых вычислений , это мне по душе, это я понимаю , брутить с помощью Beowulf систем будем, я к этому готов)) у меня такая есть и немаленькая
Мд5 пока что еще никто не сломал, так что думаю мд6 тоже никто не сломает. Так что будем брутить, товарищи, как и брутили, только теперь на одну галочку в брутерах больше. Ждем новых функций в php и С#... Интересно, а в Delphi когда нибуть будет... Там и мд5 была проблемой...