Определение 1: Код аутентификации сообщения (КАС) – это элемент данных, зависящий от секретного ключа и защищаемой информации позволяющий получателю информации проверить её источник и целостность.
Message Authentication Code (MAC).
2 типа кода аутентификации:
- на основе блочных шифров (CBC, CFB);
- хэш-функция с ключом.
Код аутентификации зависит от секретного ключа, следовательно, симметричная ключевая структура.
Для проверки используется тот же самый симметричный ключ.
=> не может использоваться для неотказуемости.
Определение 2: Хэш-функция с ключом k называется семейство функций hk: V*→Vn (где n – константа; V* - множество битовых строк n произвольной длины; Vn - множество битовых строк |n|), зависящая от параметра k со следующими свойствами:
1) легко вычислить hk(x) при известном k;
2) трудно вычислить hk(x), не зная k.
Используется для обеспечения целостности и аутентификации.
Типовые конструкции:
- На основе хэш-функции с ключом и блочного шифра:
.
- На основе блочного шифра:
Изложено в стандарте ISO/IEC 9797-1.
|
|
Строится следующим образом:
1. дополнить до кратности и разбить на x-битные блоки а;
2. – стартовое преобразование I;
3.;
4..
- На основе хэш-функции без ключа:
1.;
2.;
3..
В стандарте ISO/IEC 9797-2 – HMAC описано типовое применение.
,
k0 – k дополненное нулевыми битами до кратности нулевого блока.
- если |k| ≤ длине блока h;
- если |k| > длины блока h;
- opad и ipad – константы.
Документ RFC 4357 (конструкция кода аутентификации).
HMAC на ГОСТ Р 34.10.
Вычисление имитовставки ГОСТ 28147:
ISO/IEC 9796-1.
Длина ключа |k| = 256 бит; длина имитовставки n ≤ 32 бита.
Алгоритм вычисления hk(x):
1. дополнить x нулевыми битами до кратности 64,;
2. разбить на блоки по 64 бита,;
3. t wx:val="Cambria Math"/><w:i/><w:sz w:val="28"/><w:sz-cs w:val="28"/></w:rPr><m:t>=64</m:t></m:r></m:oMath></m:oMathPara></w:p><w:sectPr wsp:rsidR="00000000"><w:pgSz w:w="12240" w:h="15840"/><w:pgMar w:top="1134" w:right="850" w:bottom="1134" w:left="1701" w:header="720" w:footer="720" w:gutter="0"/><w:cols w:space="720"/></w:sectPr></wx:sect></w:body></w:wordDocument>">, бита регистр начального заполнения;
4.;
5., (n младших бит).
Использовать все 64 бита в качестве имитовставки очень сильно упрощает криптоанализ для противника. Поэтому и n ≤ 32 бита.
Типовое использование:
.
Имитовставка это и есть режим обеспечения имитозащищенности шифра.
ek – шифрование по алгоритму ГОСТ 28147 в режим электронной книги (ECB), но при этом выполняется только 16 раундов преобразования (хотя в самом ГОСТе 32 раунда).
Применение кода аутентификации:
A B
k k
hk(x) – MAC.