Ho intenzione di dirti quali componenti compongono il LUKS e come interagiscono ad alto livello (non ti dirò il formato dei metadati e come viene usato).
Questa soluzione di crittografia del disco è formata da due componenti: cryptsetup (userspace) e dm-crypt (kernelspace, modulo Kernel Linux).
cryptsetup viene utilizzato per formattare il dispositivo a blocchi e per aprire il dispositivo a blocchi. Dopo aver formattato e aperto il dispositivo, si inviano le chiavi in kernelspace. Il modulo dm-crypt crea un contesto di crittografia in cui memorizza i dati di sessione / chiave di crittografia (CryptoAPI è il modulo all'interno del kernel Linux che si occupa di tutta la criptografia, ha supporto per acceleratori di crittografia, ecc.). Dopo aver effettivamente montato quel dispositivo a blocchi, quando scrivi / leggi / da esso, tutto passa attraverso quel contesto.