2016-07-12 39 views
4

私はPDF Securityを使用しており、AES 256-bit encryption algoを使用してユーザーと所有者のパスワードを暗号化しようとしています。pdfファイルのAES 256ビット暗号化

これらのキーはPDFで書かれていますが、正しく動作していないようです(cryptoライブラリを使用しています)。 (Acrobatはファイルを開きません)

私はpdfファイルの暗号化を行うiTextSharpを調べました。今私はそのファイルを解読して、どのようにしてiTextSharpがそれをやったのかというアイデアを得たいと思っています。しかし、残念ながら私はそうするための道具は見つけられませんでした。 iTextSharpを使用して暗号化されたファイルは、Adobe Acrobatに正しく開きます。

+2

私はパスワードが "暗号化されていない"ことを確信していますが、代わりに "ストレッチ"されています。また、キーを辞書に書き込むことはプロセスのほんの一部であり、実際には暗号化する必要もあります。このプロセスに興味がある場合は、[iTextのソースをダウンロードする](https://github.com/itext/itext7-dotnet/)ができます。 'itext/kernel/pdf/PdfReader.cs'と' itext/kernel/pdf/PdfEncryption.cs'で始まります。 –

+2

「暗号化がうまくいかず、何が問題なのか」と言っても過言ではありません。詳細についてもっと聞く必要があります。私たちはまた、あなたの実装で何をしたのかを知る必要があります。 PDF暗号化では、MD5を使用してパスワードをダイジェストし、RC4でドキュメントを暗号化することを思い出しています。 「Adobe PDF Reference Archives」(http://www.adobe.com/jp/devnet/pdf/pdf_reference_archive.html)のPDFリファレンスのいずれかを参照してください。たとえば、[Adobe Portable Document Format Version 1.4](http://www.iobe.co.jp/content/dam/Adobe/en/devnet/pdf/pdfs/pdf_reference_archives/PDFReference.pdf)を参照してください。 – jww

答えて

0

キーを暗号化する際には、stringprep(IETF RFC 3454)のSASLprep (IETF RFC 4013)プロファイルを使用する必要があります。私が追加したいのはlibです。ICUはSASLprep(IETF RFC 4013)プロファイルを簡単に生成できます。

関連する問題