Skip to content

Latest commit

 

History

History
439 lines (268 loc) · 22.8 KB

encryption.md

File metadata and controls

439 lines (268 loc) · 22.8 KB
meta_title title icon description cover
Recommended Encryption Software: VeraCrypt, Cryptomator, PicoCrypt, and OpenPGP - Privacy Guides
Encryption Software
material/file-lock
Encryption of data is the only way to control who can access it. These tools allow you to encrypt your emails and any other files.
encryption.webp

Encryption is the only secure way to control who can access your data. If you are currently not using encryption software for your hard disk, emails, or files, you should pick an option here.

Multi-platform

The options listed here are available on multiple platforms and great for creating encrypted backups of your data.

Cryptomator (Cloud)

Protects against the following threat(s):

Cryptomator logo{ align=right }

Cryptomator is an encryption solution designed for privately saving files to any cloud :material-server-network: Service Provider{ .pg-teal }, eliminating the need to trust that they won't access your files. It allows you to create vaults that are stored on a virtual drive, the contents of which are encrypted and synced with your cloud storage provider.

:octicons-home-16: Homepage{ .md-button .md-button--primary } :octicons-eye-16:{ .card-link title="Privacy Policy" } :octicons-info-16:{ .card-link title="Documentation" } :octicons-code-16:{ .card-link title="Source Code" } :octicons-heart-16:{ .card-link title="Contribute" }

Downloads

Cryptomator uses AES-256 encryption to encrypt both files and filenames. Cryptomator cannot encrypt metadata such as access, modification, and creation timestamps, nor the number and size of files and folders.

Some Cryptomator cryptographic libraries have been audited by Cure53. The scope of the audited libraries includes: cryptolib, cryptofs, siv-mode and cryptomator-objc-cryptor. The audit did not extend to cryptolib-swift, which is a library used by Cryptomator for iOS.

Cryptomator's documentation details its intended security target, security architecture, and best practices for use in further detail.

Picocrypt (File)

Protects against the following threat(s):

Picocrypt logo{ align=right }

Picocrypt is a small and simple encryption tool that provides modern encryption. Picocrypt uses the secure XChaCha20 cipher and the Argon2id key derivation function to provide a high level of security. It uses Go's standard x/crypto modules for its encryption features.

:octicons-repo-16: Repository{ .md-button .md-button--primary } :octicons-code-16:{ .card-link title="Source Code" } :octicons-heart-16:{ .card-link title="Contribute" }

Downloads

Picocrypt has been audited by Radically Open Security in August 2024, and most of the issues found in the audit were subsequently fixed.

VeraCrypt (Disk)

Protects against the following threat(s):

VeraCrypt logo{ align=right } VeraCrypt logo{ align=right }

VeraCrypt is a source-available freeware utility used for on-the-fly encryption. It can create a virtual encrypted disk within a file, encrypt a partition, or encrypt the entire storage device with pre-boot authentication.

:octicons-home-16: Homepage{ .md-button .md-button--primary } :octicons-info-16:{ .card-link title="Documentation" } :octicons-code-16:{ .card-link title="Source Code" } :octicons-heart-16:{ .card-link title="Contribute" }

Downloads

VeraCrypt is a fork of the discontinued TrueCrypt project. According to its developers, security improvements have been implemented and issues raised by the initial TrueCrypt code audit have been addressed.

When encrypting with VeraCrypt, you have the option to select from different hash functions. We suggest you only select SHA-512 and stick to the AES block cipher.

Truecrypt has been audited a number of times, and VeraCrypt has also been audited separately.

Operating System Encryption

Protects against the following threat(s):

Built-in OS encryption solutions generally leverage hardware security features such as a secure cryptoprocessor. Therefore, we recommend using the built-in encryption solutions for your operating system. For cross-platform encryption, we still recommend cross-platform tools for additional flexibility and to avoid vendor lock-in.

BitLocker

BitLocker logo{ align=right }

BitLocker is the full volume encryption solution bundled with Microsoft Windows that uses the Trusted Platform Module (TPM) for hardware-based security.

:octicons-info-16:{ .card-link title="Documentation" }

BitLocker is officially supported on the Pro, Enterprise, and Education editions of Windows. It can be enabled on Home editions provided that they meet the following prerequisites.

Enabling BitLocker on Windows Home

To enable BitLocker on "Home" editions of Windows, you must have partitions formatted with a GUID Partition Table and have a dedicated TPM (v1.2, 2.0+) module. You may need to disable the non-Bitlocker "Device encryption" functionality (which is inferior because it sends your recovery key to Microsoft's servers) if it is enabled on your device already before following this guide.

  1. Open a command prompt and check your drive's partition table format with the following command. You should see "GPT" listed under "Partition Style":

    powershell Get-Disk
  2. Run this command (in an admin command prompt) to check your TPM version. You should see 2.0 or 1.2 listed next to SpecVersion:

    powershell Get-WmiObject -Namespace "root/cimv2/security/microsofttpm" -Class WIN32_tpm
  3. Access Advanced Startup Options. You need to reboot while pressing the F8 key before Windows starts and go into the command prompt in TroubleshootAdvanced OptionsCommand Prompt.

  4. Login with your admin account and type this in the command prompt to start encryption:

    manage-bde -on c: -used
  5. Close the command prompt and continue booting to regular Windows.

  6. Open an admin command prompt and run the following commands:

    manage-bde c: -protectors -add -rp -tpm
    manage-bde -protectors -enable c:
    manage-bde -protectors -get c: > %UserProfile%\Desktop\BitLocker-Recovery-Key.txt

Tip

Backup BitLocker-Recovery-Key.txt on your Desktop to a separate storage device. Loss of this recovery code may result in loss of data.

FileVault

FileVault logo{ align=right }

FileVault is the on-the-fly volume encryption solution built into macOS. FileVault takes advantage of the hardware security capabilities present on an Apple silicon SoC or T2 Security Chip.

:octicons-info-16:{ .card-link title="Documentation" }

We advise against using your iCloud account for recovery; instead, you should securely store a local recovery key on a separate storage device.

Linux Unified Key Setup

LUKS logo{ align=right }

LUKS is the default FDE method for Linux. It can be used to encrypt full volumes, partitions, or create encrypted containers.

:octicons-home-16: Homepage{ .md-button .md-button--primary } :octicons-info-16:{ .card-link title="Documentation" } :octicons-code-16:{ .card-link title="Source Code" }

Creating and opening encrypted containers
dd if=/dev/urandom of=/path-to-file bs=1M count=1024 status=progress
sudo cryptsetup luksFormat /path-to-file

Opening encrypted containers

We recommend opening containers and volumes with udisksctl as this uses Polkit. Most file managers, such as those included with popular desktop environments, can unlock encrypted files. Tools like udiskie can run in the system tray and provide a helpful user interface.

udisksctl loop-setup -f /path-to-file
udisksctl unlock -b /dev/loop0

Remember to back up volume headers

We recommend you always back up your LUKS headers in case of partial drive failure. This can be done with:

cryptsetup luksHeaderBackup /dev/device --header-backup-file /mnt/backup/file.img

Command-line

Protects against the following threat(s):

Tools with command-line interfaces are useful for integrating shell scripts.

Kryptor

Kryptor logo{ align=right }

Kryptor is a free and open-source file encryption and signing tool that makes use of modern and secure cryptographic algorithms. It aims to be a better version of age and Minisign to provide a simple, easier alternative to GPG.

:octicons-home-16: Homepage{ .md-button .md-button--primary } :octicons-eye-16:{ .card-link title="Privacy Policy" } :octicons-info-16:{ .card-link title="Documentation" } :octicons-code-16:{ .card-link title="Source Code" } :octicons-heart-16:{ .card-link title="Contribute" }

Downloads

Tomb

Tomb logo{ align=right }

Tomb is a command-line shell wrapper for LUKS. It supports steganography via third-party tools.

:octicons-home-16: Homepage{ .md-button .md-button--primary } :octicons-info-16:{ .card-link title="Documentation" } :octicons-code-16:{ .card-link title="Source Code" } :octicons-heart-16:{ .card-link title="Contribute" }

OpenPGP

Protects against the following threat(s):

OpenPGP is sometimes needed for specific tasks such as digitally signing and encrypting email. PGP has many features and is complex as it has been around a long time. For tasks such as signing or encrypting files, we suggest the above options.

When encrypting with PGP, you have the option to configure different options in your gpg.conf file. We recommend staying with the standard options specified in the GnuPG user FAQ.

Use future defaults when generating a key

When generating keys we suggest using the future-default command as this will instruct GnuPG use modern cryptography such as Curve25519 and Ed25519:

gpg --quick-gen-key [email protected] future-default

GNU Privacy Guard

GNU Privacy Guard logo{ align=right }

GnuPG is a GPL-licensed alternative to the PGP suite of cryptographic software. GnuPG is compliant with RFC 4880, which is the current IETF specification of OpenPGP. The GnuPG project has been working on an updated draft in an attempt to modernize OpenPGP. GnuPG is a part of the Free Software Foundation's GNU software project and has received major funding from the German government.

:octicons-home-16: Homepage{ .md-button .md-button--primary } :octicons-eye-16:{ .card-link title="Privacy Policy" } :octicons-info-16:{ .card-link title="Documentation" } :octicons-code-16:{ .card-link title="Source Code" }

Downloads

GPG4win

GPG4win logo{ align=right }

GPG4win is a package for Windows from Intevation and g10 Code. It includes various tools that can assist you in using GPG on Microsoft Windows. The project was initiated and originally funded by Germany's Federal Office for Information Security (BSI) in 2005.

:octicons-home-16: Homepage{ .md-button .md-button--primary } :octicons-eye-16:{ .card-link title="Privacy Policy" } :octicons-info-16:{ .card-link title="Documentation" } :octicons-code-16:{ .card-link title="Source Code" } :octicons-heart-16:{ .card-link title="Contribute" }

Downloads

GPG Suite

Note

We suggest Canary Mail for using PGP with email on iOS devices.

GPG Suite logo{ align=right }

GPG Suite provides OpenPGP support for Apple Mail and other email clients on macOS.

We recommend taking a look at their First steps and Knowledge Base for support.

:octicons-home-16: Homepage{ .md-button .md-button--primary } :octicons-eye-16:{ .card-link title="Privacy Policy" } :octicons-info-16:{ .card-link title="Documentation" } :octicons-code-16:{ .card-link title="Source Code" }

Downloads

Currently, GPG Suite does not yet have a stable release for macOS Sonoma and later.

OpenKeychain

OpenKeychain logo{ align=right }

OpenKeychain is an implementation of GnuPG for Android. It's commonly required by mail clients such as Thunderbird, FairEmail, and other Android apps to provide encryption support.

:octicons-home-16: Homepage{ .md-button .md-button--primary } :octicons-eye-16:{ .card-link title="Privacy Policy" } :octicons-info-16:{ .card-link title="Documentation" } :octicons-code-16:{ .card-link title="Source Code" }

Downloads

Cure53 completed a security audit of OpenKeychain 3.6 in October 2015. The published audit and OpenKeychain's solutions to the issues raised in the audit can be found here.

Criteria

Please note we are not affiliated with any of the projects we recommend. In addition to our standard criteria, we have developed a clear set of requirements to allow us to provide objective recommendations. We suggest you familiarize yourself with this list before choosing to use a project, and conduct your own research to ensure it's the right choice for you.

Minimum Qualifications

  • Cross-platform encryption apps must be open source.
  • File encryption apps must support decryption on Linux, macOS, and Windows.
  • External disk encryption apps must support decryption on Linux, macOS, and Windows.
  • Internal (OS) disk encryption apps must be cross-platform or built in to the operating system natively.

Best-Case

Our best-case criteria represents what we would like to see from the perfect project in this category. Our recommendations may not include any or all of this functionality, but those which do may rank higher than others on this page.

  • Operating System (FDE) encryption apps should utilize hardware security such as a TPM or Secure Enclave.
  • File encryption apps should have first- or third-party support for mobile platforms.