Введение

Шифр потока

В криптографии MUGI — это генератор псевдослучайных чисел (PRNG), разработанный для использования в качестве шифра потока. В 2003 году он был одним из криптографических методов, рекомендованных для использования японским правительством CRYPTREC, однако в 2013 году CRYPTREC в ходе пересмотра понизил его статус до "кандидата". MUGI принимает 128-битный секретный ключ и 128-битный вектор инициализации (IV). После процедуры настройки ключа и IV, MUGI выдает 64-битные выходные строки на основе внутреннего состояния, обновляя это состояние после каждого выходного блока. Внутреннее состояние MUGI составляет 1216 бит; оно состоит из трех 64-битных регистров ("состояние") и 16 64-битных регистров ("буфер"). MUGI использует нелинейную S-box, изначально определенную в Advanced Encryption Standard (AES). Часть линейного преобразования также повторно использует матрицу MDS из AES. Базовая конструкция вдохновлена конструкцией Panama.

Безопасность

По состоянию на сентябрь 2006 года не было известно атак на MUGI, которые были бы быстрее, чем последовательный перебор ключевого пространства или внутреннего состояния. В статье "Слабость линейной части потокового шифра MUGI" Голика Джована Дж., Роя Бимала и Вилли Мейера в аннотации утверждается: "Линейно обновляемый компонент потокового шифра MUGI, называемый буфером, теоретически анализируется с использованием метода производящих функций. В частности, доказано, что внутренняя реакция буфера, без обратной связи от нелинейно обновляемого компонента, состоит из бинарных линейных рекуррентных последовательностей с небольшой линейной сложностью 32 и с крайне малым периодом 48. Затем показано, как эту слабость в принципе можно использовать для облегчения линейного криптоанализа MUGI с двумя основными целями: восстановления секретного ключа и поиска линейных статистических различий. В статье "Анализ нелинейной части Mugi" Алекса Бирюкова и Ади Шамира в аннотации говорится: "В этой статье представлены результаты предварительного анализа потокового шифра Mugi. Мы исследуем нелинейный компонент этого шифра и выявляем несколько потенциальных уязвимостей в его конструкции. Хотя нам не удалось полностью взломать конструкцию Mugi, мы показываем, что она чрезвычайно чувствительна к незначительным изменениям. Например, возможно восстановить полное 1216-битное состояние шифра и исходный 128-битный секретный ключ, используя всего 56 слов известного потока и 214 шагов анализа, если шифр выдает какое-либо слово состояния, отличное от используемого в фактической конструкции. Если линейная часть исключена из конструкции, то секретное нелинейное 192-битное состояние может быть восстановлено, имея всего три выходных слова и выполнив всего 232 шагов. Если она сохранена в конструкции, но в упрощенной форме, то схему можно взломать атакой, которая немного быстрее, чем полный перебор."