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

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

#1152 in Cryptography

Download history 8/week @ 2023-12-18 14/week @ 2024-02-12 30/week @ 2024-02-19 56/week @ 2024-02-26 26/week @ 2024-03-04 7/week @ 2024-03-11 12/week @ 2024-03-18 6/week @ 2024-03-25 91/week @ 2024-04-01

119 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–3MB
~59K SLoC