Параллельное дешифрование object stream

Зашифрованные AES-256 контейнеры /Type /ObjStm дешифруются параллельно на ограниченных worker-потоках; ключу шифрования файла не нужна деривация на объект, поэтому каждый контейнер — независимая чисто байтовая операция

THPDFObjStmDecodePool

Пул берёт шифртексты из очереди, дешифрует их на потоках числом до WorkerCount и возвращает результаты в порядке очереди; key material каждого запроса защитно копируется и затирается на любом пути выхода, сбои деградируют по контейнерам, а отмена помечает остаток очереди отменённым

THotPDF.ObjStmDecryptWorkers

Свойство выбирает число worker'ов (по умолчанию 1 — сохраняется последовательный путь). При числе worker'ов больше одного загрузчик type-2 предварительно дешифрует каждый уникальный AES-256 контейнер через пул до последовательного прохода декодирования и индексации, который потребляет открытые тексты в порядке документа; легаси-контейнеры RC4 и AES-128 выводят ключи на объект на самом инстансе и остаются на вызывающем потоке