The cryptsetup code repository.

Clone this repo:
  1. 540972f Move progress function to utils. by Milan Broz · 43 minutes ago master
  2. 677adc7 Add crypt_backend_destroy() function and cll it as library destructor. by Milan Broz · 68 minutes ago
  3. 096c50c Fix memory leak during repeated password entry. by Milan Broz · 78 minutes ago
  4. 8c57e3f Hint kernel keyring disabled in debug message by Ondrej Kozina · 24 hours ago
  5. 4e2dead Set block size for loop device if supported by kernel (4.13+). by Milan Broz · 3 hours ago

LUKS logo

What the ...?

Cryptsetup is utility used to conveniently setup disk encryption based on DMCrypt kernel module.

These include plain dm-crypt volumes, LUKS volumes, loop-AES and TrueCrypt (including VeraCrypt extension) format.

Project also includes veritysetup utility used to conveniently setup DMVerity block integrity checking kernel module.

LUKS Design

LUKS is the standard for Linux hard disk encryption. By providing a standard on-disk-format, it does not
only facilitate compatibility among distributions, but also provides secure management of multiple user passwords.
In contrast to existing solution, LUKS stores all setup necessary setup information in the partition header,
enabling the user to transport or migrate his data seamlessly.

Last version of the LUKS format specification is available here.

Why LUKS?

  • compatiblity via standardization,
  • secure against low entropy attacks,
  • support for multiple keys,
  • effective passphrase revocation,
  • free.

Project home page.

CVE-2016-4484 (Initrd root shell)

This is problem in intramfs scripts only (these are not part of cryptsetup project), it is neiter bug in cryptsetup nor in LUKS.
Some distributions could add these scripts to distributed package, please check your distro updates for more info.

Frequently asked questions (FAQ)

Download

All release tarballs and release notes are hosted on kernel.org.

The latest cryptsetup version is 1.7.5

Previous versions

Source and API docs

For development version code, please refer to source page, mirror on kernel.org or GitHub.

For libcryptsetup documentation see libcryptsetup API page.

The libcryptsetup API/ABI changes are tracked in compatibility report.

NLS PO files are maintained by TranslationProject.

Help!

Please always read FAQ first. For cryptsetup and LUKS related questions, please use the dm-crypt mailing list, dm-crypt@saout.de.

If you want to subscribe just send an empty mail to dm-crypt-subscribe@saout.de.

You can also browse list archive or read it through web interface.