Имитовставка – это блок из Р бит, который вырабатывают по определенному правилу из открытых данных с использованием ключа и затем добавляют к зашифрованным данным для обеспечения их имитозащиты.
Имитозащита – это защита системы шифрованной связи от навязывания ложных данных.
В стандарте ГОСТ 28147-89 определяется процесс выработки имитовставки, который единообразен для любого из режимов шифрования данных. Имитовставка Ир вырабатывается из блоков открытых данных либо перед шифрованием всего сообщения, либо параллельно с шифрованием по блокам. Первые блоки открытых данных, которые участвуют в выработке имитовставки, могут содержать служебную информацию (например, адресную часть, время, синхропосылку) и не зашифровываются.
Значение параметра Р (число двоичных разрядов в имитовставке) определяется криптографическими требованиями с учетом того, что вероятность навязывания ложных помех равна 1/2р.
Для выработки имитовставки открытые данные представляют в виде последовательности 64-разрядных блоков Т0(i), i = 1…m.
Первый блок открытых данных Т0(1) подвергают преобразованию (·), соответствующему первым 16 циклам алгоритма зашифрования в режиме простой замены. В качестве ключа для выработки имитовставки используют ключ длиной 256 бит, по которому шифруют данные.
Полученное после 16 циклов 64-разрядное число (Т0(1)) суммируют по модулю 2 со вторым блоком открытых данных Т0(2). Результат суммирования ( (Т0(1)) Т0(2)) снова подвергают преобразованию (·).
Полученное 64-разрядное число ( (Т0(1)) Т0(2)) суммируют по модулю 2 с третьим блоком Т0(3) и снова подвергают преобразованию (·), получая 64-разрядное число
( ( (Т0(1)) Т0(2)) Т0(3)), и т.д.
Последний блок Т0(m) (при необходимости дополненный нулями до полного 64-разрядного блока) суммируют по модулю 2 с результатом вычислений на шаге (m–1), после чего зашифровывают в режиме простой замены, используя преобразование (·).
Из полученного 64-разрядного числа выбирают отрезок Ир (имитовставку) длиной Р бит:
Ир = [a(m)32–p+1(16), a(m)32–p+2(16),..., a(m)32(16)],
где ai(m) – i-й бит 64-разрядного числа, полученного после 16-го цикла последнего преобразования (·), 32 – р + 1 i 32.
Имитовставка Ир передается по каналу связи или в память ЭВМ в конце зашифрованных данных, т.е.
Тш(1), Тш(2),..., Тш(m), Ир.
Поступившие к получателю зашифрованные данные
Тш(1), Тш(2),..., Тш(m)
расшифровываются, и из полученных блоков открытых данных Т0(1), Т0(2),..., Т0(m) аналогичным образом вырабатывается имитовставка Ир. Эта имитовставка Ир сравнивается с имитовставкой Ир, полученной вместе с зашифрованными данными из канала связи или из памяти ЭВМ. В случае несовпадения имитовставок полученные при расшифровании блоки открытых данных Т0(1), Т0(2),..., Т0(m) считают ложными.