Jump to content

MAC-адрес с одним ключом

(Перенаправлено с OMAC (криптография) )

MAC с одним ключом ( OMAC ) — это семейство кодов аутентификации сообщений, построенных на основе блочного шифра, очень похожего на алгоритм CBC-MAC . Его можно использовать для обеспечения уверенности в подлинности и, следовательно, целостности данных. Определены две версии:

  • Оригинальный OMAC от февраля 2003 г., который используется редко. [ 1 ] Предпочтительным именем теперь является «OMAC2». [ 2 ]
  • Усовершенствование OMAC1, [ 2 ] который стал рекомендацией NIST в мае 2005 года под названием CMAC . [ 3 ]

OMAC бесплатен для любого использования: он не защищен никакими патентами. [ 4 ]

Ядром алгоритма CMAC является вариант CBC-MAC , который Блэк и Рогауэй предложили и проанализировали под названием «XCBC». [ 5 ] и отправлен в NIST . [ 6 ] Алгоритм XCBC эффективно устраняет недостатки безопасности CBC-MAC, но требует трех ключей.

Ивата и Куросава предложили улучшение XCBC, которое требует меньшего количества ключевого материала (всего один ключ), и назвали полученный алгоритм One-Key CBC-MAC (OMAC) в своих статьях. [ 1 ] Позже они представили OMAC1 (= CMAC), [ 2 ] усовершенствование OMAC и дополнительный анализ безопасности. [ 7 ]

Алгоритм

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

Чтобы сгенерировать ℓ-битный тег CMAC ( t ) сообщения ( m ) с использованием b -битного блочного шифра ( E ) и секретного ключа ( k ), сначала генерируются два b -битных подключа ( k 1 и k). 2 ) по следующему алгоритму (это эквивалентно умножению на x и x 2 в конечном поле GF(2 б )). Пусть ≪ обозначает стандартный оператор сдвига влево, а ⊕ обозначает побитовое исключающее или :

  1. Вычислите временное значение k 0 = E k (0).
  2. msb( k0 ) = 0, то k1 = k0 Если иначе k1 = ( k0 1 , 1) ⊕ C ; где C — некоторая константа, зависящая только от b . (В частности, C — это неведущие коэффициенты лексикографически первого неприводимого двоичного полинома степени b с минимальным количеством единиц: 0x1B для 64-битных блоков, 0x87 для 128-битных и 0x425 для 256-битных блоков.)
  3. Если msb( k 1 ) = 0 , то k 2 знак равно k 1 ≪ 1 , иначе k 2 знак равно ( k 1 ≪ 1) ⊕ C .
  4. Ключи возврата ( k 1 , k 2 ) для процесса генерации MAC.

В качестве небольшого примера предположим, что b = 4 , C = 0011 2 и k 0 = E k (0) = 0101 2 . Тогда k 1 = 1010 2 и k 2 = 0100 ⊕ 0011 = 0111 2 .

Процесс создания тега CMAC выглядит следующим образом:

  1. Разобьем сообщение на b -битовые блоки m = m 1 ∥ ... ∥ m n −1 m n , где m 1 , ..., m n −1 — полные блоки. (Пустое сообщение рассматривается как один неполный блок.)
  2. Если m n полный блок, то m n ′ знак равно k 1 m n иначе m n ′ знак равно k 2 ⊕ ( m n ∥ 10...0 2 ) .
  3. Пусть c 0 = 00...0 2 .
  4. Для i знак равно 1, ..., n - 1 , вычислите c i знак равно E k ( c i -1 m i ) .
  5. c n знак равно E k ( c n −1 m n ′)
  6. Выходной сигнал t знак равно старший бит ( c n ) .

Процесс проверки выглядит следующим образом:

  1. Используйте приведенный выше алгоритм для создания тега.
  2. Убедитесь, что сгенерированный тег равен полученному тегу.

Реализации

[ редактировать ]
  1. ^ Jump up to: а б Ивата, Тецу; Куросава, Каору (24 февраля 2003 г.). «OMAC: MAC-адрес CBC с одним ключом». Быстрое программное шифрование . Конспекты лекций по информатике. Том. 2887. Шпрингер, Берлин, Гейдельберг. стр. 129–153. дои : 10.1007/978-3-540-39887-5_11 . ISBN  978-3-540-20449-7 .
  2. ^ Jump up to: а б с Ивата, Тецу; Куросава, Каору (2003). «OMAC: MAC-адрес One-Key CBC – Приложение» (PDF) . В этой заметке мы предлагаем OMAC1, новый выбор параметров семейства OMAC (подробности см. в [4]). Также представлены тестовые векторы. Соответственно, мы переименовываем предыдущий OMAC в OMAC2. (То есть тестовые векторы для OMAC2 уже были показаны в [3].) Мы используем OMAC в качестве общего названия для OMAC1 и OMAC2. {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  3. ^ Дворкин, Моррис (2016). «Рекомендации по режимам работы блочного шифрования: режим CMAC для аутентификации» (PDF) . дои : 10.6028/nist.sp.800-38b . {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  4. ^ Рогауэй, Филипп. «CMAC: Без лицензирования» . Проверено 27 мая 2020 г. Заявление Филиппа Рогауэя о статусе интеллектуальной собственности CMAC
  5. ^ Блэк, Джон; Рогауэй, Филипп (20 августа 2000 г.). Достижения в криптологии – КРИПТО 2000 . Шпрингер, Берлин, Гейдельберг. стр. 197–215. дои : 10.1007/3-540-44598-6_12 . ISBN  978-3540445982 .
  6. ^ Блэк, Дж; Рогауэй, П. «Предложение по обработке сообщений произвольной длины с помощью MAC CBC» (PDF) . {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  7. ^ Ивата, Тецу; Куросава, Каору (8 декабря 2003 г.). «Более строгие границы безопасности для OMAC, TMAC и XCBC» В Йоханссоне, Томас; Майтра, Субхамой (ред.). - INDOCRYPT Прогресс в криптологии Конспекты лекций по информатике. Том. 2904. Шпрингер Берлин Гейдельберг. стр. 100-1 402 –415. CiteSeerX   10.1.1.13.8229 . дои : 10.1007/978-3-540-24582-7_30 . ISBN  9783540206095 .
  8. ^ «Impacket — это набор классов Python для работы с сетевыми протоколами.: SecureAuthCorp/impacket» . 15 декабря 2018 г. – через GitHub.
  9. ^ «Расширение Ruby C для хеш-функции с ключом AES-CMAC (RFC 4493): louismullie/cmac-rb» . 4 мая 2016 г. – через GitHub.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 6a8b0b952dfe2bf4ad690f17c193c53e__1708247400
URL1:https://arc.ask3.ru/arc/aa/6a/3e/6a8b0b952dfe2bf4ad690f17c193c53e.html
Заголовок, (Title) документа по адресу, URL1:
One-key MAC - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)