Jump to content

ММХ-Барсук MAC

Badger — это код аутентификации сообщения (MAC), основанный на идее универсального хеширования и разработанный Боесгором, Скавениусом, Педерсеном, Кристенсеном и Ценнером. [1] Он построен путем усиления ∆-универсального хэш-семейства MMH с использованием семейства ϵ-почти сильно универсальных (ASU) хеш-функций после применения ENH (см. ниже), где значение ϵ равно . [2] Поскольку Badger — это функция MAC, основанная на подходе универсальной хеш- функции, условия, необходимые для безопасности Badger, такие же, как и для других универсальных хэш-функций, таких как UMAC .

Введение

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

MAC Badger обрабатывает сообщение длиной до бит и возвращает тег аутентификации длиной биты, где . В соответствии с потребностями безопасности пользователь может выбрать значение , это количество параллельных хеш-деревьев в Badger. Можно выбрать большие значения u , но эти значения не влияют на безопасность MAC. Алгоритм составляет использует 128-битный ключ, и ограниченная длина сообщения, обрабатываемого под этим ключом, . [3]

Настройку ключа необходимо выполнить только один раз для каждого ключа, чтобы запустить алгоритм Badger под данным ключом, поскольку полученное внутреннее состояние MAC можно сохранить для использования с любым другим сообщением, которое будет обработано позже.

Хэш-семейства можно комбинировать для получения новых хеш-семейств. Для семейств ϵ-AU, ϵ-A∆U и ϵ-ASU последние содержатся в первых. Например, семейство A∆U также является семейством AU, ASU также является семейством A∆U и т.д. С другой стороны, более сильное семейство может быть уменьшено до более слабого, если будет достигнут прирост производительности. метод сведения ∆-универсальной хэш-функции к универсальным хеш- Ниже будет описан функциям.

Теорема 2 [1]

Позволять из множества A в множество B. быть хеш-семейством ϵ- AΔU Рассмотрите сообщение . Тогда семейство H, состоящее из функций является ϵ-AU.

Если , то вероятность того, что не более ϵ, с является семейством ϵ-A∆U. Если но , то вероятность тривиально равна 0. Доказательство теоремы 2 описано в [1]

Семейство ENH построено на основе универсального семейства хэшей NH (которое также используется в UMAC ):

Где ' ' означает 'сложение по модулю ', и . Это -A∆U хеш-семейство.

Лемма 1 [1]

Следующая версия NH -A∆U:

Выбрав w=32 и применив теорему 1, можно получить -AU семейство функций ENH, которое будет основным строительным блоком MAC-адреса барсука:

где все аргументы имеют длину 32 бита, а выходные данные имеют длину 64 бита.

Строительство

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

Badger построен с использованием семейства хэшей строгой универсальности и может быть описан как

[1]

где Семейство универсальных функций -AU H* используется для хеширования сообщений любого размера в фиксированный размер и -Семейство функций ASU F используется для обеспечения высокой универсальности всей конструкции. NH и ENH используются для построения H* . Максимальный входной размер семейства функций H* равен а выходной размер составляет 128 бит, разделенных на 64 бита для сообщения и хэша. Вероятность столкновения для H* -функции находится в пределах от к . Для построения сильно универсального семейства функций F ∆-универсальное хеш-семейство MMH* преобразуется в сильно универсальное хеш-семейство путем добавления еще одного ключа.

Два шага к Барсуку

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

Для каждого сообщения необходимо выполнить два шага: этап обработки и этап финализации. [3]

Этап обработки

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

На этом этапе данные хешируются в 64-битную строку. Основная функция h : используется на этом этапе обработки, который хэширует 128-битную строку в 64-битную строку следующее:

для любого n , означает сложение по модулю . Учитывая -битовая строка x , означает младшие n битов, а старших означает n битов.

Сообщение может быть обработано с помощью этой функции. Обозначим level_key[j][i] к .

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

L = |M|
if L = 0
    
    Go to finalization
r = L mod 64
if r ≠ 0:
    
for i = 1 to u:
    
    
for j = 1 to v′:
    divide  into 64-bit blocks, 
if t is even:
    
else
    

Завершающий этап

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

На этом этапе 64-строка, полученная в результате этапа обработки, преобразуется в желаемый тег MAC. На этом этапе финализации используется Rabbit потоковый шифр и используется как настройка ключа, так и настройка IV путем получения ключа финализации. final_key[j][i] как .

Псевдокод этапа финализации

RabbitKeySetup(K)
RabbitIVSetup(N)
for i = 1 to u:
    
    divide  into 27-bit blocks, 
    

S = S ⨁ RabbitNextbit(u∙32)
return S

Обозначения

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

В приведенном выше псевдокоде k обозначает ключ в Rabbit Key Setup(K), который инициализирует Rabbit 128-битным ключом k . M обозначает сообщение, которое необходимо хешировать, а | М | обозначает длину сообщения в битах. обозначает сообщение M , разделенное на i блоков. Для данного -битовая строка x , то L ( x ) и U ( x ) соответственно обозначают ее младшие n бит и наиболее важные n бит.

Производительность

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

Босгард, Кристенсен и Ценнер сообщают о производительности Badger, измеренной на процессоре Pentium III с тактовой частотой 1,0 ГГц и процессоре Pentium 4 с тактовой частотой 1,7 ГГц . [1] Версии с оптимизированной скоростью были запрограммированы на языке ассемблера, встроенном в C, и скомпилированы с использованием компилятора Intel C++ 7.1.

В следующей таблице представлены свойства Badger для сообщений различной ограниченной длины. «Требуется память». обозначает объем памяти, необходимый для хранения внутреннего состояния, включая ключевой материал и внутреннее состояние Rabbit поточного шифра . «Настройка» обозначает настройку ключа, а «Фин». обозначает завершение с помощью IV-настройки.

Макс. Размер сообщения Подделка связана Рег.памяти. Настройка Пентиума III Плавник. Пентиум III Настройка Пентиума III Плавник. Пентиум III
байты (например, IPsec) 400 байт 1133 цикла 409 циклов 1774 цикла 776 циклов
байты (например, TLS) 528 байт 1370 циклов 421 цикл 2100 циклов 778 циклов
байты 1072 байта 2376 циклов 421 цикл 3488 циклов 778 циклов
байты 2000 байт 4093 цикла 433 цикла 5854 цикла 800 циклов

MMH (многолинейное модульное хеширование)

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

Название MMH расшифровывается как Multilinear-Modular-Hashing. Приложения в области мультимедиа предназначены, например, для проверки целостности мультимедийного онлайн-заголовка. Производительность MMH основана на улучшенной поддержке целочисленных скалярных произведений в современных микропроцессорах.

В качестве основной операции MMH использует скалярные произведения одинарной точности. Он состоит из (модифицированного) внутреннего продукта между сообщением и ключом модулю . по простому . Конструкция ММХ работает в конечном поле. для некоторого простого целого числа .

MMH* предполагает построение семейства хэш-функций , состоящего из полилинейных функций на для некоторого положительного целого числа k . Семейство MMH* функций из к определяется следующим образом.

где x, m — векторы, а функции определяются следующим образом.

В случае MAC m — это сообщение, а x — ключ, где и .

MMH* должен удовлетворять требованиям безопасности MAC, позволяя, скажем, Ане и Бобу общаться с аутентификацией. У них есть секретный ключ x . Допустим, Чарльз слушает разговор между Аной и Бобом и хочет изменить сообщение на свое собственное сообщение Бобу, которое должно пройти как сообщение от Аны. Таким образом, его сообщение m' и сообщение Аны m будут отличаться хотя бы на один бит (например, ).

Предположим, что Чарльз знает, что функция имеет вид и он знает сообщение Аны m, но не знает ключа x , то вероятность того, что Чарльз сможет изменить сообщение или отправить свое собственное сообщение, можно объяснить следующей теоремой.

Теорема 1 [4] :Семейство MMH* ∆-универсально.

Доказательство:

Брать , и пусть быть двумя разными сообщениями. Предположим без ограничения общности, что . Тогда при любом выборе , есть

Для объяснения приведенной выше теоремы возьмем для Prime представляет поле как . Если взять элемент в скажем так тогда вероятность того, что является

Итак, что на самом деле нужно вычислить, так это

Но,

Из доказательства выше, столкновения вероятность злоумышленника за 1 раунд, поэтому в среднем p проверочных запросов будет достаточно, чтобы принять одно сообщение. Чтобы уменьшить вероятность коллизии, необходимо выбрать большое p или объединить n таких MAC с помощью n независимых ключей, чтобы вероятность коллизии] стала . В этом случае количество ключей увеличивается в n раз , а выход также увеличивается в n раз .

Халеви и Кравчик [4] построить вариант под названием . Конструкция работает с 32-битными целыми числами и с простым целым числом. . На самом деле простое число p можно выбрать в качестве любого простого числа, удовлетворяющего условию . Эта идея заимствована из предложения Картера и Вегмана использовать простые числа или .

определяется следующим образом:

где означает (т.е. двоичное представление)

Функции определяются следующим образом.

где

По теореме 1 столкновения вероятность составляет около и семья можно определить как ϵ -почти ∆ универсальный с .

Значение к

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

Значение k , которое описывает длину сообщения и ключевые векторы, имеет несколько эффектов:

  • Поскольку дорогостоящее модульное сокращение по k представляет собой операции умножения и сложения, увеличение k должно снизить скорость.
  • Поскольку ключ x состоит из k 32-битных целых чисел, увеличение k приведет к увеличению длины ключа.
  • Вероятность разрушения системы равна и поэтому увеличение k затрудняет взлом системы.

Производительность

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

Ниже приведены результаты синхронизации для различных реализаций MMH. [4] в 1997 году по проекту Халеви и Кравчика.

150 МГц PowerPC 604, Сообщение в памяти Сообщение в кэше
64-битная 390 Мбит/сек. 417 Мбит/сек.
32-битный вывод 597 Мбит/сек. 820 Мбит/сек.
  • Машина Pentium-Pro с тактовой частотой 150 МГц под управлением Windows NT.
PowerPC 604, 150 МГц Сообщение в памяти Сообщение в кэше
64-битная 296 Мбит/сек. 356 Мбит/сек.
32-битный вывод 556 Мбит/сек. 813 Мбит/сек.
  • Машина Pentium-Pro с тактовой частотой 200 МГц под управлением Linux.
PowerPC 604, 150 МГц Сообщение в памяти Сообщение в кэше
64-битная 380 Мбит/сек. 500 Мбит/сек.
32-битный вывод 645 Мбит/сек. 1080 Мбит/сек.

См. также

[ редактировать ]
  1. ^ Jump up to: а б с д и ж Боесгор, Мартин ; Скавениус, Уве ; Педерсен, Томас ; Кристенсен, Томас ; Зеннер, Эрик (2005). «Badger — быстрый и доказуемо безопасный MAC» (PDF) .
  2. ^ Удачи, Стефан ; Реймен, Винсент (2005). «Оценка Барсука» (PDF) .
  3. ^ Jump up to: а б «Код аутентификации сообщения барсука, спецификация алгоритма» (PDF) . 2005.
  4. ^ Jump up to: а б с Халеви, Шай ; Кравчик, Хьюго (1997). «MMH: Программная аутентификация сообщений со скоростью Гбит/секунда». MMH:Программная аутентификация сообщений со скоростью Гбит/с . Конспекты лекций по информатике. Том. 1267. стр. 172–189. дои : 10.1007/BFb0052345 . ISBN  978-3-540-63247-4 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 1081b30431cb147af6a6746ca6a6d549__1714086240
URL1:https://arc.ask3.ru/arc/aa/10/49/1081b30431cb147af6a6746ca6a6d549.html
Заголовок, (Title) документа по адресу, URL1:
MMH-Badger MAC - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)