#devices #token #luks #cryptsetup #handler #encryption #libcryptsetup

cryptsetup-rs

Rust wrapper around the libcryptsetup library, allowing manipulation of LUKS devices in Linux

6 releases

0.3.2 Aug 28, 2022
0.3.0 Aug 28, 2022
0.3.0-beta1 Jun 7, 2020
0.2.1 Oct 9, 2019
0.1.0 Nov 28, 2016

#1218 in Cryptography

46 downloads per month
Used in peroxide-cryptsetup

LGPL-3.0

140KB
3K SLoC

pipeline status crates.io Status docs.rs build

cryptsetup-rs - Rust bindings to libcryptsetup on Linux

A safe binding to libcryptsetup that allows working with encrypted disks on Linux.

Requires libcryptetup >= 2.1.0 to compile.

Features:

  • High-level API for LUKS open/format/other operations
  • LUKS2 support including tokens handlers

Documentation for the bindings can be found on docs.rs.

The example luks_dump.rs shows how a command like cryptsetup luksDump can be implemented.

TODO

  • High-level API for non-LUKS1 disks (truecrypt, verity, bitlocker)
  • LUKS2 reencryption support

Other libraries

The libcryptsetup-rs library provides a more complete set of bindings with a different (non-builder like) API.

Contributing

cryptsetup-rs is the work of its contributors and is a free software project licensed under the LGPLv3 or later.

If you would like to contribute, please follow the C4 process.

Dependencies

~1.8–2.8MB
~57K SLoC