MuPDF и Foxit делают ключи AES-256, которые ломаются перебором за миллисекунды
В MuPDF до 1.28.5 drand48 сеется временем в секундах, а из-за константы 0x330e в младших битах итоговый AES-256-ключ зависит от девяти бит таймстампа: разница в 512 секунд даёт один и тот же поток байтов. Foxit PDF Reader 2026.1.3.36551 делает ключ как SHA-256(time || 32 нулевых байта || "there"). Перебор 512 ключей на чистом Python занимает около 11 мс и открывает PDF без пароля.