Какова максимальная длина RAR пароля для восстановления в AccentRPR?
Максимальная длина пароля в Passcovery – 28 символов для RAR3/4 и 64 символа для RAR5. Ограничение RAR3/4 связано с особенностями использования внутреннего буфера SHA-1 (блок памяти, хранящий промежуточное состояние хэша) и изменением исходных данных при формировании ключа шифрования, что делает GPU-реализацию длинных паролей сложно выполнимой.
Почему 28 символов для RAR3/4
Алгоритм KDF (функция формирования ключа – алгоритм, который преобразует пароль в криптографический ключ) удваивает ASCII-символы пароля в UTF-16LE и
выполняет от тысяч до миллионов вызовов sha1_block (блок SHA-1, который обрабатывает 64 байта и выполняет 80 раундов компрессии). Количество
итераций зависит от длины пароля. При пароле длиннее 28 символов внутренний 64-байтовый буфер ведёт себя иначе и изменяет исходные данные (пароль в
UTF16 плюс 8-ми байтная соль). С этого момента нужно учитывать не только исходные данные от пароля, но и изменения в буфере. Это же увеличивает
количество блоков SHA-1 и суммарное число итераций (compress-rounds SHA-1 – количество повторов шага сжатия в алгоритме SHA-1). На GPU такая ситуация
требует полной переработки ядра и значительных ресурсов, что резко увеличивает сложность реализации и при этом снижает эффективность перебора.
То есть, с ростом длины пароля, растёт и объём вычислений, что также замедляет скорость перебора паролей. Формула зависимости вычислительной нагрузки от длины пароля L (Xidian University, arXiv:1505.07635):
sha1_block_calls = 4096 × (2L + 11)
SHA-1 rounds = 80 × sha1_block_calls
| Длина | SHA-1 раундов | Нагрузка/Падение скорости перебора |
|---|---|---|
| 4 символа | ~6,2 млн | ×1 (baseline) |
| 10 символов | ~10 млн | ×1,6 |
| 28 символов | ~22 млн | ×3,5 |
Рост длины пароля напрямую увеличивает нагрузку на GPU. Чтобы двигать миллионы вызовов sha1_block, ядрам нужна одновременно высокая занятость
варпа (доля потоков, работающих параллельно) и хорошая пропускная способность памяти. Если эти параметры сбалансированы, система работает ровно. Но чем
длиннее пароль, тем сложнее удерживать баланс, и эффективность постепенно падает: с ~6 200 000 раундов для 4 символов до ~22 000 000 раундов для 28 символов.
Поведение буфера в разных версиях WinRAR
В RAR 2.9 внутренний SHA-1 буфер мог изменяться во время KDF для длинных паролей. Это приводит к непредсказуемым результатам на GPU.
В WinRAR 3.6 эту особенность поправили: буфер стал детерминированным (внутреннее состояние не меняется неожиданно), а новые архивы маркировались
version need to extract = 3.6 для сохранения обратной совместимости. Но с выходом WinRAR 5 старая логика фактически вернулась.
В итоге для паролей длиннее 28 символов существуют три варианта поведения KDF:
- Логика WinRAR 2.9 (оригинальная)
- Исправленный вариант WinRAR 3.6-5
- Отдельный (редкий) вариант для big-endian процессоров (с обратным порядком байт)
Такая вот техническая особенность, а не ошибка формата. Или нет? 😉
Аналогия: почему 28 символов – это потолок
Представьте лифт на 8 человек. Шестеро зашли – двери закрылись, поехали. Быстро, просто, один рейс.
А теперь нужно поднять 20 человек. Три рейса минимум. Но это не просто "в три раза дольше". Кто-то ждёт внизу, кто-то вверху, кто-то держит двери, лифт напрягается, очередь путается. Каждый лишний человек добавляет не секунды, а хаос.
Внутренний буфер SHA-1 у RAR3/4 работает как этот лифт. Короткий пароль (до 28 символов в UTF-16) умещается целиком и система делает один "рейс". Длинный пароль "ломает" буфер. Теперь алгоритм вынужден дробить данные, запоминать промежуточные состояния, делать дополнительные вычисления. GPU-ядра, заточенные под параллельную работу, начинают спотыкаться: одни потоки ждут, другие простаивают.
Итог: не "чуть медленнее", а принципиально другая, сложная задача. Поэтому мы в Passcovery остановились на 28 символах – это граница, где лифт гарантированно и максимально эффективно справляется за один рейс.
RAR5: устранение ограничений буфера
RAR5 использует PBKDF2 + HMAC-SHA-256 вместо SHA-1. PBKDF2 (Password-Based Key Derivation Function 2) – это функция-индустриальный стандарт, которая превращает пароль в криптографический ключ и делает это безопаснее, чем старый SHA-1. Буферные проблемы, из-за которых в RAR3/4 длинные пароли сложно обрабатывать на GPU, исчезают. Криптография стала сильнее, скорость перебора упала, но стала стабильной.
Бонусом стабильной скорости стала её линейная зависимость от мощности железа: увеличение мощности GPU на 10% даёт рост скорости примерно на 10%, +50% мощности – ~+50% скорости и так далее. В RAR3/4 скорость зависела от длины нелинейно: чем длиннее пароль, тем сильнее падала эффективность.
| Параметр | RAR3/RAR4 | RAR5 |
|---|---|---|
| KDF | SHA-1 (218 итераций) | PBKDF2 + HMAC-SHA-256 |
| Макс. длина | 28 символов | 64 символа |
| Масштабируемость | Нелинейная | Линейная |
| Криптостойкость | Умеренная | Высокая |
Вывод: выбор между RAR3/4 и RAR5 – это компромисс между совместимостью с историческими архивами и удобством работы с длинными паролями. RAR5 проще для современных длинных паролей, а RAR3/4 остаётся актуальным для старых архивов.
Когда восстановление реально
Accent RAR Password Recovery и Passcovery Suite восстанавливают короткие пароли перебором и длинные – через маски и словари с мутациями, что позволяет работать с любыми длинами при условии, что о пароле что-то известно. Для RAR простая brute-force атака эффективна до 5–6 случайных символов для, дальше комбинаций слишком много. Если задействовать маску, позиционную маску или словари с мутациями, программы увеличивают шансы на успех без резкого падения эффективности. Ограничение 28 символов связано только с внутренними особенностями KDF в RAR3/RAR4, а не с длиной словарей или масок.
Перед тем как начинать перебор, задайте себе три простых вопроса, чтобы понять шансы:
- Помните хотя бы часть пароля или структуру? Даже пара символов уже помогает. Это атака по расширенной маске
- Использовали обычные слова или повторяющиеся паттерны? Например, "qwerty123". Это атака по словарю
- Есть список типичных паролей того времени? Это ускоряет поиск. Это уже атака по словарю с мутациями
Если на все вопросы ответ "нет" и пароль длинный и случайный – шанс очень маленький. Например, случайный 7-символьный пароль из 96 символов создаёт ~75 935 745 156 192 комбинаций. Даже на быстрых GPU придётся перебирать годы, чтобы проверить весь диапазон.
Денис Гладыш, Руководитель Passcovery: Пользователи часто тратят недели на перебор без шансов. Если математика против вас, альтернативные источники данных дают больше результата, чем "магический" подбор в ожидании чуда.
Поддержка RAR в Accent RAR Password Recovery
AccentRPR и Passcovery Suite поддерживают все версии формата RAR, используют GPU-ускорение на видеокартах NVIDIA/AMD/Intel и сразу показывают версию архива и ограничения длины пароля при его загрузке. Это позволяет заранее оценить тип KDF (RAR3/4 или RAR5) и доступные сценарии восстановления.
Наши инструменты оптимизированы под высокую скорость перебора на CPU и GPU и включают три базовых атаки (bruteforce, маска, словарь) и их расширенные версии: позиционную маску, объединение и мутацию словарей; а также сценарии атак для сложных случаев.
Программы Пасковери для работы с RAR
Accent RAR Password Recovery
для RAR3/RAR4/RAR5 архивов (WinRAR 2.9-7.x)
Passcovery Suite
для архивов RAR и MS Office/OpenOffice, Adobe PDF, Zip, бэкапов Apple iOS, TrueCrypt, рукопожатий WPA/WPA2
Инженерные нюансы KDF в RAR3/4
KDF преобразует пароль в UTF-16LE (каждый ASCII-символ удваивается). SHA-1 блок – 64 байта, 80 раундов компрессии. Количество вызовов sha1_block:
sha1_block_calls = 4096 × (2L + 11)
- 4 символа → 77,824 вызова
- 28 символов → 274,432 вызова
При длине >28 символов внутренний блок ведёт себя иначе: структура KDF меняется, GPU-ядро требует переработки kernel, больше регистров (warp occupancy падает), большие буфера (memory bandwidth) становятся узким местом. Сложность и низкая эффективность ограничивают длину 28 символов.
Частые вопросы о восстановлении паролей
Восстановление пароля WinRAR – это последовательный перебор вариантов, поскольку формат RAR использует надёжное шифрование, и прямого способа извлечь пароль не существует. Для архивов RAR3/RAR5 единственный технически возможный путь – перебор паролей по диапазону или по словарям.
Формат RAR применяет криптографию AES-256 без известных уязвимостей. Программы не получают "пароль напрямую": они перебирают возможные варианты и проверяют соответствие контрольным данным архива. Чем длиннее и сложнее пароль, тем медленнее поиск.
Современный подход к восстановлению пароля включает три основных метода:
- полный перебор (brute force) по заданному диапазону символов;
- масочный перебор (mask attack), если известно хоть что-то о структуре пароля – например, первая буква заглавная или пароль заканчивается цифрами;
- словари и словарные мутации – перебор наиболее вероятных комбинаций, построенных на основе слов, их вариаций и замен символов.
Практический алгоритм такой: если пароль основан на словах или содержит запоминающиеся элементы, лучше начинать со словарной атаки с мутациями – заменой букв на похожие символы, добавлением цифр, изменением регистра. Если данных нет, применяйте маски и ограничивайте диапазоны символов, чтобы уменьшить пространство поиска.
Трюки по ускорению поиска:
- используйте позиционные маски – задавайте конкретные диапазоны символов для разных частей пароля;
- включайте GPU-ускорение (NVIDIA/AMD/Intel Arc) – это существенно повышает скорость перебора по сравнению с CPU;
- объединяйте словари и применяйте мутации – создавайте расширенные списки возможных комбинаций.
Важно понимать ограничения: даже при оптимальных методах и мощном оборудовании длинный и сложный пароль с высокой энтропией может оказаться практически неперебираемым за разумный срок. Никаких "магических способов" (редактирование байтов файлов, скрытые лазейки, хакерские эксплойты) для RAR-шифрования не существует.
Если пароль найти не удалось, полезно вспомнить любые признаки его структуры – длину, используемые слова, наличие цифр или спецсимволов. Эти подсказки помогут построить маски и пользовательские словари, которые существенно повышают шансы успешного восстановления.