Cryptsetup with LUKS private mirror
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Lars Wendler c27123cf61 cryptsetup.8: Fix no_write_workqueue option name 6 days ago
.gitlab/issue_templates Add issue templates. 9 months ago
docs Add stable version release notes. 4 months ago
lib Introduce crypt_header_is_detached API call. 2 weeks ago
man cryptsetup.8: Fix no_write_workqueue option name 4 days ago
misc Update copyright year. 1 year ago
po po: update sr.po (from 3 months ago
scripts Do not rename tmpfile config but use it directly. 3 years ago
src Unify handling of password retries on terminal. 1 week ago
tests Reject LUKS2 decryption with broken cmd line arguments. 2 weeks ago
.gitignore Update gitignore (remove pot file). 1 year ago Enable Travis test for GOST crypto in VeraCrypt (install GOST external kernel crypto modules). 1 month ago
.travis.yml Build branch v2.3.x in Travis. 4 months ago
AUTHORS Add Ondra to authors. 1 year ago
COPYING Fix FSF address in license text according to 9 years ago
COPYING.LGPL Change License for sub-libraries from GPLv2 only to LGPLv2.1+ ("or any later") 8 years ago
ChangeLog Update version control history url 5 years ago
FAQ Update FAQ: Clarified statement about block sizes in 5.16 5 days ago
INSTALL Fix typos. 3 years ago WIP: Introduce libcryptsetup_cli. 5 months ago
NEWS Specify copyright holders in source files. 9 years ago
README Add list archive link. 3 weeks ago Add list archive link. 3 weeks ago
TODO Update copyright year. 3 years ago Print warning if msgfmt utility from gettext is missing. 4 months ago WIP: Introduce libcryptsetup_cli. 5 months ago

LUKS logo

What the ...?

Cryptsetup is a utility used to conveniently set up disk encryption based on the DMCrypt kernel module.

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

The project also includes a veritysetup utility used to conveniently setup DMVerity block integrity checking kernel module and, since version 2.0, integritysetup to setup DMIntegrity block integrity 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.
LUKS stores all necessary setup information in the partition header, enabling to transport or migrate data seamlessly.

Last version of the LUKS2 format specification is available here.

Last version of the LUKS1 format specification is available here.


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

Project home page.

Frequently asked questions (FAQ)


All release tarballs and release notes are hosted on

The latest stable cryptsetup version is 2.3.4

Previous versions

Source and API docs

For development version code, please refer to source page, mirror on 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.


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

If you want to subscribe just send an empty mail to

You can also browse list archive or read and search it through web interface on or alternatively on