Чтение онлайн

на главную

Жанры

Криптография и свобода
Шрифт:

Здесь я вынужден извиниться перед читателем этой книги, не имевшим ранее никаких дел с математикой. Сейчас придется немного залезть в теорию групп и теорию подстановок, со своими специфическими терминами: симметрическая группа, циклическая подстановка, свойство 2-транзитивности и т.п. Может быть неискушенный читатель пробежит эту часть «по-диагонали», не вдаваясь особо в подробности и не забивая себе в голову всех этих премудростей. Но в математике, как и в любой другой области науки, иногда удается получить красивый результат, и, чтобы оценить его красоту, надо немного вникнуть в детали, подробности, предшествующие его получению. Так что читатель, окунувшийся в начинающиеся ниже математические дебри (не такие уж и сложные, как может показаться на первый взгляд!), в конце концов будет вознагражден одной красивой «изюминкой».

Большинство

традиционных электронных шифраторов реализовано с помощью «балалаек», работающих с битами. В этих «балалайках» в ячейки регистра сдвига могут быть записаны только два элемента – 0 или 1, такой регистр сдвига называется регистром сдвига над полем GF(2) – полем Галуа из двух элементов. Операции с битами тоже весьма простые: сложение и умножение по модулю 2, а также отрицание. Все методы анализа подобных «балалаек» ориентированы на двоичные операции, на операции в поле GF(2).

Если же мы вместо битов переходим к байтам, то появляется много нового. Традиционные операции с байтами можно осуществлять несколькими способами. Например, сложение и вычитание могут быть с переносом или без переноса, т.е. или это будут операции в кольце вычетов по модулю 256, или покоординатное сложение бит. Но самое интересное обобщение происходит с операцией отрицания. Отрицание (инверсия) бита – это фактически подстановка на множестве из 2 элементов. Когда всего 2 элемента, то мощность симметрической группы S2 составляет всего 2! = 2, всего две подстановки: тривиальная единичная (ничего не меняется) и инверсия, когда 0 переходит в 1, а 1 – в 0. Мощность же симметрической группы S256 составляет 256! – совершенно фантастическое число. Введение подстановки в регистр сдвига, работающий с байтами, а не с битами, переворачивает все привычные методы криптографического анализа. Совершенно другие операции, а следовательно, нужны и другие подходы к анализу и оценке стойкости таких схем, чем те, которые использовались в традиционных двоичных «балалайках».

С чего начала кафедра математики на 4 факультете? С самого простейшего преобразования, осуществляемого с n-мерными двоичными векторами, с преобразования типа (GП)k, где G – группа, порожденная циклическим сдвигом (G = <g>, g =(0,1,…,2n– 1)-циклическая подстановка), П – некоторая фиксированная подстановка из S2n, а k – некоторое целое число.

Если здесь перейти от математических терминов из теории групп к обычной криптографической терминологии, то преобразование типа (GП)k – это следующий узел.

Преобразования типа (GП)k – это, фактически, множество подстановок вида gx1П gx2П… gxkП, и задачей кафедры математики было обосновать какие-то свойства подобного множества, найти их зависимости от подстановки П. Типичная криптографическая ситуация – когда в таком узле входное слово x1,x2,…xk является ключевым параметром, требуется найти подходы к его определению по нескольким известным переходам в реализуемой подстановке.

Кафедра начала с изучения группы <g, П >, т.е. группы, порожденной двумя подстановками: циклическим сдвигом g и фиксированной произвольной подстановкой П. Это естественное обобщение преобразования (GП)k, предельный случай. Свойства группы <g, П > дают ответ на вопрос, что в принципе можно ожидать от нашего преобразования при увеличении длины k до бесконечности. Можем ли мы таким путем получить все подстановки или же есть какие-то запреты?

Оказалось, что если случайно и равновероятно выбрать из всей симметрической группы фиксированную подстановку П, то с вероятностью, близкой к 1, группа <g, П > будет совпадать со всей симметрической группой, т.е. запретов не будет. Те подстановки П, для которых это не так, очень часто легко определяются, например, П=g, а также любая линейная подстановка, реализующая преобразование вида П(x) = ax+b, где a и b – фиксированные элементы из Z/2n.

Дальше, естественно, стали возникать вопросы: а как скоро мы сможем достичь симметрической группы? Какова будет мощность слоя (GП)k при некотором значении k, например, при k=2 или при k=3? При каком k множество (GП)k станет 2-транзитивным, т.е. по имеющимся в нем подстановкам любая пара (y1,y2), в которой y1<>y2, сможет перейти в любую пару (z1,z2), в которой z1<>z2? Что в общем случае можно будет сказать про обобщение 2-транзитивности – m-транзитивность?

За свойство 2-транзитивности взялись основательно, чувствовалось, что здесь могут быть интересные криптографические зацепки: если 2-транзитивность отсутствует, то появляются запреты переходов биграмм текста, широкое поле деятельности для криптоаналитика. Например, если П – упомянутая выше линейная подстановка, то для любой пары (y1,y2) будет справедливо соотношение:

П(y1)- П(y2) = (ay1+b) – (ay2+b) = a(y1– y2)

В этом случае при применении подстановки П сохраняется соотношение между разностями знаков, а поэтому кратной транзитивности заведомо не будет.

А если П – не линейная, а произвольная подстановка? При каком минимальном значении k множество (GП)k может достичь свойства 2-транзитивности? Всего имеется 2n(2n– 1) различных пар (z1,z2), в которых z1<>z2, а количество различных подстановок в (GП)k не превосходит (2n)k. Следовательно, свойства 2-транзитивности можно достичь только при k>=2. Можно ли при k=2?

Рассмотрим множество подстановок (GП)2. Это множество реализует всевозможные преобразования произвольного значения t в значение s по формуле s = П (П (t+x1)+x2) при всевозможных x1,x2. Если бы это множество было 2-транзитивным, то для любых заранее фиксированных s1,s2, t1,t2 , в которых s1<>s2 и t1<>t2, система уравнений:

s1 = П (П (t1+x1)+x2)

s2 = П (П (t2+x1)+x2)

имела бы решение относительно x1,x2, а, следовательно, поскольку П – подстановка, то и система

s1 = П (t1+x1)+x2 (1)

s2 = П (t2+x1)+x2

имела бы решение для любых заранее фиксированных s1,s2, t1,t2, в которых s1<>s2 и t1<>t2

Поделиться:
Популярные книги

Пустоцвет

Зика Натаэль
Любовные романы:
современные любовные романы
7.73
рейтинг книги
Пустоцвет

Комбинация

Ланцов Михаил Алексеевич
2. Сын Петра
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Комбинация

Адмирал южных морей

Каменистый Артем
4. Девятый
Фантастика:
фэнтези
8.96
рейтинг книги
Адмирал южных морей

Совок 5

Агарев Вадим
5. Совок
Фантастика:
детективная фантастика
попаданцы
альтернативная история
6.20
рейтинг книги
Совок 5

Внешняя Зона

Жгулёв Пётр Николаевич
8. Real-Rpg
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Внешняя Зона

Титан империи 3

Артемов Александр Александрович
3. Титан Империи
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Титан империи 3

Великий князь

Кулаков Алексей Иванович
2. Рюрикова кровь
Фантастика:
альтернативная история
8.47
рейтинг книги
Великий князь

Ледяное проклятье

Михайлов Дем Алексеевич
4. Изгой
Фантастика:
фэнтези
9.20
рейтинг книги
Ледяное проклятье

Бремя империи

Афанасьев Александр
Бремя империи - 1.
Фантастика:
альтернативная история
9.34
рейтинг книги
Бремя империи

Генерал Скала и сиротка

Суббота Светлана
1. Генерал Скала и Лидия
Любовные романы:
любовно-фантастические романы
6.40
рейтинг книги
Генерал Скала и сиротка

Ты не мой Boy 2

Рам Янка
6. Самбисты
Любовные романы:
современные любовные романы
короткие любовные романы
5.00
рейтинг книги
Ты не мой Boy 2

Романов. Том 1 и Том 2

Кощеев Владимир
1. Романов
Фантастика:
фэнтези
попаданцы
альтернативная история
5.25
рейтинг книги
Романов. Том 1 и Том 2

Убивать чтобы жить 6

Бор Жорж
6. УЧЖ
Фантастика:
боевая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 6

Законы Рода. Том 4

Flow Ascold
4. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 4