2. Решение
Пред. |  | След.

## 2. Решение

Для начала немножко криптографической теории:

1. Шифрованные данные равномерно распределены по области определения, то есть каждый символ имеет максимальную энтропию;

2. «Сырые» и несжатые данные как правило избыточны, то есть их энтропия меньше максимально возможной.

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

### 2.1. MUST

«Универсальный Статистический Тест для Генераторов Случайных Чисел» Уэли Маурера (Ueli Maurer's Universal Statistical Test for Random Bit Generators), сокращённо MUST позволяет быстро измерить энтропию последовательного набора данных. Используемый алгоритм похож на алгоритм сжатия. В приложении приведён исходный код, позволяющий измерять энтропию последовательных кусков данных размером около четверти мегабайта.

### 2.2. Tcpdump

Ещё нам нужен способ сохранения информации, проходящей через интерфейс. Программа tcpdump(1) позволяет сделать это в случае, если Вы сконфигурировали своё ядро с поддержкой Пакетного Фильтра Беркли (Berkeley Packet Filter).

Команда

``tcpdump` -c 4000 -s 10000 -w `dumpfile.bin``

сохранит 4000 пакетов в файл `dumpfile.bin`. В данном примере объём записываемой информации в каждом пакете не может превышать 10,000 байтов.

Пред. |  | След.
Независимое исследование работы IPsec во FreeBSD | Начало | 3. Эксперимент

Этот, и другие документы, могут быть скачаны с http://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку <doc@FreeBSD.org>.