Содержание

Меню


HAVAL

Оглавление

Описание
Пример

HAVAL (HAVAL — a one-way hashing algorithm with variable length of output) — это однонаправленная хэш-функция переменной длины. Функция HAVAL является модификацией функции MD5. Алгоритм HAVAL обрабатывает сообщение блоками размером в 1024 разряда, что в два раза больше, чем в алгоритме MD5. В HAVAL используется восемь 32-разрядных переменных сцепления, то есть в два раза больше, чем в MD5, и переменное число раундов обработки, от трёх до пяти (на каждом раунде исполняется 16 шагов). Функция HAVAL может выдавать хэш-значения размером в 128, 160, 192, 224 или 256 разрядов. В алгоритме HAVAL простые нелинейные функции MD5 заменены сильно нелинейными функциями 7 переменных, каждая из которых удовлетворяет строгому лавинному критерию. На всех раундах применяется одна функция, но на каждом шаг е к входным данным применяются различные операции перестановки. Используется новый порядок обработки сообщения, и на каждом шаге (за исключением первого раунда) используется своя прибавляемая константа. Также в алгоритме используются два циклических сдвига. Сердцевиной алгоритма являются такие операции:
  • TEMP = (f(j,A,B,C,D,E,F,G) < < 7) + (H < < < 11) + M[i][r(j)] + K(j)
  • H = G;G = F;F = E;E = D;D = C;C = B;B = A;A = TEMP
  • Переменное количество раундов и переменный размер вычисляемого алгоритмом значения означают, что существует 15 версий алгоритма. Атака на алгоритм MD5, выполненная ден Боером и Босселаерсом (англ.), неприменима к алгоритму HAVAL, из-за наличия в нём операции циклического сдвига.

    Пример

    HAVAL128: 24d2bc955a219e3e06462c91b555cfa1
    

    Виды
  • MD6
  • MD4
  • MD5
  • SECURE HASH ALGORITHM (SHA)
  • RIPE-MD
  • HAVAL
  • MDC

  • Основы криптографии
    Шифры
    Цифровые подписи
    Хеш-функции
    Криптоанализ
    Дополнительный материал
    MKZT© 2009 год
    Hosted by uCoz