МДЦ-2

редактировать

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

СОДЕРЖАНИЕ
  • 1 Алгоритм
  • 2 хеша MDC-2DES
  • 3 Патентные вопросы
  • 4 См. Также
  • 5 Примечания
Алгоритм

Для заданного сообщения для хеширования и заданной функции шифрования блочного шифра алгоритм MDC-2 действует следующим образом. Позвольте быть длиной блока, две разные константы размера. Если где у каждого есть размер, то хеш сообщения определяется следующим образом: M {\ displaystyle M} E {\ displaystyle E} п {\ displaystyle n} А 1 , B 1 {\ displaystyle A_ {1}, B_ {1}} п {\ displaystyle n} M знак равно M 1 | | . . | | M м {\ Displaystyle M = M_ {1} ||.. || M_ {m}} M я {\ displaystyle M_ {i}} п {\ displaystyle n} V м | | W м {\ displaystyle V_ {m} || W_ {m}}

  • для, чтобы: я знак равно 1 {\ displaystyle i = 1} м {\ displaystyle m}
    • V я знак равно M я E ( M я , А я ) {\ displaystyle V_ {i} = M_ {i} \ oplus E (M_ {i}, A_ {i})}
    • W я знак равно M я E ( M я , B я ) {\ displaystyle W_ {i} = M_ {i} \ oplus E (M_ {i}, B_ {i})}
    • V я L | | V я р знак равно V я {\ displaystyle V_ {i} ^ {L} || V_ {i} ^ {R} = V_ {i}}
    • W я L | | W я р знак равно W я {\ displaystyle W_ {i} ^ {L} || W_ {i} ^ {R} = W_ {i}}
    • А я + 1 знак равно V я L | | W я р {\ Displaystyle A_ {я + 1} = V_ {я} ^ {L} || W_ {я} ^ {R}}
    • B я + 1 знак равно W я L | | V я р {\ Displaystyle B_ {я + 1} = W_ {я} ^ {L} || V_ {я} ^ {R}}
  • возвращаться А м + 1 | | B м + 1 {\ displaystyle A_ {m + 1} || B_ {m + 1}}
Хеши MDC-2DES

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

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

 MDC2("The quick brown fox jumps over the lazy dog") = 000ed54e093d61679aefbeae05bfe33a

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

 MDC2("The quick brown fox jumps over the lazy cog") = 775f59f8e51aec29c57ac6ab850d58e8

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

 MDC2("") = 52525252525252522525252525252525
Патентные вопросы

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

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

Смотрите также
Заметки
  1. ↑ Стейнбергер, Джон (23 июня 2007 г.). "Непреодолимая коллизия MDC-2 в модели идеального шифра". Достижения в криптологии - EUROCRYPT 2007. Springer-Verlag. С. 34–51. DOI : 10.1007 / 978-3-540-72540-4_3. Проверено 31 января 2008 года.
  2. ^ «USPTO - Патентные сборы». Патентное ведомство США. 13 марта 2002. Проверено 31 января 2008. Цитировать журнал требует |journal=( помощь ) (Щелкните «Библиографические данные».)
Последняя правка сделана 2023-12-31 10:39:45
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте