WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

Message authentication algorithm (MAA, алгоритм аутентификации сообщений) — алгоритм проверки целостности сообщения. Был разработан D. W. Davies и D. O. Clayden и опубликован в 1983 году. Алгоритм обеспечивает целостность сообщения, но не обеспечивает конфиденциальность. Стойкость алгоритма основывается на секретности ключа.

После опубликования алгоритм привлек внимание Комитета клиринговых банков Лондона (Committee of the London Clearing Banks) и Технический комитет 68 (Technical Committee 68) Международной организации по стандартизации, которая приняла его в качестве одного из утверждённых алгоритмов аутентификации сообщений. Алгоритм является частью ISO 8731-2. На PC и рабочих станциях он работает только на 40 % медленнее, чем MD5.

Работа алгоритма

Входные данные
1. Сообщение S — битовая строка длины 32L, где L принимает значения от 0 до
2. Секретный ключ Z длины 64 бита. Ключ состоит из двух 32 разрядных чисел J и K.
Выходные данные
1. Message authentication code длиной 32 бита

Расширение ключа
Первой частью работы алгоритма является расширение 64-битного ключа (два 32-битных слова J и K) до 192 бит (шесть 32-битных слов: X, Y, W, V, S, T). Эти значения находятся следующим образом:
1. X<- [ mod (2³² — 1)] xor [ mod (2³² — 2)]
2. Y<- [ mod (2³² — 1) xor mod (2³² — 2)]*(1+p)² mod (2³² — 2)
3. V<- [ mod (2³² — 1)] xor [ mod (2³² — 2)]
4. W<- [ mod (2³² — 1) xor mod (2³² — 2)]*(1+p)² mod (2³² — 2)
5. S<- [ mod (2³² — 1)] xor [ mod (2³² — 2)]
6. T<- [ mod (2³² — 1) xor mod (2³² — 2)]*(1+p)² mod (2³² — 2)
На следующем шаге работы алгоритма происходит замена «слабых» битов (то есть равных 00х или FFх) путём логического сложения их с P.
Константы
Константа А,B,C,D определены следующим образом:
A <- 0x02040801
B <- 0x00804021
C <- 0xbfef7fdf
D <- 0x7dfefbff
Главный цикл
Цикл проходит по всем элементам Xi (1<=i<=L) и его результатом являются значения H1 и H2. На первом шаге цикла переменные H11 и H21 инициализируются значениями X и Y соответственно.

      Шаг1.

Циклический сдиг V на 1 бит влево.
Ki= V xor W.

      Шаг2.

T1= H1i xor Xi;
T2= H2i xor Xi;
M1= ((Ki xor T1) or B) and D
M1= ((Ki xor T2) or A) and C

      Шаг3.

H1(i+1) = (M2 * T1) mod (2³² — 1)
H2(i+1) = (M1 * T2) mod (2³² — 2)

В результате получаем значения H1 и H2 равные H1l и H2l соответственно.
The Coda
MAC код формируется следующим образом: H=H1 xor H2.

Литература

D. W. Davies, D. O. Clayden «The Message Authenticator Algorithm (MAA) and its Implementation»
Bart Preneel, Paul C. van Oorschoty «On the Security of Two MAC Algorithms»

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии