МDС-2 и МDС-4

MDC

MDCManipulation Detection Codeкод обнаружения манипуляций

Разработка фирмы IBM. Данная хэш-функция использует блочный шифр (в оригинале DES) для получения хэш-кода, длина которого в два раза больше длины блока шифра. Существуют две версии этой разработки: MDC2 и MDC4. Первая работает несколько быстрее, но представляется несколько менее надежной, чем вторая. Ниже приведена схема вычисления функции MDС4. , где -- начальное значение;

, где -- еще одно начальное значение;

;

;

;

;

;

.

Хэш-кодом является конкатенация последних значений и . Здесь обозначено: и -- соответственно левая и правая части -того блока хэшируемого текста. Функция просто заменяет значения 1-го и 2-го битов аргумента на значения 1 и 0 соответственно, а -- на значения 0 и 1.

Хэш-функция MDC4 использована в проекте RIPE, хотя эффективность (скорость хэширования при программной реализации) у данной схемы низкая.

 

 


Схема алгоритма выработки MDC (хэш–кода) с использованием классического блочного шифра приведена на рисунке 2.

 

Алгоритм выработки кода обнаружения манипу- ляций для массива данных.

Шаг 0. Входные данные – массив данных T, разбитый на m блоков фиксированного размера, не превышающего размер ключа использованного криптоалгоритма и, как правило, делящего его нацело: T=(T1,T2,...,Tm). Последний блок данных Tm каким-либо способом дополняется до полного блока данных, если имеет меньший размер.

Шаг 1. MDC получает нулевое начальное значение (это значение может быть, в принципе, любым).

Последующие шаги 2 и 3 алгоритма выполняются последовательного для каждого блока исходных данных в порядке их следования.

Шаг 2. Выполняется расширение очередного блока Ti данных с помощью функции расширения P до размера ключа шифра.

Шаг 3. Выполняется зашифрование текущего значения MDC на ключе, полученном на шаге 2, результат становится новым текущим значением MDC.

Шаг 4. Результатом работы алгоритма (т.е. MDC для всего входного массива данных) является последнее текущее значение MDC, полученное на шаге 3.

Рассмотренный алгоритм также может быть использован для выработки хэш–кода в схемах цифровой подписи.

 

 

Скорость хэширования МDС-2 равна 1/2, длина хэш-значения этой функции в два раза больше размера блока. МDС-4 также выдает хэш-значение в два раза большее размера блока, а ее скорость хэширования равна 1/4.



G i

Нi