Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_Информационная безопасность.doc
Скачиваний:
41
Добавлен:
24.09.2019
Размер:
1 Мб
Скачать
☆

2.7Перестановки.

Несложный метод криптографического преобразования, заключающийся в перестановке местами символов исходного текста по некоторому правилу. Блоки информации (байты, биты, более крупные единицы) не изменяются сами по себе, но изменяется их порядок следования, что делает информацию нечитаемой для стороннего наблюдателя. Шифры перестановок в настоящее время не используются в чистом виде, так как их криптостойкость недостаточна.

Ключом данного алгоритма является множество пар переставляемых символом. Часто его задают в виде таблицы перемешивания.

Пример. Правило перестановок зададим следующее: первый символ исходного текста меняется местами с символом, номер которого задан в таблице первым. Второй символ уже не совсем исходного текста – с символом, номер которого задан в таблице вторым и т.д. Пусть задана таблица: 4, 3, 2. Если таблица заканчивается, начинается отсчет символов в шифруемом тексте с 1. Исходный текст «задавака». Покажем результат шифрования по шагам: 1 буква меняется местами с 4 «аадзвака», 2 с 3 «адазвака», 3 со 2 «аадзвака», 4 с 4 «аадзвака», 5 с 3 «аавздака», 6 со 2 «аавздака», 7 с 4 «аавкдаза», 8 с 3 «ааакдазв». Расшифрование проводится в обратном порядке.

2.8Гаммирование.

Представляет собой преобразование исходного текста, при котором символы исходного текста складываются (по модулю, равному мощности алфавита) с символами некоторой заданной или генерируемой псевдослучайной последовательности, вырабатываемой по некоторому правилу. Собственно говоря, гаммирование нельзя целиком выделить в отдельный класс криптографических преобразований, так как эта псевдослучайная последовательность может вырабатываться, например, с помощью блочного шифра. В случае если последовательность является истинно случайной (например, снятой с физического датчика) и каждый ее фрагмент используется только один раз, мы получаем криптосистему с одноразовым ключом. Системы с одноразовым ключом (как особо надежные) применяются в правительственной связи.

Гаммирование является также широко применяемым криптографическим преобразованием. На самом деле граница между гаммированием и использованием бесконечных ключей (и шифров Вижинера) весьма условная.

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

Полученный зашифрованный текст является достаточно трудным для раскрытия в том случае, если гамма шифра не содержит повторяющихся битовых последовательностей. По сути дела гамма шифра должна изменяться случайным образом для каждого шифруемого слова. Фактически же, если период гаммы превышает длину всего зашифрованного текста и неизвестна никакая часть исходного текста, то шифр можно раскрыть только прямым перебором (методом «грубой силы»). Криптостойкость в этом случае определяется размером ключа.

Метод гаммирования становится бессильным, если злоумышленнику становится известен фрагмент исходного текста и соответствующая ему шифрограмма. Простым вычитанием по модулю получается отрезок гаммы. Это уже достаточно много! Кроме того, если гамма получена в результате работы генератора псевдослучайных чисел (то есть программно), то знание фрагмента псевдослучайной последовательности может оказаться (почти всегда!) достаточным для восстановления всей последовательности. Фрагмент текста не обязательно должен быть украден. Злоумышленники может сделать предположение о содержании исходного текста. Так, если большинство посылаемых сообщений начинается со слов “СОВ. СЕКРЕТНО”, то криптоанализ всего текста значительно облегчается, т.к. 13 символов гаммы можно определить. Это следует учитывать при создании реальных систем информационной безопасности.

Различают битовое гаммирование и гаммирование в общем виде. В первом случае исходный текст складывается с гаммой при помощи операции XOR (сложение по модулю 2). Во втором – сложение идет по модулю числа, равного длине алфавита.

Рассмотрим пример гаммирования в общем виде. Пусть дан алфавит «абюя 123». В этом алфавите символы пронумерованы от 0 до 7. Длина алфавита равна 8. Пусть у нас есть сообщение «а13» и гамма «ю2». Зашифруем:

а13 -> юяб

ю2ю