Commit Graph
37 Commits
Author SHA1 Message Date
Kenneth Skovhede 73a3e627c1 AESCrypt default v2
This PR sets the default AESCrypt stream format to v2.

This is done to introduce the ability to read the v3 format before switching to the new format. With a delayed activation, it is more likely that users can easily roll back a version if needed.
2026-05-04 16:19:56 +02:00
Kenneth SkovhedeandGitHub 49243eeaa8 Merge branch 'master' into features/upgrade-aescrypt-v3 2026-04-17 12:34:49 +02:00
Kenneth Skovhede c0f40e19ca Updated copyright year to 2026 across the project 2026-04-16 15:21:24 +02:00
Kenneth Skovhede e98c48e078 Update SharpAESCrypt to v3
This PR updates SharpAESCrypt to version 3.0.0.

With this change the written format for encrypted fields in the database and the remote encrypted files will be changed to Stream Format v3, which improves the key deriviation function and includes additional safeguards regarding content length.

The library still supports reading v2 files, but will write all new files as v3.

Environment variables, as well as module options, can toggle this behavior.

# Environment variable overview
- `DUPLICATI__AES_VERSION`: The file format version, either 3 (default) or 2
-`DUPLICATI__AES_V3_ITERATIONS`: The number of Pbkdf iterations to apply (default 300k)
- `DUPLICATI__AES_MINIMAL_HEADER`: Writes AES files with a minimal header (saves ~100 bytes per file)
- `DUPLICATI__AES_IGNORE_PADDING_BYTES`: Legacy setting for reading files written by the mainline AESCrypt tool

# A note on iterations
The iterations protect a weak key by adding additional computational overhead, but only adds overhead if the key is already providing at least 256 bits of high entropy.

For low-power devices, such as 32-bit RPI, this can be set as low as 10k, which will lower encryption and decryption time.  Beware that setting a low iteration count reduces security if the key is not sufficiently strong.
2026-03-13 17:20:33 +01:00
Kenneth SkovhedeandGitHub 9464caf622 Feature/update license 2025 (#5851)
* Fixed some minor whitespace issues

* Updated all copyright to 2025
2025-01-07 09:40:39 +01:00
Kenneth Skovhede 5dd937bcc2 Updated AES Crypt to support creating encrypted blob with a smaller header. 2024-08-20 16:52:26 +02:00
Kenneth Skovhede 95cb6b4e71 Updated to SharpAESCrypt 2.0 2024-06-04 17:27:18 +02:00
Kenneth Skovhede 40dd3c6816 Updated all license mentions to MIT 2024-02-28 15:45:30 +01:00
BlueBlock 08a1e9998a initial upgrade to framework 4.6.2
- no code changes except those noted below
- projects upgrade to 4.6.2
- wixinstaller project upgraded automatically by VisualStudio
- wixinstaller updated to require 4.6.2
- Library.Encryption changed to Standard2.0 so accommodate update to SharpAesCrypt
2019-07-26 09:18:16 -04:00
Kenneth Hsu 1c7391399d Remove XML documentation for unmatched parameters. 2017-12-09 18:30:01 -08:00
Kenneth Hsu b84e7bd34d Avoid hard-coded parameter names.
This makes it easier to rename the parameter in the future as we don't
have to search for the parameter name within strings.
2017-09-25 19:54:54 -07:00
Kenneth Skovhede eea33a7649 Enabled streaming and multithreading in encryption by default 2016-03-19 22:27:46 +01:00
FootStark 79db704f8e Updated commandline option def 2016-03-03 11:24:55 +01:00
FootStark c3bf75dde3 Options to set AES threadlevel 2016-03-03 09:24:29 +01:00
Kenneth Skovhede 33d8f69370 Improved performance of the AES encryption module by caching the fixed-size overhead.
Added some comments to the AES encryption module.
2016-02-25 19:17:23 +01:00
Kenneth Skovhede 8d13e698eb Updated copyright notices 2015-01-20 21:44:52 +01:00
Kenneth Skovhede a1e89a9c95 Added an extra guard to ensure that bugs in the code can never send out files encrypted with empty passphrase. 2013-11-23 14:33:23 +01:00
Kenneth Skovhede a0acd8e3d6 Removed encryption fallback support 2013-05-05 17:57:10 +02:00
Kenneth Skovhede 62c75d9af9 Removed all informs code (no more 1.3.x UI) 2013-05-05 17:07:24 +02:00
kenneth@hexad.dk e398e9f5fb Changed AES default to not allow fallback decryption for Duplicati 2.0
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1243 59da171f-624f-0410-aa54-27559c288bec
2012-05-05 20:11:20 +00:00
kenneth@hexad.dk 67ec69d1dc Fixed some error reporting with AES Encryption
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1191 59da171f-624f-0410-aa54-27559c288bec
2012-03-29 05:50:26 +00:00
kenneth.skovhede@gmail.com 8c8921bd43 Further deprecated the AES fallback decryption, this should give more meaningfull error messages if the user types the wrong password.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@985 59da171f-624f-0410-aa54-27559c288bec
2011-11-15 22:09:38 +00:00
kenneth.skovhede@gmail.com 0b8b0d44ea Update issue #392
Status: Fixed

There is now a more consistent parsing of boolean commandline parameters.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@918 59da171f-624f-0410-aa54-27559c288bec
2011-09-27 05:35:49 +00:00
kenneth.skovhede@gmail.com b0a359fd27 Updated license text
git-svn-id: https://duplicati.googlecode.com/svn/trunk@770 59da171f-624f-0410-aa54-27559c288bec
2011-05-09 19:52:28 +00:00
kenneth.skovhede@gmail.com 29ae917de2 Update issue #347
Status: Fixed
I have now removed the code required to activate the deprecated AES crypt encryption, but kept the code required to decode it,

git-svn-id: https://duplicati.googlecode.com/svn/trunk@670 59da171f-624f-0410-aa54-27559c288bec
2011-01-12 18:59:01 +00:00
kenneth.skovhede@gmail.com e7dc268fad Renamed the Duplicati.Library.Core dll to Duplicati.Library.Utility as the "Core" name was misleading.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@591 59da171f-624f-0410-aa54-27559c288bec
2010-11-21 11:08:15 +00:00
kenneth.skovhede@gmail.com 5a70f3c7c5 Fixed a backwards compatibility problem with AES encryption.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@433 59da171f-624f-0410-aa54-27559c288bec
2010-06-20 11:44:21 +00:00
kenneth.skovhede@gmail.com a40f6acf37 A fairly large refactoring of the code.
This was based on the idea that the interfaces should remain static.
I hope this change is enough to ensure stable interfaces until release 1.2.

Overview of changes:
Moved all interfaces into the same dll.
Encryption and compression is now plugable modules, just as the backends.
Encryption/compression can now register an UI.
Encryption now uses AESCrypt as a default.
GPG does not default to using the --armor option.
Added support for generic modules, but none are written yet.
Added support for plugable settings pages in the "Options" dialog.

Fixed issue #148.
Duplicati now uses AESCrypt as the default encryption format.

Fixed issue #199.
GPG now supports custom commandline options.

Fixed issue #207.
Encryption modules are now plugable.

Fixed issue #118.
S3 credentials are now stored.

Fixed issue #151.
Backends can now register system wide options.


git-svn-id: https://duplicati.googlecode.com/svn/trunk@427 59da171f-624f-0410-aa54-27559c288bec
2010-06-19 21:08:21 +00:00
kenneth.skovhede@gmail.com 05bfadbc41 Updated License notice to 2010
git-svn-id: https://duplicati.googlecode.com/svn/trunk@311 59da171f-624f-0410-aa54-27559c288bec
2010-01-03 22:57:13 +00:00
kenneth.skovhede@gmail.com 79c99336ab A heavy chunk of work on the translation support.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@196 59da171f-624f-0410-aa54-27559c288bec
2009-06-14 21:51:06 +00:00
kenneth.skovhede@gmail.com eab455ddc6 Reworked the way the backends are used, by introducing a higher level BackendWrapper.
Reworked encryption to not support streaming, but only pre/post process encrypted files.
The Get/Put methods in the BackendWrapper now automatically writes/reads from the signature cache.
Introduced a DoubleClickRadioButton for use on the main pages.
Fixed a bug where zero byte files would throw an exception on restore.
Fixed a bug where deleting a folder while building the filelist would interrupt the backup.
Fixed issue #17.
Fixed issue #22.
Fixed issue #38.
Added the commandline option to support issue #39, but still needs a UI entry.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@131 59da171f-624f-0410-aa54-27559c288bec
2009-03-26 19:39:50 +00:00
kenneth.skovhede@gmail.com 8babf1d616 Updated license notices.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@85 59da171f-624f-0410-aa54-27559c288bec
2009-02-10 23:36:15 +00:00
kenneth.skovhede@gmail.com c9ce3a3216 Added options to throttle up and download.
GPG encryption now works correctly.
Asyncronous uploads now work as expected.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@73 59da171f-624f-0410-aa54-27559c288bec
2009-01-25 19:33:36 +00:00
kenneth.skovhede@gmail.com c4fec09e6a Now supports the FTP backend.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@64 59da171f-624f-0410-aa54-27559c288bec
2009-01-15 12:57:52 +00:00
kenneth.skovhede@gmail.com 987086e8f0 temp commit
git-svn-id: https://duplicati.googlecode.com/svn/trunk@57 59da171f-624f-0410-aa54-27559c288bec
2009-01-14 17:29:30 +00:00
kenneth.skovhede@gmail.com 35b30faf04 temp commit
git-svn-id: https://duplicati.googlecode.com/svn/trunk@56 59da171f-624f-0410-aa54-27559c288bec
2009-01-14 17:28:09 +00:00
kenneth.skovhede@gmail.com 207287d9be git-svn-id: https://duplicati.googlecode.com/svn/trunk@55 59da171f-624f-0410-aa54-27559c288bec 2009-01-14 17:14:37 +00:00