
- •Содержание
- •Введение
- •1.1. Общая система секретной связи (по К. Шеннону)
- •1.1.1. Основные криптографические термины
- •1.1.2. Модель системы секретной связи К.Шеннона
- •1.2. Подходы к оценке надежности реальных криптосистем
- •1.2.2. Метод сведения к общей алгоритмической проблеме
- •Глава 2. ОБЩИЕ АЛГОРИТМИЧЕСКИЕ ПРОБЛЕМЫ АНАЛИЗА ОСНОВНЫХ ТИПОВ ШИФРОВ
- •2.1. Элементарные шифры
- •2.2. Основные типы шифров
- •2.2.1 Потоковые шифры. Последовательность выбора шифрпреобразований
- •2.2.2. Качество гаммы
- •2.2.3. Периодичность гаммы
- •2.2.4. Блочные шифры
- •2.2.5. Алгоритмические проблемы, связанные со стойкостью основных типов шифров
- •Глава 3. ТЕСТИРОВАНИЕ УЗЛОВ КРИПТОСХЕМ КАК МЕТОД КОМПРОМЕТАЦИИ ШИФРОВ
- •3.1. Компрометация шифров
- •3.2. Задача тестирования линейной рекуррентной составляющей криптоузла
- •3.3. Задача восстановления параметров искаженной линейной рекурренты
- •3.3.1. Представление элементов рекурренты через элементы начального заполнения
- •3.3.2. Производные соотношения
- •3.3.4. Качественная характеристика задачи восстановления параметров линейной искаженной рекурренты
- •Глава 4. КРИПТОГРАФИЧЕСКИЕ СВОЙСТВА БУЛЕВЫХ ФУНКЦИЙ
- •4.1. Нелинейность булевой функции
- •4.2. Критерии распространения и корреляционная иммунность
- •4.3. Устойчивые булевы отображения
- •Глава 5. ОСОБЕННОСТИ ПРИМЕНЕНИЯ АЛГОРИТМА ГОСТ 28147-89
- •5.1. Криптоэквивалентная схема алгоритма ГОСТ 28147-89
- •5.2. Влияние блока подстановки на последовательности выходов итераций
- •5.2.1 Расшифрование в режиме простой замены
- •5.2.2. Возможность ослабления шифра за счет структуры сеансового ключа
- •5.3. Замечания о режимах шифрования и имитовставки
- •Глава 6. ВЫБОР ДОЛГОВРЕМЕННОГО КЛЮЧА АЛГОРИТМА ГОСТ 28147-89
- •6.1. Область сильных ключей
- •6.1.1. Достаточность условия равновероятности псевдогаммы для выбора сильного блока подстановки
- •6.2. Контроль долговременного ключа алгоритма ГОСТ 28147-89
- •6.2.1. Угроза внедрения слабых параметров
- •6.2.2. Подход к выявлению слабых долговременных ключей
- •6.2.3. Свойства теста
- •6.2.4. Тестирование долговременного ключа
- •Глава 7. ЭЛЕМЕНТЫ ТЕОРИИ СРАВНЕНИЙ
- •7.1.1. Расширенный алгоритм Эвклида
- •7.2. Модульная арифметика
- •7.2.1. Функция Эйлера и малая теорема Ферма
- •7.3. Сравнения первой степени от одного неизвестного
- •7.3.1. Китайская теорема об остатках
- •7.3.2. Степенные сравнения по простому модулю
- •Глава 8. ВЫЧИСЛЕНИЕ КВАДРАТНОГО КОРНЯ В ПРОСТОМ ПОЛЕ
- •8.1.1. Символ Лежандра
- •8.1.2. Символ Якоби
- •8.2. Алгоритм нахождения квадратного корня в простом поле
- •9.1. Построение криптосистемы RSA. Идея цифровой подписи
- •9.2. Смешанные криптосистемы. Протокол Диффи-Хэллмана ключевого обмена
- •9.3. Цифровая подпись Эль-Гамаля
- •9.3.1. Криптосистема Эль-Гамаля
- •9.3.2. Механизм цифровой подписи Эль-Гамаля
- •9.3.3. Ослабление подписи Эль-Гамаля вследствие некорректной реализации схемы
- •9.3.4. Варианты цифровой подписи типа Эль-Гамаля
- •10.1 Обозначения и постановка задачи
- •10.2. Построение корней из единицы в поле
- •10.3. Алгоритм дискретного логарифмирования
- •10.3.1. Пример вычисления дискретного логарифма
- •10.4. Фальсификация подписи Эль-Гамаля в специальном случае выбора первообразного элемента и характеристики поля
- •10.4.1. Слабые параметры в подписи Эль-Гамаля
- •Глава 11. МЕТОДЫ ФАКТОРИЗАЦИИ ПОЛЛАРДА
- •11.2.1. Оценка вероятности выбора критической пары
- •11.2.2. Оптимизация выбора критической пары
- •Глава 12. НЕКОТОРЫЕ СЛУЧАИ ОСЛАБЛЕНИЯ КРИПТОСИСТЕМЫ RSA
- •12.1. Атаки на RSA, не использующие факторизацию модуля
- •12.2. Атаки на RSA, использующие факторизацию модуля
- •12.2.1. Алгоритм факторизации Диксона
- •Глава 13. ТЕСТ ФЕРМА ПРОВЕРКИ ЧИСЕЛ НА ПРОСТОТУ
- •13.1. Решето Эратосфена и критерий Вильсона
- •13.2. Тест на основе малой теоремы Ферма
- •13.2.1. Основные свойства псевдопростых чисел
- •13.2.2. Свойства чисел Кармайкла
- •13.2.3. (n-1) - критерий Люка
- •13.2.3. Понятие о последовательностях Люка. (n+1) - критерий Люка
- •Глава 14. ТЕСТЫ СОЛОВЕЯ-ШТРАССЕНА И РАБИНА-МИЛЛЕРА ПРОВЕРКИ ЧИСЕЛ НА ПРОСТОТУ
- •14.1. Тест Соловея-Штрассена
- •14.1.1. Эйлеровы псевдопростые числа
- •14.2. Тест Рабина-Миллера
- •14.2.1. Сильно псевдопростые числа
- •Глава 15. ПОСТРОЕНИЕ БОЛЬШИХ ПРОСТЫХ ЧИСЕЛ
- •15.1. Детерминированный тест, основанный на обобщенном критерии Люка
- •15.1.1. Теорема Поклингтона
- •15.1.2. Обобщение критерия Люка
- •15.2. Детерминированный тест, основанный на теореме Димитко
- •Глава 16. ВЫБОР ПАРАМЕТРОВ КРИПТОСИСТЕМЫ RSA
- •16.1. Общие требования к выбору параметров
- •16.2. Метод Гордона построения сильно простых чисел
- •16.3. Пример построения сильно простого числа
- •Глава 17. ОБЩИЕ СВЕДЕНИЯ ОБ ИНОСТРАННЫХ КРИПТОСРЕДСТВАХ
- •17.1. Аппаратные криптосредства
- •17.2. Основные принципы построения систем управления ключами
- •17.2.1. Ключевые системы потоковых шифров
- •17.3. Блочные шифры в смешанных криптосистемах
- •17.3.2. Смешанная криптосистема на основе алгоритмов RSA и IDEA
- •ЗАКЛЮЧЕНИЕ
- •ЛИТЕРАТУРА

Тестирование линейной рекуррентной составляющей криптоузла 45
ck ck +k K ck |
+k cn+k = rk , |
|
|||
|
1 |
r |
|
|
|
ck −k |
ck K ck |
+k −k |
cn+k −k |
= rk −k |
|
1 |
|
r |
1 |
1 |
1 |
и т.д., где «шаблон» для выбора битов сдвигается на соответствующие значения
ki влево, пока обозначение |
cn+k в |
шаблоне не окажется |
левее бита, |
первоначально обозначенного как ck . |
|
|
|
По построению этот бит |
входит |
во все рассмотренные |
проверочные |
соотношения. Используя производные соотношения, можно получить больше значений ri .
Исходя из вероятностей искажений, можно заранее рассчитать вероятности ri , в предположении, что uk =1 и проверить, согласуются ли полученные значения с распределением {ui }.
По крайней мере, часть битов рекурренты может быть восстановлена.
Заметим, что этого может оказаться достаточно для восстановления всей рекурренты. Например, n подряд идущих битов позволяют развернуть рекурренту на нужное число шагов назад и определить начальное заполнение.
Тем же свойством обладают любые n битов, расположенные на местах, где соответствующие вектора hi линейно независимы.
Аналогично можно использовать проверки на четность для отбраковки вариантов при поиске точек съема обратной связи [10].
3.3.4. Качественная характеристика задачи восстановления параметров линейной искаженной рекурренты
Качественную характеристику задачи восстановления параметров линейной искаженной рекурренты можно получить, используя следующий подход.
Пусть отрезку c0,c1,K, cN−1 |
искаженной рекурренты длины N при |
истинных значениях точек съема |
и истинном начальном заполнении |

46 Глава 3. ТЕСТИРОВАНИЕ УЗЛОВ КРИПТОСХЕМ КАК МЕТОД КОМПРОМЕТАЦИИ ШИФРОВ
соответствует |
последовательность искажений, содержащая N− единиц и |
|
N+ = N − N− |
нулей. |
Пусть z = (z0 , z1,K, zn−1 ) - искомое начальное |
заполнение и |
N+ ≥ N− . |
Рассмотрим предполагаемый вариант набора точек |
съема. |
|
|
Обозначим отрезок рекурренты R(z), соответствующий последовательности c0 ,c1,K, cN −1 через t0 ,t1,K,tN −1 . Искажения имеют вид uk = ck tk .
Преобразуем теперь значения битов с помощью преобразования
(гомоморфизма) T : T (0)=1, T (1)= −1. Легко проверить, что сумма битов по модулю два перейдет при этом в обычное умножение: T(x y)=T(x)T(y).
Обозначим T(x) через xˆ .
Нам не известно начальное заполнение, однако мы знаем вектора hk . |
|
|||||||
Поскольку tk = z,hk , то мы можем выразить tk через |
z0 , z1,K, zn−1 |
в |
||||||
виде суммы по модулю два, |
скажем gk (z). |
Из свойств преобразования |
T |
|||||
следует, что |
uˆk = cˆk gˆk (z), |
где |
gˆk (z) - |
произведение |
переменных |
из |
||
z0 , z1,K, zn−1 , номера которых известны, а cˆk = ±1. |
|
|
|
|||||
Таким |
образом, |
мы |
можем |
образовать |
полином |
|||
|
N −1 |
|
|
|
|
|
|
|
P(z0 , z1,K, zn−1 )= ∑cˆk gˆk (z0 , z1,K, zn−1 ). |
|
|
|
|
|
|||
|
k =0 |
|
|
|
|
|
|
|
Рассмотрим уравнение P(z)= B , где B - |
целое число от нуля до N, |
а |
||||||
переменные |
удовлетворяют |
ограничениям |
zi = ±1. Предположим, мы |
в |
состоянии при любом B ответить на вопрос, существует решение или нет, а также найти решение, если оно существует. Тогда, решая уравнение при каждом значении B от нуля до N, мы можем найти максимальное B, при котором решение существует, а также указать соответствующее решение.

Тестирование линейной рекуррентной составляющей криптоузла 47
N −1
Однако P(z)= ∑uˆk (z), т.е. B = P(z)= N+ − N− , откуда мы получаем
k =0
оптимальное для данного набора точек съема значение N− , т.к. N+ + N−
известно и равно N.
Таким образом, определение точек съема обратной связи РСЛОС сводится к вопросу разрешимости уравнения P(z)= B , zi = ±1, а нахождение начального заполнения регистра – к поиску самих решений.