Калькулятор хэш-кода MD4
Опубликовано: 16 февраля 2025 г. в 22:53:12 UTC
Калькулятор хэш-кода, который использует хэш-функцию Message Digest 4 (MD4) для расчета хэш-кода на основе введенного текста или загруженного файла.MD4 Hash Code Calculator
MD4 (Message Digest 4) — криптографическая хэш-функция, разработанная Рональдом Ривестом в 1990 году. Она выдает фиксированное 128-битное (16-байтовое) хэш-значение из входных данных произвольной длины. MD4 в настоящее время считается криптографически сломанной из-за уязвимостей, которые позволяют проводить атаки коллизий (нахождение двух разных входных данных, которые выдают одинаковый хэш), поэтому ее не следует использовать при проектировании новых систем. Она включена сюда на случай, если нужно сгенерировать обратно совместимый хэш-код.
Полное раскрытие информации: я не писал конкретную реализацию хэш-функции, используемой на этой странице. Это стандартная функция, входящая в состав языка программирования PHP. Я лишь сделал веб-интерфейс, чтобы сделать ее общедоступной здесь для удобства.
Об алгоритме хеширования MD4
Я не математик, поэтому попытаюсь объяснить эту хеш-функцию так, чтобы ее могли понять мои коллеги-нематематики ;-) Если вы предпочитаете более сложные математические объяснения, вы можете найти их на множестве других сайтов.
Хорошо, представьте себе MD4 как специальный уничтожитель бумаг. Но вместо того, чтобы уничтожать бумагу, он «кромсает» любое сообщение (например, письмо, пароль или книгу) в небольшую квитанцию фиксированного размера. Независимо от того, насколько велико или мало ваше сообщение, этот уничтожитель всегда выдает вам крошечную квитанцию длиной ровно 16 байт (128 бит) или 32 символа в шестнадцатеричной форме.
Чтобы правильно уничтожить сообщение, вам необходимо выполнить четыре шага:
Шаг 1: Подготовка сообщения
- Перед уничтожением необходимо подогнать бумагу так, чтобы она идеально помещалась в уничтожитель.
- Если ваше сообщение слишком короткое, вы добавляете немного дополнительного пустого пространства (например, каракули или заполнитель), чтобы оно идеально поместилось на бумаге.
- Если текст слишком длинный, разбейте его на несколько страниц одинакового размера.
Шаг 2: Добавление секретного штампа
- После корректировки сообщения вы добавляете в конце секретный штамп, который указывает длину исходного сообщения.
- Это помогает уничтожителю документов отслеживать исходный размер сообщения, независимо от того, сколько наполнителя вы добавили.
Шаг 3: Процесс измельчения (3 раунда магии)
- Теперь сообщение отправляется в измельчитель.
- Измельчитель имеет 4 шестерни (A, B, C и D), которые вращаются вместе по особой схеме.
- Шестерни проходят 3 цикла вращения, в ходе которых они:
- Смешайте слова.
- Переверните некоторые части вверх дном
- Скручивай их как кубик Рубика
- Разбейте разные части вместе
- С каждым раундом сообщение становится все более похожим на беспорядочную мешанину, которую невозможно распознать.
Шаг 4: Окончательная приемка
- После всех вращений, переворачиваний и ударов измельчитель выдает квитанцию — короткую строку цифр и букв (хеш).
- Эта квитанция всегда имеет одинаковую длину, независимо от того, уничтожаете ли вы одно слово или целую книгу!
К сожалению, со временем люди обнаружили, что этот волшебный шредер не идеален. Некоторые умные люди придумали, как обмануть шредер, заставив его выдавать одну и ту же квитанцию для двух разных сообщений (это называется коллизией ) и предсказать, как будут вращаться шестеренки, а затем использовать это для создания поддельных квитанций. Из-за этого MD4 больше не считается безопасным для важных вещей.