
1.4. Развитие системы des
Поскольку стоимость компьютеров уменьшается в 5 раз каждые 10 лет, а производительность растет, в ближайшей перспективе этот алгоритм будет относительно легко вскрываться. Поэтому предпринимаются попытки увеличить стойкость DES к вскрытию [ 4 ].
1.4.1. Алгоритм ГОСТ 28147 -89.
Этот алгоритм является аналогом алгоритма DES. Некоторые отличия сводятся к следующему.
1. В алгоритме DES используется сложная процедура генерации подключей. В ГОСТ такая процедура упрощена.
2. В алгоритме DES используется 56 битовый ключ. В алгоритме ГОСТ – 256 бит. Кроме того используются засекреченные перестановки S – блоков.
3. Размер S- блока ГОСТ в четыре раза меньше, чем размер блока DES.
4. В алгоритме DES применяются нерегулярные перестановки, названные P – блоками. В алгоритме ГОСТ используются 11 –и битовые циклические сдвиги влево.
5. В алгоритме DES выполняются 16 раундов преобразований, в алгоритме ГОСТ – 32.
1.4.2. Вариантов алгоритма DES очень много. Так, для увеличения секретности используется алгоритм 3 DES, т.е. фрагмент текста шифруется трижды алгоритмом DES с разными ключами. Использование независимых подключей в каждом раунде вместо создания их из одного 56 битового ключа в алгоритме DES с независимыми подключами позволяет увеличить трудность подбора ключа с 256 до 2 768. В алгоритме DESX кроме 56 битового ключа используется дополнительный 53 битовый ключ для “отбеливания”, фактически для маскировки входов и выходов DES. Характеристики других алгоритмов приведены в [4]
1.5. Криптосистема с идеальной секретностью по Шеннону
В работе [1] величайший ученый современности К.Шеннон доказал теорему о системе с идеальной секретностью. В соответствии с этой теоремой известная криптосистема Вернама (которая еще называется Одноразовый блокнот) может оказаться системой с идеальной секретностью (практически не вскрываемой) при трех непременных условиях.
1. Длина ключа должна равняться длине сообщения. Это еще доказал немецкий математик Казиски, а именно, что в том случае, когда ключ существенно короче сообщения и повторяется, криптосистема вскрывается легче.
2. Ключ должен быть абсолютно случаен. Дело в том, что обычные датчики случайных чисел не дают случайных чисел. Действительно, чтобы двоичный код был абсолютно случаен, требуется выполнить ряд условий, в частности, число единиц в нем должно равняться числу нулей, число пар единиц должно равняться числу пар нулей и т.д. Кроме того вероятность появления пар, троек и т.д. единиц и нулей должна уменьшаться по квадратичному закону. Однако если выполнить все эти условия, ключ все равно не будет случайным. Действительно, если включить датчик, он выработает двоичную квазислучайную последовательность. Если теперь выключить датчик и включить его снова, он выработает ТУ ЖЕ последовательность. Поэтому она не будет случайной. Построение генераторов истинно случайных последовательностей достаточно сложная и трудоемкая задача.
3. После каждой одной передачи ключ должен уничтожаться.
Эти три условия делают, казалось бы, невозможным реализацию криптосистемы с идеальной секретностью. Однако идеи Диффи и Хэллмана, о которых будет рассказано ниже, приближают нас к реализации системы с идеальной секретностью по Шеннону [ 2 ]
. В криптосистеме Вернама сообщением является последовательность битов ограниченной длины. В виде ключа выступает также двоичная последовательность. Ключ для шифрования и расшифрования общий. Например:
Сообщение S: 1 1 0 1 0 0 0 1 0 1 1 1 0 0 1 0 0 1
Ключ: K: 1 0 0 0 1 0 1 1 0 1 1 1 1 0 0 1 0 0
Шифр: S Å K : 0 1 0 1 1 0 1 0 0 0 0 0 1 0 1 1 0 1
Для расшифровки сообщения достаточно к S Å K прибавить по модулю 2 еще раз K.
Очевидным недостатком такой криптосистемы является то, то ключ должен быть достаточно большим и отдельно передаваться получателю сообщения. Впрочем, это недостаток всех классических криптосистем с симметричным ключом.
Криптосистема Вернама является частным случаем Поточных шифров. Поточные шифры могут использовать генераторы псевдослучайных последовательностей на основе сложения выходов нескольких (обычно трех) генераторов на регистрах с обратными связями. Достижение псевдослучайных свойств обеспечивается с помощью нелинейных функций. Блэйзер и Хайнцманн первыми отметили, что если комбинирующая функция пропускает на выход информацию о своих функциях-компонентах, то работа по вскрытию такой шифросистемы может быть существенно сокращена. В работе Томаса Зигенталера (1984г.) было введено понятие корреляционно-иммунной функции, обеспечивающей наилучшую нелинейность при комбинировании выходов генераторов.
Обычно поточные шифры требуют аппаратной реализации совершенно одинаковых генераторов как на передающей, так и на принимающей стороне. Общая схема шифрования близка к схеме одноразового блокнота. Скорость шифрования и расшифрования высокая и составляет одну операцию на бит. Однако программная реализация метода обычно затруднена необходимостью перестройки генераторов на новую последовательность. Поэтому псевдослучайная последовательность должна использоваться длительное время, что снижает криптостойкость системы. В общем случае криптостойкость поточных шифров определяется параметрами генераторов квазислучайной последовательности. Несмотря на эти недостатки, быстродействие поточных шифров обеспечивает большой интерес к ним у различных пользователей.