CBC-MAC
У криптографії, код автентифікації повідомлення ланцюгуванням шифроблоків (CBC-MAC) — техніка побудови кода автентифікації повідомлення з блочного шифру. Повідомлення шифроване деяким алгоритмом блочного шифрування в режимі CBC для створення ланцюга блоків таких, що кожен блок залежить від правильного шифрування попередніх блоків. Ця взаємозалежність гарантує. що зміна в будь-якому біті відкритого тексту спричинить зміну в останньому зашифрованому блоці, яку не можна передбачити або запобігти без знання ключа блочного шифру.
Для обчислення CBC-MAC повідомлення
користувач шифрує
в режимі CBC з нульовим ініціалізаційним вектором. Наступне зображення є нарисом обчислення CBC-MAC повідомлення з блоків
секретним ключем
і PRP
(блочним шифром):
Отримуємо PRF 
Зміст |
Безпека з повідомленнями встановленої і змінної довжини [ред.]
Якщо використовний блочний шифр безпечний (тобто є псевдовипадковою переставкою), тоді CBC-MAC безпечний для повідомлень встановленого розміру.[1] Однак, не є безпечним для повідомлень змінної довжини. Отже, кожен окремий ключ треба використовувати для повідомлень встановленої і відомої довжини. Нападник, який знає правильну пару повідомлення-тег (тобто CBC-MAC)
і
може утворити третє повідомлення
чий CBC-MAC також буде
. Це робиться простим XOR-енням першого блоку
з
і тоді приєднанням
до
; тобто через утворення
.
Цю проблему не можна розв'язати через додавання блоку з розміром повідомлення наприкінці. Існує три головних способи зміни CBC-MAC так, щоб убезпечити його для повідомлень змінної довжини[1]:
- Додавання довжини повідомлення в перший блок (англ. length-prepend CBC MAC). Це може бути проблематичним якщо довжина повідомлення не відома, коли почалось опрацювання.
- Використання різних ключів для повідомлень різних довжин (англ. input-length key separation).
- ECBC-MAC, XCBC-MAC.
Також, для захисту цілісності повідомлень змінної довжини, можна розглянути інші режими, наприклад, CMAC (фактично різновид XCBC-MAC) або HMAC.
ECBC-MAC [ред.]
XCBC-MAC [ред.]

Переваги [ред.]
- Робить найменшу кількість викликів блочного шифру для MAC такого типу
- Правильно обробляє повідомлення будь-якої довжини
- Блочний шифр викликається лише з одним ключем:

- Блочний шифр викликається лише в напрямку шифрування
- Дозволяє обробку по ходу
- Легкий у втіленні, знайомий користувачам
- Вільний
- XCBC — це PRF (не тільки MAC)
- – Безпечна PRF завжди є MAC
- – Не використовується нонс/IV
- – Тегі коротші
- – Тегі можна обрізати
- – Інші застосування
- • Розділення ключа
- • PRG
- • Протоколи квитування (підтвердження) зв'язку
- Доведеннєво безпечний (припускаючи, що E є PRP)
Вади [ред.]
- Обмежені можливості розпаралелювання (притаманно CBC-MAC)
- Довжина ключа

Порівняння різновидів CBC-MAC [2][3] [ред.]
| Ім'я | Домен | #E викликів | #E ключів | Довжина ключа | #E викликів до обробки |
|---|---|---|---|---|---|
| CBC-MAC | ![]() |
![]() |
![]() |
![]() |
0 |
| EMAC | ![]() |
![]() |
![]() |
![]() |
0 |
| RMAC | ![]() |
![]() |
![]() |
![]() |
0 |
| XCBC | ![]() |
![]() |
![]() |
![]() |
0 |
| TMAC | ![]() |
![]() |
![]() |
![]() |
0 |
| XCBC+kst | ![]() |
![]() |
![]() |
![]() |
3 або 4 |
| TMAC+kst | ![]() |
![]() |
![]() |
![]() |
2 або 3 |
| OMAC | ![]() |
![]() |
![]() |
![]() |
1 |
«#E викликів до обробки» — позначає кількість викликів блочного шифру в попередньому опрацюванні. Ці виклики можна робити без повідомлення. Для XCBC+kst і TMAC+kst за блочний шифр припускаємо AES.
kst — техніка розділення ключів (англ. key separation technique).
Примітки [ред.]
- ↑ а б M. Bellare, J. Kilian and P. Rogaway. The security of the cipher block chaining message authentication code. JCSS 61(3):362-399, 2000.
- ↑ Kaoru Kurosawa, Tetsu Iwata. Two-key CBC MAC стор. 3, 2002
- ↑ Fast Software Encryption: 10th International Workshop, FSE 2003, Lund, Sweden, February 24-26, 2003 : Revised Papers, Том 10, стор. 143
Посилання [ред.]
- XCBC: Версія CBC MAC для опрацювання повідомлень довільної довжини на сайті NIST. (англ.)
| На цю статтю не посилаються інші статті Вікіпедії.
Будь ласка, скористайтеся підказкою та розставте посилання відповідно до прийнятих рекомендацій.
|














