Cryptosetup is a Linux package for performing Linux Unified Key Setup (LUKS) full disk encryption licensed under GPLv2 license. To date, it is the best encryption tool for handling disk encryption with up-to-date security algorithm.
Its source codes is available at: https://gitlab.com/cryptsetup/cryptsetup.
These guides are related to managing and utilizing cryptsetup encrypted disk.
These are guides related to passphrase/keyfile managements.
That's all about cryptsetup.