Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОЗІ / Лекц_ї / Лекц_я 8.doc
Скачиваний:
38
Добавлен:
05.06.2015
Размер:
172.54 Кб
Скачать

Мас на основі алгоритму симетричного шифрування

Для обчислення МАС може використовуватися алгоритм симетричного шифрування (наприклад, DES) у режимі СВС і нульовий инициализационный вектор. У цьому випадку повідомлення представляється у вигляді послідовності блоків, довжина яких дорівнює довжині блоку алгоритму шифрування. При необхідності останній блок доповнюється праворуч нулями, щоб вийшов блок потрібної довжини. Обчислення МАС відбувається за наступною схемою:

МАС1 = EK [P1]

МАС2 = EK [P2 MAC1]

. . .

МАС = EK [PN MACN-1]

MAC = МАС

MAC = МАС МАС на основі хеш-функції

Іншим способом забезпечення цілісності є використання хеш-функції. Хеш-код приєднується до повідомлення в той момент, коли відомо, що повідомлення коректно. Одержувач перевіряє цілісність повідомлення обчисленням хеш-коду отриманого повідомлення й порівнянням його з отриманим хеш-кодом, що повинен бути переданий безпечним способом. Одним з таких безпечних способів може бути шифрування хеш-коду закритим ключем відправника, тобто створення підпису. Можливо також шифрування отриманого хеш-коду алгоритмом симетричного шифрування, якщо відправник і одержувач мають загальний ключ симетричного шифрування.

НМАС

Ще один варіант використання хеш-функції для одержання МАС полягає в тому, щоб певним чином додати секретне значення до повідомлення, що подається на вхід хеш-функції. Такий алгоритм зветься НМАС, і він описаний в RFC 2104. При розробці алгоритму НМАС переслідувалися наступні цілі:

  • можливість використовувати без модифікацій уже наявні хеш-функції;

  • можливість легкої заміни вбудованих хеш-функцій на більше швидкі або більше стійкі;

  • збереження швидкості роботи алгоритму, близької до швидкості роботи відповідної хеш-функції;

  • можливість застосування ключів і простота роботи з ними.

В алгоритмі НМАС хеш-функція являє собою "чорний ящик". Це, по-перше, дозволяє використовувати існуючі реалізації хеш-функцій, а по-друге, забезпечує легку заміну існуючої хеш-функції на нову.

Уведемо наступні позначення:

Н - убудована хеш-функція.

b - довжина блоку використовуваної хеш-функції.

n - довжина хеш-кода.

K - секретний ключ. До цього ключа ліворуч додають нулі, щоб одержати b-бітовий ключ K+.

Уводиться два допоміжних значення:

Ipad - значення '00110110', повторене b/8 разів.

Opad - значення '01011010', повторене b/8 разів.

Далі НМАС обчислюється в такий спосіб:

НМАС = Н ((K+ Opad) || H ((K+ Ipad) || M))

Соседние файлы в папке Лекц_ї