Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция № 11 ХЕШ-функции.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
2.01 Mб
Скачать

Самостоятельные хэш – алгоритмы. Краткое описание наиболее распространенных алгоритмов

  • MD2

Самая медленная хэш-функция. Оптимизирована для 8-битных машин.

  • MD4

    Самая быстрая хэш-функция. Оптимизирована для 32-битных машин. Не так давно взломана.

  • MD5

Наиболее распространенная из семейства MD хэш-функция. Считается очень стойкой и безопасной. Похожа на MD4, но имеет несколько дополнительных средств для повышения безопасности, что замедляет ее примрно на треть по сравнению с MD4. Обеспечивает целостность данных.

  • RIPEMD

  • SHA1

Secure Hash Algorithm. Создает 160-битовое значение хэш-функции из исходных данных переменного размера. Предложена NIST и принята правительством США как стандарт. Используется в стандарте DSS.

  • Snefru

  • Tiger

  • Yarrow

  • ГОСТ Р34.11-94

Алгоритм md2

Предполагает:

  • дополнение текста до длины, кратной 128 битам;

  • вычисление 16-битной контрольной суммы (старшие разряды отбрасываются);

  • добавление контрольной суммы к тексту;

  • повторное вычисление контрольной суммы.

МD2 - это другая 128-битовая однонаправленная хэш-функция, разработанная Роном Ривестом. Она, вместе с МD5, используется в протоколах РЕМ. Безопасность МD2 опирается на слу­чайную перестановку байтов. Эта перестановка фиксирована и зависит от разрядов п. S0 , S1, … S255 и яв­ляются перестановкой.

Хэширование сообщения М MD2:

  1. Дополнение сообщения i байтами, значение i должно быть таким, чтобы длина полученного сообщения была кратна 16 байтам.

  1. Добавление к сообщению 16 байтов контрольной суммы.

  1. Инициализация 48-байтового блока: Х0, Х1, Х2, . . ., Х47. Заполнение первых 16 байтов X нулями, во вторые 16 байтов X копирование первых 16 байтов сообщения, а третьи 16 байтов X должны быть равны XOR первых и вторых 16 байтов X.

  2. Вот как выглядит функция сжатия: t = 0

For j = О to 17

For k = О to 47 t = Xt XOR St t = (t +j)mod 256

  1. Копирование во вторые 16 байтов X вторых 16 байтов сообщения, а третьи 16 байтов X должны быть равны XOR первых и вторых 16 байтов X. Выполнение этапа (4). Повторение этапов (5) и (4) по очереди для каждых 16 байтов сообщения.

  1. Выходом являются первые 16 байтов X.

Хотя в МD2 пока не было найдено слабых мест, она работает медленнее большинства других предлагаемых хэш- функций.

Алгоритм мd3

Имела ряд недостатков и нико­гда не выходила за пределы лаборатории.

Была предложена Роном Ривестом.

Группа исследователей из Университета Ватерлоо предложила однонаправленную хэш-функцию на базе итеративного возведения в степень в GF(2593).

По этой схеме сообщение разбивается на 593-битовые блоки. Начиная с первого блока блоки последовательно возводятся в степень. Показатель степени - это результат вычислений для предыдущего блока, первый показатель задается с помощью N.

Алгоритм md4

Алгоритм MD4 (Message Digest) был разработан Ривестом. Размер вырабатываемого хэш-кода -- 128 битов. По заявлениям самого разработчика при создании алгоритма он стремился достичь следующих целей:

  • Безопасность. Для построения коллизий не существует алгоритма эффективнее метода "грубой силы" (т. е. метода, основанного на "парадоксе дня рождения").

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

  • Скорость. Алгоритм допускает эффективную программную реализацию на 32-разрядном процессоре.

  • Простота и компактность. Алгоритм MD4 не использует сложных структур данных и подпрограмм.

  • Алгоритм оптимизирован с точки зрения его реализации на микропроцессорах типа Intel.

Алгоритм MD4 предусматривает:

  • дополнение текста до длины, равной 448 бит по модулю 512;

  • добавляется длина текста в 64-битном представлении;

  • 512-битные блоки подвергаются процедуре Damgard-Merkle1, причем каждый блок участвует в трех разных циклах.