Dipende sostanzialmente dal kernel, quindi " See / proc / crypto " dovrebbe essere "la risposta". La pagina man di cryptsetup dice questo:
NOTES ON SUPPORTED CIPHERS, MODES, HASHES AND KEY SIZES
The available combinations of ciphers, modes, hashes and key sizes depend
on kernel support. See /proc/crypto for a list of available options. You
might need to load additional kernel crypto modules in order to get more
options.
For the --hash option, if the crypto backend is libgcrypt, then all algo‐
rithms supported by the gcrypt library are available. For other crypto
backends some algorithms may be missing.
Tuttavia, il mio /proc/crypto
non menziona alcun serpente o xts (aes), quindi raccomanderei di vedere quali cryptsetup benchmark
rapporti (e mostrerebbe anche la velocità (ram)). Per esempio:
$ cryptsetup benchmark
# Tests are approximate using memory only (no storage IO).
PBKDF2-sha1 292752 iterations per second
PBKDF2-sha256 221362 iterations per second
PBKDF2-sha512 142010 iterations per second
PBKDF2-ripemd160 277124 iterations per second
PBKDF2-whirlpool 155727 iterations per second
# Algorithm | Key | Encryption | Decryption
aes-cbc 128b 164.7 MiB/s 164.5 MiB/s
serpent-cbc 128b 119.5 MiB/s 205.0 MiB/s
twofish-cbc 128b 163.5 MiB/s 208.6 MiB/s
aes-cbc 256b 148.4 MiB/s 147.9 MiB/s
serpent-cbc 256b 128.1 MiB/s 205.3 MiB/s
twofish-cbc 256b 202.3 MiB/s 213.1 MiB/s
aes-xts 256b 165.4 MiB/s 145.3 MiB/s
serpent-xts 256b 150.0 MiB/s 194.5 MiB/s
twofish-xts 256b 206.4 MiB/s 206.9 MiB/s
aes-xts 512b 149.4 MiB/s 147.5 MiB/s
serpent-xts 512b 181.7 MiB/s 195.0 MiB/s
twofish-xts 512b 207.1 MiB/s 208.6 MiB/s
Gli hash sono le prime linee (sha1, sha256, sha512, ripemd160, idromassaggio). I cifrari sono sotto l'intestazione dell'algoritmo.
Guardare quali sono le impostazioni predefinite dà una buona idea anche di ciò che è considerato "abbastanza buono":
$ cryptsetup --help|tail -n 8
Default compiled-in key and passphrase parameters:
Maximum keyfile size: 8192kB, Maximum interactive passphrase length 512 (characters)
Default PBKDF2 iteration time for LUKS: 1000 (ms)
Default compiled-in device cipher parameters:
loop-AES: aes, Key 256 bits
plain: aes-cbc-essiv:sha256, Key: 256 bits, Password hashing: ripemd160
LUKS1: aes-xts-plain64, Key: 256 bits, LUKS header hashing: sha1, RNG: /dev/urandom
E l'uso di una chiave più grande (con --key-size
) dovrebbe essere più forte, anche se leggermente più lento.
--key-size, -s <bits>
Sets key size in bits. The argument has to be a multiple of 8.
The possible key-sizes are limited by the cipher and mode used.
See /proc/crypto for more information. Note that key-size in
/proc/crypto is stated in bytes.