[Cryptography] Is there a good algorithm providing both compression and encryption at the same time?

Tom Mitchell mitch at niftyegg.com
Sat May 9 21:40:47 EDT 2015


On Sat, May 9, 2015 at 4:58 AM, Francois BERENGER <
francois.berenger.fun at gmail.com> wrote:

> On Wed, May 6, 2015 at 11:06 PM, Lars Luthman <mail at larsluthman.net>
> wrote:
>
>> On Wed, 2015-05-06 at 10:15 +0200, Francois BERENGER wrote:
>> > I was thinking about something along those lines:
>> >
>> > compression(clear_text) = (compression_dictionary, compressed_text)
>
>

> ....
>> Wouldn't such an algorithm suffer from the same problem as using a block
>> cipher in ECB mode?
>
>
> For performance reasons, I think I will use a block cypher in counter mode.
> I need an encryption mode that can parallelize.
>

Parallel....?

That implies a single large message or stream or perhaps critical low
latency needs.
Multiple messages are by their multiple nature easy to parallelize and
pipeline.

Designing something that is fast because it is amenable to parallel
processing has the
risk of enabling parallel processing attacks for decryption.   If the
design is not
constrained the other guy might have a deeper hardware budget.

Compilers are important tools for parallel compiling.
http://www.pgroup.com/products/freepgi/freepgi_ref/ch01.html
http://en.wikipedia.org/wiki/Automatic_parallelization
Grad students in Illinois for decades worked on KAI compiler tools.
http://www.intel.com/pressroom/archive/releases/2000/cn040600.htm
So look into the advanced compiler offerings from Intel.

Some of the best optimizations are still done by modern Fortran compilers
so code in FORTRAN, C, C++ and compare and contrast the results.
A number of older compiler manuals can be informative:
http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi/0650/bks/SGI_Developer/books/MproCplrDbx_TG/sgi_html/ch04.html
The MIPSpro compiler has been reincarnated as the Pathscale compiler and has
much of the same technology.  The -keep flag keeps intermediate temp files
that also have "love notes"
that can often describe why an optimization was impossible.  These can be
used to clarify code
so the compiler can do more.  The AMD compiler is another fork of MIPSpro
from China?

The llvm compiler is giving gcc serious competition.   They are both
improving as a result.

Then there are GPUs once the data motion problems are sorted good things
are possible.
Portability is a risk with GPU hardware.

Have fun and leave some cycles for the OS to operate.








-- 
  T o m    M i t c h e l l
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.metzdowd.com/pipermail/cryptography/attachments/20150509/76d6e307/attachment.html>


More information about the cryptography mailing list