МДЦ-2 - MDC-2

В криптография, МДЦ-2 (Код обнаружения модификации 2, иногда называемый Мейером – Шиллингом,[нужна цитата ] стандартизирован в ISO 10118-2) является криптографическая хеш-функция. МДЦ-2 - это хеш-функция на основе блочного шифра с доказательством безопасности в модели идеального шифра.[1] Длина выходного хэша зависит от используемого блочного шифра.

Алгоритм

Для данного сообщения в хэш и заданную функцию шифрования блочного шифра , алгоритм MDC-2 работает следующим образом. Позволять быть длиной блока, две разные константы размера . Если где каждый имеет размер , то хеш сообщения выдается:

  • за к :
  • возвращаться

MDC-2DES хеши

Когда MDC-2 использует DES блочный шифр, 128-битные (16-байтовые) хэши MDC-2 обычно представлены как 32-значные шестнадцатеричный числа. выбирается как 8-байтовая строка 5252525252525252 и выбирается как 8-байтовая строка 2525252525252525 (записанная в шестнадцатеричном формате). Кроме того, перед каждой итерацией первый байт A [0] из пересчитывается как (A [0] & 0x9f) ^ 0x20 и первый байт B [0] из пересчитывается как (A [0] & 0x9f) ^ 0x20.

Ниже показано 43-байтовое ASCII input (который дополняется пятью нулевыми байтами, поэтому его длина кратна размеру блока DES в 8 байтов) и соответствующий хэш MDC-2:

 MDC2 («Быстрая коричневая лисица перепрыгивает через ленивого dog ") = 000ed54e093d61679aefbeae05bfe33a

Даже небольшое изменение в сообщении (с вероятностью) приведет к совершенно другому хешу, например изменение d к c:

 MDC2 («Быстрая коричневая лисица перепрыгивает через ленивого cog ") = 775f59f8e51aec29c57ac6ab850d58e8

Хеш строки нулевой длины:

 MDC2 ("") = 52525252525252522525252525252525

Патентные вопросы

МДК-2 был покрыт Патент США 4908861 , выдана 13 марта 1990 г., но подана IBM 28 августа 1987 г. Из-за проблем с патентами поддержка MDC-2 была отключена в OpenSSL на большинстве Linux дистрибутивов и не реализуется многими другими криптографическими библиотеками. Он реализован в GPG libgcrypt.

Срок действия патента истекал 28 августа 2007 г., через двадцать лет после даты подачи заявки. Срок его действия истек в 2002 году.[2] потому что IBM не уплатила пошлину за продление. Канадский патент не был продлен, и европейский патент не был выдан, поэтому теперь MDC-2 можно свободно использовать.

Смотрите также

Примечания

  1. ^ Штейнбергер, Джон (23 июня 2007 г.). «Непреодолимая коллизия MDC-2 в модели идеального шифра». Достижения в криптологии - EUROCRYPT 2007. Springer-Verlag. С. 34–51. Дои:10.1007/978-3-540-72540-4_3. Получено 31 января, 2008.
  2. ^ «ВПТЗ США - пошлины за поддержание патента». Патентное ведомство США. 13 марта 2002 г.. Получено 2008-01-31. Цитировать журнал требует | журнал = (помощь)[постоянная мертвая ссылка ] (Щелкните «Библиографические данные».)