A new release of Pcompress is now available from here: http://code.google.com/p/pcompress/downloads/list
I have added the following capabilities into this release:
- AES is better optimized using VPAES and AES-NI with CPU auto-detection. Since I had to support linking with older versions of OpenSSL I have copied the relevant implementation files into Pcompress repo.
- Added XSalsa20 from Dan Bernstein‘s NaCL library (SSE2 and reference code). It is extremely fast and has excellent security properties – as much as I could glean reading up on various articles and posts.
- Deduplication performance has been improved by 95% by optimizing the Rabin sliding window chunking algorithm and doubling the chunk hash-table size.
- From version 1.3 onwards Delta Compression now actually benefits overall compression ratio.
- All hashes have been parallelized better by using Merkle Tree style hashing. This happens only in solid mode when entire file is being compressed in a single chunk.
- Encryption key length is no longer a compile-time constant. It can be selected at runtime to be 128 or 256 bits.
- The Header HMAC now includes Nonce, Salt and Key length properties as well. This was an oversight in the earlier release.
- Better cleanup of temporary variables on the stack in various crypto functions.
- The Global Deduplication feature is still a work in progress. I have added some code that builds but is not functional as yet.