Уметь идентифицировать сжатые и зашифрованные файлы
Использовать несколько алгоритмов для определения типа файла
Использовать статистические данные
Использовать статистические тесты случайности
Кси-распределение
Монте-Карло
Энтропия данных может рассказать нам многое о содержании данных
Но не все алгоритмы сжатия одинаковы, и некоторые сжатые данные могут быть очень трудно визуально отличить от зашифрованных данных
Показывает отклонение наблюдаемых результатов от ожидаемых результатов Существенные отклонения от ожидаемых значений действительно случайных данных указывают на отсутствие случайности
Используется для аппроксимации значения pi из заданного набора случайных (x, y) координат Очень точные pi-аппроксимации указывают на очень случайный набор точек данных
Применение этих тестов к образцу файлов с различными алгоритмами сжатия, шифрования показало следующие корреляции:
Большие отклонения в распределении хи-квадрат или большие проценты погрешности в приближении Монте-Карло являются уверенными признаками сжатия
Очень точные вычисления pi (погрешность 0,01%) являются достоверными признаками шифрования
Нижние значения chi (<300) с более высокой ошибкой pi (> 0,03%) указывают на сжатие
Более высокие значения chi (> 300) с более низкими ошибками pi (<0,03%) указывают на шифрование
Например, здесь приведено сравнение одного и того же файла 24 МБ после ввода алгоритмов AES, 3DES, gzip и lzma:
$ gcc ent.c chisq.c randtest.c iso8859.c -o ent
$ ./ent «file»