138
ТЕОРЕМА 4.12 Пусть A будет полиномиальным. Если F является псевдос-
лучайной функцией, Конструкция 4.11 является защищенным MAC для сообще-
ний длинной A(n) • n.
Доказательство Теоремы 4.12 довольно сложное. В следующем разделе мы
покажем более общий результат, из которого и следует вышеупомянутая теорема.
Хотя Конструкция 4.11 может быть явным образом расширена для обработки
сообщений, длина которых произвольно кратная n, конструкция только тогда
защищена, когда длина сообщений для аутентификации фиксированная и зара-
нее согласованная между отправителем и получателем. (См. Упражнение 4.13.)
Преимущество данной конструкции по сравнению с Конструкцией 4.5, которая
также дает MAC фиксированной длины, в том, что настоящая конструкция может
аутентифицировать более длинные сообщения. В сравнении с Конструкцией 4.7,
CBC-MAC намного более эффективная, требующая только вычисления блочного
шифра d для сообщений длиной dn и с тегом только лишь длины n.
CBC-MAC против шифрования в режиме CBC. CBC-MAC похож на режим
использования CBC. Однако, существуют некоторые важные различия:
1. Шифрование в режиме CBC использует случайный IV, и это является клю-
чевой особенностью для безопасности. Для сравнения, CBC-MAC не использует
IV (альтернативно, он может рассматриваться как использующий фиксированное
значение IV = 0n), и это также ключевая особенность для безопасности. В част-
ности, CBC-MAC,
использующий случайный IV, не является защищенным.
2. При шифровании в режиме CBC все промежуточные значения ti (под на-
званием ci в случае шифрования в режиме CBC) выводятся шифровальным
алгоритмом как часть шифротекста, тогда как при использовании CBC-MAC
выводится только последний блок в качестве тега. Если CBC-MAC модифици-
руется так, чтобы выводить все {ti}, полученные в процессе вычисления, тогда
он перестает быть защищенным.
В упражнении 4.14
вам необходимо удостовериться,
что модификации CBC-
MAC,
описанные выше, не являются защищенными.
Данные примеры демон-
стрируют тот факт, что на вид безобидные модификации криптографических кон-
струкций могут сделать их незащищенными. Всегда внедряйте криптографические
конструкции строго по инструкции и не модифицируйте их (если только такие мо-
дификации сами по себе не являются защищенными). Более того, важно понимать
конструкцию, которую вы используете. Во многих случаях криптографическая би-
блиотека предоставляет программисту «функцию CBC», но не различает использо-
вание данной функции для шифрования или аутентификации сообщений.
Достарыңызбен бөлісу: