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

на главную

Жанры

Защита от хакеров корпоративных сетей

авторов Коллектив

Шрифт:

Частотный анализ (frequency analysis) – наиболее эффективный и часто используемый метод расшифровки сообщений, зашифрованный простым алгоритмом. Он основан на том, что одни буквы в словах встречаются чаще, чем другие. Например, в английском языке трудно найти слово без буквы е. Каким образом, зная частоту букв, можно расшифровать сообщение? Для ответа на этот вопрос нужно выбрать достаточно большое зашифрованное сообщение и составить таблицу частоты встречаемости букв в словах, в которой будет указана частота использования каждой буквы. А затем сравнить полученную таблицу c аналогичной таблицей частоты использования букв языка, на котором было написано сообщение. В результате можно

догадаться, какие буквы зашифрованного сообщения соответствуют буквам открытого текста.

Проницательный читатель обнаружит, что некоторые буквы появляются с почти одинаковой частотой. Как в этом случае определить букву? Для этого нужно или проанализировать все, что сопутствует появлению букв в сообщении (контекст сообщения), или воспользоваться таблицей частот сочетаний букв, например sh, ph, ie и the (в английском языке).

Обычно криптографические алгоритмы этого типа ненамного сложнее шифра Цезаря, упомянутого в начале главы. Он был хорош сотни лет тому назад. Сейчас подобные шифровки публикуются на страницах ежедневных газет для развлечения пассажиров пригородного сообщения под заголовками «Криптограммы». До сих пор подобный и слегка усложненный шифр можно обнаружить в новых версиях вирусов и червей.

Анализ зависимости между длинами зашифрованного и открытого текстов (Ciphertext Relative Length Analysis)

Иногда анализ зашифрованного сообщения может подсказать способ его расшифровки даже в случае отсутствия каких-либо сведений об использованном алгоритме шифрования. Например, предположим, что в руки исследователя попали незашифрованный и зашифрованный неизвестным ему способом пароли. Если длины зашифрованного и незашифрованного паролей совпадают, то можно предположить, что входные данные алгоритма и результат его работы связаны отношением 1: 1. Можно попробовать, подавая на вход алгоритма символы, получить для них зашифрованный эквивалент. В крайнем случае можно узнать количество символов в неизвестном пароле, если планируется взломать его методом «грубой силы».

Зная, что при шифровании длина текста не изменяется, можно воспользоваться этим для выбора части шифротекста, которую можно расшифровать на основании тех или иных предположений. Например, во время Второй мировой войны союзники использовали похожий способ разгадки попавшего в их руки кода немецкой шифровальной машинки Enigma, потому что знали, что, вероятнее всего, фраза «Heil Hitler» встретится в конце каждого зашифрованного текста.

Анализ сходства зашифрованного и открытого текстов

Анализ сходства зашифрованного и открытого текстов (Similar Plaintext Analysis), применяемый для взлома неизвестных алгоритмов, основан на анализе изменений зашифрованного сообщения в зависимости от изменений открытого текста. Конечно, для этого необходимо, чтобы у исследователя была возможность выборочного шифрования тщательно подобранных образцов открытого текста. Например, пусть он зашифровал строки «AAAAAA», «AAAAAB» и «BAAAAA» и проанализировал различия в зашифрованных текстах. В случае моноалфавитного шифра естественно было бы ожидать, что первые две строки различаются только последним символом. Если это так, то несложно построить таблицу трансляции символов в соответствии с исследуемым алгоритмом, которая отражала бы соответствие между символами открытого и зашифрованного текстов и наоборот. После того как таблица была бы готова, не составило бы труда написать программу расшифровки зашифрованного текста.

Что делать в случае полиалфавитного шифра, когда при изменении одного символа незашифрованного сообщения

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

Моноалфавитные шифры

Моноалфавитный шифр – это шифр, в котором каждый символ алфавита заменяется другим символом в отношении 1: 1. Ранее рассмотренные в главе шифры Цезаря и ROT13 – классические примеры моноалфавитных шифров. Некоторые моноалфавитные шифры скремблируют алфавит (шифруют путем перестановки групп символов), изменяя порядок букв в алфавите ABCDEFGHIJKLMNO PQRSTUVWXYZ на MLNKBJVHCGXFZDSAPQOWIEURYT. Другими словами, новый алфавит, используемый для шифрования сообщений, получают из старого путем замены букв M = A, L = B…T = Z. При использовании этого метода вместо сообщения «SECRET» получают «OBNQBW».

Из-за легкости взлома сегодня редко можно встретить подобный шифр. Такие шифры раскрываются перебором всевозможных комбинаций букв алфавита или использованием лингвистического анализа (language analysis). Моноалфавитные шифры легко поддаются частотному анализу, благодаря тому что, несмотря на замену одних букв другими, частота появления каждого символа в сообщении будет соответствовать известной частоте использования букв в языке.

Другие способы скрытия информации

Иногда разработчики следуют древнему способу обеспечения безопасности – тотальной секретности. И вместо применения испытанных криптографических алгоритмов они пытаются скрыть данные при помощи хорошо известных обратимых алгоритмов, как, например, UUEncode, Base64 или комбинации каких-нибудь простых методов. В этом случае все, что нужно для расшифровки, – это повторно преобразовать зашифрованное сообщение при помощи алгоритма, ранее использованного для его зашифровки. Часть разработчиков пользуется кодировкой данных при помощи операции исключающего ИЛИ (XOR) вместо применения криптографических алгоритмов с ключом. Для кодировки сообщения ключ не нужен. Ниже рассмотрены некоторые широко известные алгоритмы кодирования.

XOR

В качестве промежуточного шага многие сложные и безопасные алгоритмы шифрования используют операцию XOR. Часто можно встретить данные, которые пытались скрыть операцией XOR. XOR – сокращение от английских слов ИСКЛЮЧАЮЩЕЕ ИЛИ (exclusive or). ИСКЛЮЧАЮЩЕЕ ИЛИ – логическая операция, таблица истинности которой представлена в табл. 6.2. Операция выполняется на битах A и B. Результат операции равен 0 только в том случае, если оба бита одинаковы. В противном случае результат равен 1.

Таблица 6.2.

Таблица истинности операции XOR

Посмотрите на простой пример кодировки и восстановления данных с помощью операции XOR. В примере используется один ключевой символ («A») для преобразования сообщения, состоящего из единственного символа («B»). В результате получится зашифрованное сообщение «ciphertext» (см. табл. 6.3).

Таблица 6.3.

Операция XOR над «А» и «В»

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

Жребий некроманта 2

Решетов Евгений Валерьевич
2. Жребий некроманта
Фантастика:
боевая фантастика
6.87
рейтинг книги
Жребий некроманта 2

Предатель. Вернуть любимую

Дали Мила
4. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Предатель. Вернуть любимую

Бывший муж

Рузанова Ольга
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Бывший муж

Мама для дракончика или Жена к вылуплению

Максонова Мария
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Мама для дракончика или Жена к вылуплению

Жандарм 5

Семин Никита
5. Жандарм
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Жандарм 5

Менталист. Эмансипация

Еслер Андрей
1. Выиграть у времени
Фантастика:
альтернативная история
7.52
рейтинг книги
Менталист. Эмансипация

Кодекс Охотника. Книга XXIV

Винокуров Юрий
24. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XXIV

Лорд Системы 14

Токсик Саша
14. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Лорд Системы 14

Смерть может танцевать 4

Вальтер Макс
4. Безликий
Фантастика:
боевая фантастика
5.85
рейтинг книги
Смерть может танцевать 4

Идеальный мир для Лекаря 2

Сапфир Олег
2. Лекарь
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 2

Черный Маг Императора 8

Герда Александр
8. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 8

Не отпускаю

Шагаева Наталья
Любовные романы:
современные любовные романы
эро литература
8.44
рейтинг книги
Не отпускаю

Идеальный мир для Лекаря 8

Сапфир Олег
8. Лекарь
Фантастика:
юмористическое фэнтези
аниме
7.00
рейтинг книги
Идеальный мир для Лекаря 8

Темный Патриарх Светлого Рода 3

Лисицин Евгений
3. Темный Патриарх Светлого Рода
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Темный Патриарх Светлого Рода 3