Могу ли я взломать шифрование пароля Adobe PDF с помощью RC4/AES 128 бит?

Я зашифровал некоторые pdf-файлы с помощью iTextsharp lib и использовал AES 128 бит и длину ключа = 16 байт (защитить чтение). Может ли кто-нибудь сломать пароль или какое-то приложение может это сделать? Большое спасибо.


person The Bird    schedule 15.04.2012    source источник


Ответы (1)


Здесь вы можете установить 2 вида возможных «паролей»:

  • Прочитать пароль
  • Редактировать/изменить пароль

Использование «редактировать пароль» вообще небезопасно, потому что можно прочитать весь файл (даже не зная пароля, используя PdfReader.unethicalreading = true;), а затем создать новый незашифрованный:

using System.IO;
using iTextSharp.text.pdf;

namespace PdfDecryptorCore
{
    public class PasswordDecryptor
    {
        public string ReadPassword { set; get; }        
        public string PdfPath { set; get; }
        public string OutputPdf { set; get; }

        public void DecryptPdf()
        {
            PdfReader.unethicalreading = true;

            PdfReader reader;
            if(string.IsNullOrWhiteSpace(ReadPassword))
             reader = new PdfReader(PdfPath);
            else
                reader = new PdfReader(PdfPath, System.Text.Encoding.UTF8.GetBytes(ReadPassword));

            using (var stamper = new PdfStamper(reader, new FileStream(OutputPdf, FileMode.Create)))
            {
                stamper.Close();
            }
        }
    }
}
person VahidN    schedule 16.04.2012