43 lines
1.7 KiB
Markdown
43 lines
1.7 KiB
Markdown
# crype
|
|
|
|
![](https://img.shields.io/badge/written%20in-C%2B%2B%2C%20C-blue)
|
|
|
|
Deterministic syncable/diffable encryption, for files or pipes.
|
|
|
|
`crype` is a tool providing rsyncable deterministic-encryption (like rsyncrypto for pipes). It encrypts data using a common decision function over plaintext, allowing rsync-like tools to still work efficiently over the encrypted data. It uses HMAC-SHA1-PBKDF2 and the ChaCha stream cipher.
|
|
|
|
Compression is also implemented, as this improves both portabiity and rsyncability compared to a separate `gzip --rsyncable` pass.
|
|
|
|
See `crype --help` for usage instructions. Binaries are provided for 32-bit Windows, 32-bit Cygwin, and 64-bit Debian 7.
|
|
|
|
## License
|
|
|
|
Source code is made available freely under the terms of the ISC license. The source code distribution includes library code under {public-domain, BSD, Unlicense} licenses.
|
|
|
|
The provided binaries are likewise freely redistributable for any purpose.
|
|
|
|
## TODO
|
|
|
|
- Reduce peak memory usage by using stream functions for decompression
|
|
- Parallel compression/encryption
|
|
- Distro packages, static binaries
|
|
|
|
## Changelog
|
|
|
|
2014-05-24: r59
|
|
- Add file header for version compatibility detection
|
|
- Add plaintext comment to file header
|
|
- Allow configuring compression level
|
|
- Support Debian 7 (amd64)
|
|
- Support Cygwin (i386)
|
|
- Security: Improve security by switching chunk IVs based on truncated plaintext HMAC (incompatible change)
|
|
- Security: Read encryption passwords from file
|
|
- Security: Warn when reading encryption password from argument
|
|
- [⬇️ crype-r59.zip](dist-archive/crype-r59.zip) *(205.77 KiB)*
|
|
|
|
|
|
2014-05-14: r30
|
|
- Initial release
|
|
- [⬇️ crype-r30.zip](dist-archive/crype-r30.zip) *(133.55 KiB)*
|
|
|