You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Adam Nichols (JIRA)" <ji...@apache.org> on 2010/10/11 23:07:36 UTC
[jira] Updated: (PDFBOX-99) Indexed color images have wrong colors
after encryption
[ https://issues.apache.org/jira/browse/PDFBOX-99?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Adam Nichols updated PDFBOX-99:
-------------------------------
Attachment: bitmaptest.pdf
result.pdf
Downloaded files from sourceforge and uploaded them here to ensure they will not be lost. I'll be working on this issue and this is a great example document to work with.
> Indexed color images have wrong colors after encryption
> -------------------------------------------------------
>
> Key: PDFBOX-99
> URL: https://issues.apache.org/jira/browse/PDFBOX-99
> Project: PDFBox
> Issue Type: Bug
> Components: PDModel
> Attachments: bitmaptest.pdf, result.pdf
>
>
> [imported from SourceForge]
> http://sourceforge.net/tracker/index.php?group_id=78314&atid=552832&aid=1323753
> Originally submitted by loppermann on 2005-10-11 04:27.
> When a PDF including an index-color image is encrypted,
> the colors get mixed up. The pallette seems to remain
> intact, but the colors of the pixels are wrong.
> Test code: (bitmaptest.pdf is attached)
> package pdfboxtest;
> import org.pdfbox.pdmodel.PDDocument;
> import org.pdfbox.pdmodel.encryption.*;
> import java.io.*;
> public class Main {
> public static void main(String[] args) {
> try {
> PDStandardEncryption enc = new
> PDStandardEncryption();
>
> enc.setVersion(PDEncryptionDictionary.VERSION2_VARIABLE_LENGTH_ALGORITHM);
>
> enc.setRevision(PDStandardEncryption.REVISION3);
> enc.setLength(128);
> PDDocument doc =
> PDDocument.load("bitmaptest.pdf");
> doc.setEncryptionDictionary(enc);
> doc.encrypt("owner", "");
> doc.save("result.pdf");
> doc.close();
> } catch (Exception e) {
> e.printStackTrace();
> }
> }
> }
> [attachment on SourceForge]
> http://sourceforge.net/tracker/download.php?group_id=78314&atid=552832&aid=1323753&file_id=152105
> bitmaptest.pdf (application/pdf), 14049 bytes
> pdf containg an indexed color image
> [attachment on SourceForge]
> http://sourceforge.net/tracker/download.php?group_id=78314&atid=552832&aid=1323753&file_id=152106
> result.pdf (application/pdf), 13927 bytes
> result.pdf file with messed up colors
> [attachment on SourceForge]
> http://sourceforge.net/tracker/download.php?group_id=78314&atid=552832&aid=1323753&file_id=152108
> Main.java (application/octet-stream), 743 bytes
> test case source
> [comment on SourceForge]
> Originally sent by loppermann.
> Logged In: YES
> user_id=1359988
> I haven't found anything about exceptions for strings in the
> spec. On the otherhand, acrobar reader as well as pdfbox
> clearly seem not to decrypt the palette string.
> I am not an expert at cryptography, but I imagine, that this
> could have the following reason:
> Since palettes are often known (windows standard palette,
> web-palette etc.) encrypting them, might give an attacker a
> reasonable guess at what the cleartext of the encrypted
> string should look like. Hence, if he was able to use a
> clear-text attack against the palette string he could use
> the extracted key for all other streams in the file.
> Since the a palette does not include very sensitive
> information by itself, it might be a more secure choice to
> not encrypt it at all, in order to protect from such
> clear-text attacks.
> [comment on SourceForge]
> Originally sent by benlitchfield.
> Logged In: YES
> user_id=601708
> strings should be encrypted, but there are some exceptions.
> thanks for looking further into this for me. I will check with
> the PDF reference to see if it says anything. the exceptions
> are usually security related so I would be surprised if it was
> not suppose to encrypted, there it might be something related.
> Ben
> [comment on SourceForge]
> Originally sent by loppermann.
> Logged In: YES
> user_id=1359988
> ok, if all strings are not encrypted, Docuemnt information
> will get messed up, i.e. it will be encrypted during
> decryption :)
> [comment on SourceForge]
> Originally sent by loppermann.
> Logged In: YES
> user_id=1359988
> my observation of the palatte staying intact seems to be
> wrong. after some more testing and debugging, I see, that
> the palette seems to get encrypted, which I think it should
> not be. Due to the symmetric nature of RC4, encrypting,
> decrypting and encrypting again will yield the right
> palette. So even PDFBox does not try to decypt the palette
> string it has encrypted when opening and decrypting the PDF.
> When I disable the encryption of Strings in the PDFWriter,
> everything seems to work fine. I haven't found this in the
> spec yet, with which I'm not so familiar. I will keep
> looking though.
> So if in fact strings should not be encrypted (and the fact
> that they are not decrypted seems to imply this), the fix is
> simply to take out the encryption of strings in PDFWriter.
> [comment on SourceForge]
> Originally sent by loppermann.
> Logged In: YES
> user_id=1359988
> attached test case
> [comment on SourceForge]
> Originally sent by loppermann.
> Logged In: YES
> user_id=1359988
> attached result.pdf file with messed up colors
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.