Guide PDFUnlock
Шифрование PDF простыми словами: RC4, AES-128, AES-256
Техническое, но доступное объяснение того, как работает шифрование PDF — от устаревшего RC4-40 до современного AES-256. Поймите, почему одни PDF легко взломать, а другие — почти невозможно.
· Команда PDFUnlock
Каждый зашифрованный PDF использует один из четырёх алгоритмов шифрования, и алгоритм определяет почти всё в том, можно ли восстановить пароль. Это руководство объясняет каждый из них простым языком, с достаточным количеством технических деталей, чтобы понять, почему 25-летний PDF тривиально взламывается, а современный может быть невзламываемым.
Если вы просто хотите узнать, какое шифрование использует ваш PDF, загрузите его на PDFUnlock — анализ бесплатный и мгновенный.
Как работает шифрование PDF на высоком уровне
Когда вы устанавливаете пароль на PDF, приложение (обычно Adobe Acrobat) не просто «блокирует» файл. Оно преобразует всё содержимое документа с помощью математического шифра. Выбранный вами пароль становится ключом, обращающим это преобразование.
Спецификация PDF определяет словарь шифрования, хранящийся в заголовке файла. Этот словарь содержит идентификатор алгоритма, длину ключа, флаги разрешений и набор проверочных хэшей. Когда вы вводите пароль для открытия файла, программа PDF хэширует ваш ввод с использованием параметров из этого словаря и проверяет, совпадает ли результат с сохранённым хэшем. Если совпадает, программа выводит ключ дешифрования и расшифровывает документ.
Именно поэтому инструментам восстановления паролей не нужен полный PDF — им нужен только словарь шифрования (несколько сотен байт). Хэш, извлечённый из этого словаря, и есть то, против чего работают взломщики, такие как Hashcat.
RC4-40: устаревший шифр (Acrobat 2-4)
RC4-40 был первым алгоритмом шифрования, использовавшимся в файлах PDF, представленным в середине 1990-х. «40» относится к длине ключа: 40 бит.
Почему он слабый: 40-битный ключ означает около 1,1 триллиона возможных ключей. Звучит много, но современный GPU может тестировать более 20 миллиардов ключей в секунду. Всё пространство ключей можно исчерпать менее чем за минуту. Это означает, что любой PDF с RC4-40 может быть взломан независимо от сложности пароля — даже случайный 50-символьный пароль не выдержит, потому что эффективная безопасность ограничена 40-битным ключом, а не длиной пароля.
Как идентифицировать: PDF, созданные в Acrobat 2, 3 или 4 (примерно 1996-2001), по умолчанию используют RC4-40. Словарь шифрования показывает /V 1 и /Length 40. PDFUnlock сообщает о таких файлах как «RC4-40» с зелёным значком, указывающим на почти гарантированное восстановление.
Время восстановления: секунды или минуты. Показатель успеха фактически 100%.
RC4-128: расширенный ключ (Acrobat 5-8)
Acrobat 5 (выпущен в 2001) повысил длину ключа до 128 бит, сохранив потоковый шифр RC4. Пространство ключей выросло с 2^40 до 2^128 — числа настолько большого, что исчерпывающий поиск невозможен.
Почему он всё ещё уязвим: Хотя пространство ключей нельзя перебрать полностью, пароли, генерирующие эти ключи, выбираются человеком. Большинство людей используют словарные слова, имена, даты и предсказуемые шаблоны. Словарная атака, тестирующая 14 миллионов паролей из списка rockyou.txt — плюс распространённые правила, такие как добавление цифр, заглавных букв и замена символов — охватывает подавляющее большинство реальных паролей.
Скорость взлома: Хэширование RC4-128 относительно быстрое. NVIDIA L4 (наш производственный GPU) тестирует около 250-350 миллионов кандидатов в секунду против PDF с RC4-128 — примерно 1 миллиард кандидатов в час. Словарная атака с мутациями правил завершается за минуты для распространённых шаблонов.
Показатель успеха в PDFUnlock: ~45% на уровне Стандартный (1ч), ~65% на Глубоком, ~75% на Максимуме. Действительно случайные пароли длиннее 10 символов обычно безопасны.
AES-128: современный шифр (Acrobat 9)
Adobe Acrobat 9 (2008) заменил RC4 на AES (Advanced Encryption Standard) с 128-битными ключами. AES — блочный шифр, принципиально отличающийся от потокового RC4, и считается криптографически надёжным по современным меркам.
Что изменилось для взлома: Удивительно, но реализация AES-128 в hashcat на современных GPU NVIDIA фактически БЫСТРЕЕ, чем реализация RC4-128 — около 1,3-1,8 миллиарда кандидатов в секунду на L4. Это связано с тем, что AES имеет аппаратное ускорение (AES-NI на процессоре, выделенные тензорные блоки на GPU), а RC4 — нет.
Функция получения ключа из пароля имеет значение: Acrobat 9 использует более сложную схему получения ключа (на основе MD5 с 50 раундами RC4 для проверки пароля). Это медленнее на кандидата, чем чистый AES, но всё же намного быстрее современных функций хэширования паролей, таких как bcrypt или Argon2.
Показатель успеха в PDFUnlock: ~45% на уровне Стандартный (1ч), ~65% на Глубоком, ~75% на Максимуме. Словарные атаки остаются эффективными, потому что люди по-прежнему выбирают слабые пароли.
AES-256: максимальная безопасность (Acrobat 10+)
Acrobat X (2010) и все последующие версии используют AES-256 — самый сильный вариант в спецификации PDF. Получение ключа также значительно изменилось: Acrobat X использует SHA-256 с итеративным хэшированием, а Acrobat XI/DC ввёл ещё более затратную схему получения ключа.
Почему AES-256 действительно сложен: Acrobat X+ использует AES-256 с R=6 (шесть итеративных раундов SHA-256 для получения ключа). На NVIDIA L4 это ограничивает скорость взлома примерно 15 000-18 000 кандидатов в секунду — примерно в 20 000 раз медленнее, чем RC4-128. В 1-часовом бюджете мы можем протестировать только ~50 миллионов кандидатов против AES-256 vs ~1 миллиард против RC4-128.
Математика не лжёт: При 15 кХэш/с проверка полного словаря rockyou.txt из 14 миллионов слов занимает около 16 минут. Добавление распространённых правил мутаций (умножающих пространство поиска в 1000-10000 раз) увеличивает время до дней или недель. Полный перебор всех возможных 8-символьных паролей занял бы более 200 лет на одном GPU.
Показатель успеха в PDFUnlock: ~20% на уровне Стандартный, ~30% на Глубоком, ~38% на Максимуме. Восстановить можно только пароли, появляющиеся в распространённых словарях или использующие очень предсказуемые шаблоны. Действительно случайные пароли из 12+ символов практически невосстановимы с текущими технологиями.
Как проверить тип шифрования вашего PDF
Не нужно быть техническим экспертом, чтобы определить, какое шифрование использует ваш PDF. Вот несколько методов:
PDFUnlock (самый простой): Загрузите файл на pdfunlock.app. Страница анализа показывает точный тип шифрования, длину ключа и оценочный показатель успеха восстановления — всё бесплатно.
Adobe Acrobat Reader: Откройте PDF (если можете), перейдите в Файл > Свойства > Безопасность. Поле «Метод безопасности» показывает уровень шифрования.
Командная строка (qpdf): Выполните qpdf --show-encryption yourfile.pdf. Это отображает алгоритм, длину ключа и все флаги разрешений.
Что это значит для восстановления пароля
Тип шифрования определяет, является ли восстановление вероятным, возможным, но неопределённым, или практически невозможным:
| Шифрование | Длина ключа | Скорость (GPU L4) | Стандартный | Глубокий | Максимум |
|---|---|---|---|---|---|
| RC4-40 | 40-бит | ~2 ГХэш/с | ~100% | ~100% | ~100% |
| RC4-128 | 128-бит | ~300 МХэш/с | ~45% | ~65% | ~75% |
| AES-128 | 128-бит | ~1,5 ГХэш/с | ~45% | ~65% | ~75% |
| AES-256 R=6 | 256-бит | ~15 кХэш/с | ~20% | ~30% | ~38% |
Самый важный вывод: тип шифрования имеет гораздо большее значение, чем длина пароля для возможности восстановления. PDF с RC4-40 и 30-символьным паролем легче взломать, чем PDF с AES-256 и 6-символьным паролем, потому что пространство ключей RC4-40 достаточно мало для исчерпывающего поиска.
Заключение
Шифрование PDF претерпело значительные изменения за 30 лет. Если ваш заблокированный PDF старый (создан до 2008), восстановление весьма вероятно. Если он использует современный AES-256, успех зависит исключительно от силы пароля. Первый шаг — всегда проверить, с чем вы имеете дело — загрузите ваш PDF на PDFUnlock для бесплатного мгновенного анализа.