Go Back   Armenian Knowledge Base > Technical sections > Languages, Compilers, Interpreters > Algorithms

Reply
 
Thread Tools

Дешифровка Zip-архива
Old 22.12.2008, 13:31   #1
Moderator
 
acid's Avatar
 
Join Date: 09 2001
Location: South Korea, Gumi
Posts: 7,699
Blog Entries: 16
Rep Power: 7
Default Дешифровка Zip-архива

Процедура дешифрует файл зашифрованный архиватором zip. Следует заметить, что zip добавляет к каждому зашифрованному файлу заголовок шифровки состоящий из 12 байт, который представляет из себя набор случайных байт. Известно что последние два байта данного заголовка ни что иное как старшее слово контрольной суммы незашифрованного файла.
Структурно процедура состоит из четырех частей. Первая часть, имеет вспомогательное значение, в ней создается CRC-таблица, используемая в дальнейшем для преобразования ключей дешифрации, а так же непосредственно инициализируются три 32-байтных ключа. Во второй части ключи преобразуются, используя пароль. В третий части происходит преобразование ключей с одновременной расшифровкой 12-байтного заголовка файла, на этом этапе можно осуществить проверку пароля, если известна контрольная сумма дешифруемого файла (zip хранит ее в незакодированном виде). И наконец последняя, четвертая часть в которой происходит непосредственно побайтная дешифрация данных, при этом дешифрованный байт замещает соответстующий байт в исходном массиве.
На вход процедуры подаются следующие данные: n - длина пароля, P - массив содержащий пароль, buffer - 12-байтный заголовок, m - длина дешифруемого массива, stream - массив байт, который необходимо расшифровать. На выходе получаем расшифрованные данные в массиве stream при этом размер массива остается тем же m.
Как и при шифровке Blowfish-ем следует понимать, что не смотря на то, что алгоритм можно использовать без каких-либо изменений, скорость его работы может быть существенно оптимизирована при непосредственном кодировании на одном из языков программирования. Но я не ставлю себе такую задачу, и представляю этот алгоритм только в образовательных целях, конкретную же реализацию как и в большинстве случаев оставляя Вам.



alglib.sources.ru

Old 23.12.2008, 00:44   #2
Скромный ученый
 
Professor's Avatar
 
Join Date: 06 2006
Location: В мягком удобном кресле...
Age: 52
Posts: 7,376
Rep Power: 7
Default

А для RAR-а?

Old 23.12.2008, 03:04   #3
Moderator
 
acid's Avatar
 
Join Date: 09 2001
Location: South Korea, Gumi
Posts: 7,699
Blog Entries: 16
Rep Power: 7
Default

Для RAR-a могу сейчас только посоветовать исходники.
http://www.rarlab.com/rar/unrarsrc-3.1.2.tar.gz
Reply

Tags
algorithm, rar, sources, zip




Реклама:
реклама

All times are GMT. The time now is 12:22.
Top

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.