<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, May 6, 2015 at 1:15 AM, Francois BERENGER <span dir="ltr"><<a href="mailto:francois.berenger.fun@gmail.com" target="_blank">francois.berenger.fun@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div>Dear list,<br><br></div>While programming an open source distributed system, I discovered<br></div>it could be interesting for the system to use a well established algorithm<br></div>that can do these two things at the same time (for performance reasons).<br><br></div>I was thinking about something along those lines:<br><br></div></div>compression(clear_text) = (compression_dictionary, compressed_text)<br><br></div>then, instead of encrypting the whole resulting pair (to save some time), we would send over the wire<br><br></div>(symmetric_encrypt(compression_dictionary, secret_key), compressed_text)<br><br></div><div>Of course, I would like that the compressed_text cannot be uncompressed<br></div><div>by someone who doesn't have access to the compression dictionary.<br></div><div><br></div>I would be interested in scientific articles or any interesting pointer.<br><br></div>Thanks a lot,<br></div>Francois.<br></div></blockquote><div><br></div><div>This simple use case, where compressed_text is generated with something like bzip2 is clever, and might be useful for cases where performance is more important than having uncrackable encryption.  However, for cases needing strong encryption, this wont be good enough.  For example, if my cleartext is a compressed and bzip2-ed tar archive, then the compressor most likely wont be able to compress it further, and most if not all of the cleartext will be passed along without any change.</div><div><br></div><div>I assume what you're interested in special compression techniques where the compressed data is indistinguishable from random without the dictionary.  This would have to be a compressor that randomizes the input cryptographically well.  The dictionary would effectively become the key in this combined encryption/compression algorithm.  In some sense, the compression already begins the process of randomizing the data, at least for most compressible data, and therefore there should be less work required to achieve cryptograhic levels of apparent randomness.  Sounds good to me, but hard :-)  The two problems independently are already some of the most challenging that we face.</div><div><br></div><div>Bill <br></div></div></div></div>