Хеш MD5 занимает 16 байт. Делаем глобальную базу данных в интернет хешей всех комбинаций из 160 байт.
Алгоритм сжатия:
Файл разбивается на блоки по 160 байт, для каждого вычисляется хеш и помещается в выходной файл.
Алгоритм распаковки:
Из файла читаются хеши и поиском в глобальной базе данных восстанавливаются блоки данных.
Прошу высказать ваше мнение о достоинствах, недостатках и возможных улучшениях алгоритма