Moinak Ghosh
fa78621cbf
Cleanup pointer casting in code to use macros.
2013-09-22 20:11:15 +05:30
Moinak Ghosh
c859cf35d5
Make Pcompress functionality into a library - initial changes.
2013-06-02 20:54:33 +05:30
Moinak Ghosh
c357452079
Implement global dedupe in pipe mode.
...
Update hash index calculations to use upto 75% memavail when file size is not known.
Use little-endian nonce format for Salsa20.
2013-03-29 15:18:25 +05:30
Moinak Ghosh
fbf4658635
Implement Global Deduplication.
2013-03-24 23:21:17 +05:30
Moinak Ghosh
b7fdeb08bc
Work in progress global dedupe changes.
2013-03-20 22:47:03 +05:30
Moinak Ghosh
f8f23e5200
Major License text cleanup.
2013-03-07 20:26:48 +05:30
Moinak Ghosh
370e84f2be
Update Changelog and bump version for 1.4 release.
...
Add license text to Salsa20 files.
2013-03-06 17:15:03 +05:30
Moinak Ghosh
fa9fbdb7a4
Cleanup more stack parameters after use in various crypto functions.
...
Fix comment.
2013-03-05 20:46:18 +05:30
Moinak Ghosh
cf053c0257
Fix increment of XSalsa20 192-bit nonce value.
...
Handle nonce bytes in endian neutral way.
2013-03-04 23:48:12 +05:30
Moinak Ghosh
dce424ec85
Use 128-bit key length when decompressing older version archives.
2013-03-04 22:35:33 +05:30
Moinak Ghosh
20250aa5dc
Add XSalsa20 encryption algorithm from the NaCL library.
...
Include 128-bit key support based on the Salsa20 eSTREAM submission.
Allow variable-length nonces.
Use random bytes for initial nonce value.
Increase PBE hash rounds to 50000.
2013-03-04 21:56:07 +05:30
Moinak Ghosh
e16b408061
Move Scrypt helper function out of AES module.
...
Fix a compiler warning.
2013-03-03 21:55:59 +05:30
Moinak Ghosh
7a29c7be1e
Change default encryption key length to 256 bits.
...
Add optional ability to change key length at runtime via cli option.
Include key length property in archive header.
Fix header HMAC to include salt, nonce and key length properties.
Retain backward compatibility to handle older format archives.
Fix compilation of AES ASM code.
2013-03-03 20:02:14 +05:30
Moinak Ghosh
72b23dac1a
Add AES-NI optimized code derived from latest OpenSSL upstream.
...
Add AES instruction set detection.
Add missing license headers to a few files.
2013-02-25 19:23:51 +05:30
Moinak Ghosh
532cd2a941
Add Vector Permute AES from OpenSSL 1.0.1e. Remain compatible with older OpenSSL versions.
2013-02-24 23:52:34 +05:30
Moinak Ghosh
efe5232cdc
Add compatibility to decode old-format parallel hashes created with version 1.2.
...
Bump archive version to 7 as parallel hashes are now merkle style hashes.
2013-02-24 20:05:16 +05:30
Moinak Ghosh
6badbcaea7
Make global dedupe bits buildable and fix errors.
...
Rename Adaptive compression type constants to avoid conflict with global constants.
2013-02-17 21:05:40 +05:30
Moinak Ghosh
f89473d29c
Fixes for issues/warnings reported in issue #4 .
2013-02-15 22:53:17 +05:30
Moinak Ghosh
6bfd044311
Use 2-stage Merkle Tree hashing for parallel hashes for better crypto properties.
...
Update xxhash comment.
2013-02-01 22:07:28 +05:30
Moinak Ghosh
a03e3ba41b
Fix return from parallel versions of Keccak_Hash() function.
2013-01-28 00:51:47 +05:30
Moinak Ghosh
468044d816
Add parallel versions of various checksums for single-segment, single-thread compression.
2013-01-27 23:47:55 +05:30
Moinak Ghosh
2da0d0950b
Use BLAKE2 parallel version for single-chunk archives (whole file in one chunk).
...
Set decompression threads correctly for single-chunk archives.
2013-01-26 18:28:13 +05:30
Moinak Ghosh
68f60ba50b
Update default checksum to BLAKE256.
2013-01-26 17:40:23 +05:30
Moinak Ghosh
d08b5ea399
Add optimized BLAKE2 implementations with runtime detection of CPU capability (SSE/AVX).
...
Minor cleanups.
2013-01-26 15:39:10 +05:30
Moinak Ghosh
43af97042a
Major changes to use Intel's optimized SHA512 code for SHA512 and SHA512/256.
...
Remove earlier SHA256 code which is slower than SHA512/256 (on 64-bit CPU).
Use HMAC from Alan Saddi's implementation for cleaner, faster code.
2013-01-25 22:55:55 +05:30
Moinak Ghosh
26bb137257
Changes for generalized runtime SSE/AVX/XOP detection.
...
Multi instruction set XXhash build with runtime selection.
Extend CPUID code to detect more instruction sets.
Add options for BLAKE2 hash.
Move GCC builtins into utils header.
Bump file format version number due to extended digest flags.
Add descriptions to digest list.
2013-01-25 00:10:12 +05:30
Moinak Ghosh
3888c8d316
Many optimization tweaks
...
Optimize Rabin Deduplication and Bsdiff
Vectorize XXHash using SE4
2013-01-20 22:02:26 +05:30
Moinak Ghosh
49ec3a054d
Add SSE2 improvements to CTR mode AES.
...
Add debug print of encryption and HMAC throughput.
Fix error message for invalid option.
2013-01-16 19:52:46 +05:30
Moinak Ghosh
a8fd60fb06
Fix issue #1 and issue #2 .
...
Enable building with older openssl (at least 0.9.8e).
Add variants of missing functions in older openssl versions.
Allow proper linking with libraries in alternate locations and setting RUNPATH.
Increase hash rounds for nonce generation.
2013-01-05 00:16:15 +05:30
Moinak Ghosh
6b756eb165
Fix Delta2 handling for small buffers.
...
Fix LZP handling during preprocessing.
Fix type flag handling during preprocessing.
Update test cases to use configurable list of test corpus files.
Update some more int64_t datatypes to uint64_t
Add a gitignore.
2013-01-02 22:56:21 +05:30
Moinak Ghosh
8bfa49fc66
Fix Keccak invocation and reset default checksum back to SKEIN 256.
2012-12-30 01:13:55 +05:30
Moinak Ghosh
28224d29d3
Improve Dedupe performance.
...
Add more debug timing stats.
Change default checksum to Keccak 256 (SIMD version 4x faster than Skein).
Fix compiler warning in allocator code.
2012-12-29 23:43:41 +05:30
Moinak Ghosh
26a4f42506
Introduce strict compiler flags and fix scores of warnings/issues.
...
Avoid different optimization flags for Dedupe sources.
Fix liberal mixing of uint64_t and int64_t (should all be uint64_t).
Fix corner case crash when decompressing.
2012-12-27 23:06:48 +05:30
Moinak Ghosh
00c8c534d0
Silence more Gcc warnings.
...
Update testing note.
2012-12-17 20:23:30 +05:30
Moinak Ghosh
224fb529e9
Get rid of size_t in places where 64-bitness is assumed.
2012-12-09 10:15:06 +05:30
Moinak Ghosh
75c81b5e9c
Add support for 64-bit Keccak implementation.
...
Sanitize error message from tests.
Add more tests.
Improve platform detection in config script.
2012-12-08 14:19:01 +05:30
Moinak Ghosh
d250322490
Fix issues with error handling.
...
Add new tests for out of range values and corrupted file.
2012-11-24 23:53:07 +05:30
Moinak Ghosh
393ced991a
A couple of minor cleanups.
2012-11-18 20:20:16 +05:30
Moinak Ghosh
c5ebe1f30a
Portability to Debian based distros.
...
Enable SSE4/AVX detection for AMD platforms (Bulldozer has both).
Portable long long int print formatting to silence gcc 4.6 warnings.
2012-10-21 21:03:07 +05:30
Moinak Ghosh
1eb8c94fed
Implement HMAC verification for chunk data and header.
...
Do not ask for decryption passwd twice.
2012-10-18 22:55:41 +05:30
Moinak Ghosh
d13aad830e
Implement HMAC Functionality.
...
Refactor crypto utility functions in a separate file.
Add HMAC verification for file header.
Add a few extra input validation checks.
Include space in chunk header for HMAC.
2012-10-17 23:32:35 +05:30
Moinak Ghosh
f2d7bea902
Support for chunk-level encryption using AES and Scrypt based PBE.
...
Couple of minor fixes.
2012-10-15 12:10:00 +05:30
Moinak Ghosh
21cbef6d60
Incorporate SSE/AVX optimized Intel SHA-256 implementation.
...
Add support for runtime cpuid detection.
2012-10-06 20:51:23 +05:30
Moinak Ghosh
4ba840b255
Add ASM version of Skein for x64 platforms with auto-detection
...
Error checking for checksum flag when decompressing
Update comments and READMEs
2012-09-01 14:40:15 +05:30
Moinak Ghosh
eda312ce1e
Add support for Skein512 and Skein256 checksums
...
Import Skein code from NIST CD submission
Make checksum algorithms pluggable
Fix handling of huge buffers (>2GB) in LZP
Cleanup of some buffer sizing code
Speed up CRC64 calculation in dedupe chunking
2012-08-31 22:36:06 +05:30