Многоскоростной генератор с внутренним произведением (inner-product)
Этот генератор, предложенный Массеем (Massey) и Рюппелом [1014], использует два LFSR с разными тактовыми частотами (см. Рис. 16-15). Тактовая частота LFSR-2 в dраз больше, чем у LFSR-l. Отдельные биты этих LFSR объединяются операцией AND, а затем для получения выходного бита генератора они объединяются посредством XOR.
Рис. 16-15. Многоскоростной генератор с внутренним произведением.
Хотя этот генератор обладает высокой линейной сложностью и великолепными статистическими характеристиками, он все же не может устоять перед вскрытием линейной согласованности [1639]. Если n1 - длина LFSR-l, n2 - длина LFSR-2, а d- отношение тактовых частот, то внутреннее состояние генератора может быть получено по выходной последовательности длиной
n2+ n2+ log2d
Суммирующий генератор
Еще одно предложение Рэйнер Рюппела, этот генератор суммирует выходы двух LFSR (с переносом) [1358, 1357]. Это в высокой степени нелинейная операция. В конце 80-х этот генератор был лидером в отношении безопасности, но он пал перед корреляционным вскрытием [1053, 1054, 1091]. Кроме того, было показано, что этот генератор является частным случаем обратной связи, использующей сдвиговый регистр с переносом (см. раздел 17.4), и может быть взломан [844].
DNRSG
Это означает "динамический генератор случайной последовательности" ("dynamic random-sequence generator") [1117]. Идея состоит в том, чтобы взять два различных фильтруемых генератора - пороговых, суммирующих, и т.п. - использующих один набор LFSR, а управляемых другим LFSR.
Сначала тактируются все LFSR. Если выходом LFSR-0 является 1, то вычисляется выход первого фильтрующего генератора. Если выходом LFSR-0 является 0, то вычисляется выход второго фильтрующего генератора. Окончательным результатом является XOR выходов первого и второго генераторов.
Каскад Голлманна
Каскад Голлманна (см. Рис. 16-16), описанный в [636, 309], представляет собой усиленную версию генератора "стоп-пошел". Он состоит из последовательности LFSR, тактирование каждого из которых управляется предыдущим LFSR. Если выходом LFSR-l в момент времени tявляется 1, то тактируется LFSR-2. Если выходом LFSR-2 в момент времени tявляется 1, то тактируется LFSR-3, и так далее. Выход последнего LFSR и является выходом генератора. Если длина всех LFSR одинакова и равна n, линейная сложность системы из kLFSR равна
n(2n - 1)k-1
Рис. 16-16. Каскад Голлманна.
Это дерзкая идея: концептуально они очень просты и могут быть использованы для генерации последовательностей с огромными периодами, огромными линейными сложностями и хорошими статистическими свойствами. Они чувствительны к вскрытию, называемому запиранием (lock-in)[640] и представляющему метод, с помощью которого сначала криптоаналитик восстанавливает вход последнего сдвигового регистра в каскаде, а затем взламывает весь каскад, регистр за регистром. В некоторых случаях это представляет собой серьезную проблему и уменьшает эффективную длину ключа алгоритма, но для минимизации возможности такого вскрытия можно предпринять ряд определенных мер.
Дальнейший анализ показал, что с ростом k последовательность приближается к случайной [637, 638, 642, 639]. На основании недавних вскрытий коротких каскадов Голлманна [1063], я советую использовать kне меньше 15. Лучше использовать больше коротких LFSR, чем меньше длинных LFSR.
Дата добавления: 2021-01-26; просмотров: 433;