Алгоритм НМАС
Date: 2015-10-07; view: 394.
Стандартизовані геш-функції безпосередньо не передбачають використання секретних параметрів. Разом з тим, бажано мати можливість, за необхідності, застосовувати їх для створення кодів автентифікації, оскільки криптографічна стійкість геш-функцій є високою, а час їхнього обчислення не більший, ніж час шифрування блочним шифром.
У комп'ютерних системах та мережах використовується типовий алгоритм обчислення на основі довільної вбудованої геш-функції . Стандартне позначення цього алгоритму: .
Вхідні дані алгоритму – повідомлення і ключ , що розглядаються як рядки бітів.
Алгоритм обчислення можна записати у виді формули:
, де .
До повідомлення входять біти доповнення (padding - дозаповнення, набивка, підкладка) що їх можливо вимагає вбудована геш-функція для отримання довжини повідомлення, яка є кратною довжині блоку.
Довжина ключа також вимагає узгодження з довжиною блоку повідомлення.
Нехай кількість бітів у блоці повідомлення є кратною вісьми і - довжина геш-коду функції .
Якщо довжина ключа перевищує , то застосовується ключ .
Довжина ключа может виявитися і меншою, ніж бітів. У цьому випадку, до початку ключа приписуються нулі, у такий спосіб, щоб його довжина дорівнювала бітів.
З урахуванням цих випадків ключ у формулі позначено через .
Рядок утворюється за допомогою гамування ключа двійковою періодичною гамою .
При цьому, , .
|