Skip to content

DespiteDeath/entropy-research

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Entropy-Research

Цель:

Уметь идентифицировать сжатые и зашифрованные файлы

Техника:

Использовать несколько алгоритмов для определения типа файла
Использовать статистические данные
Использовать статистические тесты случайности

Алгоритмы:

Кси-распределение 
Монте-Карло

Методы:

Энтропия данных может рассказать нам многое о содержании данных

Но не все алгоритмы сжатия одинаковы, и некоторые сжатые данные могут быть очень трудно визуально отличить от зашифрованных данных

Кси-распределение:

Показывает отклонение наблюдаемых результатов от ожидаемых результатов Существенные отклонения от ожидаемых значений действительно случайных данных указывают на отсутствие случайности

Монте-Карло:

Используется для аппроксимации значения pi из заданного набора случайных (x, y) координат Очень точные pi-аппроксимации указывают на очень случайный набор точек данных

Определение типа файла

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

Большие отклонения в распределении хи-квадрат или большие проценты погрешности в приближении Монте-Карло являются уверенными признаками сжатия

Очень точные вычисления pi (погрешность 0,01%) являются достоверными признаками шифрования

Нижние значения chi (<300) с более высокой ошибкой pi (> 0,03%) указывают на сжатие

Более высокие значения chi (> 300) с более низкими ошибками pi (<0,03%) указывают на шифрование

Например, здесь приведено сравнение одного и того же файла 24 МБ после ввода алгоритмов AES, 3DES, gzip и lzma:

Демо-расчет

Tutorial

$ gcc ent.c chisq.c randtest.c iso8859.c -o ent 
$ ./ent «file»

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages