View Single Post
Old 05-17-2008, 06:55 PM   #27
delphidb96
Wizard
delphidb96 ought to be getting tired of karma fortunes by now.delphidb96 ought to be getting tired of karma fortunes by now.delphidb96 ought to be getting tired of karma fortunes by now.delphidb96 ought to be getting tired of karma fortunes by now.delphidb96 ought to be getting tired of karma fortunes by now.delphidb96 ought to be getting tired of karma fortunes by now.delphidb96 ought to be getting tired of karma fortunes by now.delphidb96 ought to be getting tired of karma fortunes by now.delphidb96 ought to be getting tired of karma fortunes by now.delphidb96 ought to be getting tired of karma fortunes by now.delphidb96 ought to be getting tired of karma fortunes by now.
 
Posts: 2,999
Karma: 300001
Join Date: Jan 2007
Location: Citrus Heights, California
Device: TWO Kindle 2s, one each Bookeen Cybook Gen3, Sony PRS-500, Axim X51V
Quote:
Originally Posted by Gudy View Post
Not necessarily. One way to achieve this would be a two-step process where you encrypt each book with a key unique to that book, then encrypt the key needed to decrypt the book with the PID. If the mobipocket format has a fixed place to store the decryption key four times for each of the four PIDs allowed, the size doesn't need to change.

If you assume a 2048 bit key for encrypting/decrypting the book, then storing four encrypted versions of that key takes 1 kB, which isn't that much.

I don't know if this is what happens, but IIRC, this is how gnupg works if you encrypt an email for multiple recipients (except that gnupg doesn't have a fixed number of "slots", so each additional recipient you encrypt the message for enlarges the whole thing by a couple hundred bytes).
There's a 16-byte primary key (the same across all Secure Mobipocket ebooks) and a 10-byte PID key. That gives 128 bits in the hidden key and 80 bits in the PID key. I suppose you should study how the various decryption python scripts handle it all.

Derek
delphidb96 is offline   Reply With Quote