O comando cryptsetup
basicamente apenas configura o módulo do kernel dm-crypt
. Isso significa que a criptografia / descriptografia do seu disco acontece dentro do kernel. O kernel não usa openssl, de forma alguma.
Você pode testar com confiabilidade o atual desempenho de criptografia do disco rígido com:
cryptsetup benchmark
Os padrões cryptsetup são aes-xts, 256b , ao criar o dispositivo criptografado com cryptsetup luksCreate
(cf. cryptsetup luksDump
output).
Alguns resultados experimentais de hardware de média escala:
CPU cryptsetup benchmark
AMD Phenom 9750 2.4 GHz aes-xts 256b 146.7 MiB/s 148.5 MiB/s
Intel Atom C3758 2.2 GHz aes-xts 256b 874.0 MiB/s 875.4 MiB/s
Intel i5-4250U 1.3 GHz aes-xts 256b 1703.3 MiB/s 1723.1 MiB/s
Intel i7-6600U 2.6 GHz aes-xts 256b 2978.0 MiB/s 3117.5 MiB/s
O kernel do Linux contém vários drivers de hardware que aceleram as operações de criptografia. Normalmente, eles são carregados, por padrão, e usados pelo subsistema de criptografia do kernel.
Por exemplo, as novas CPUs Intel vêm com o conjunto de instruções AES-NI que acelera significativamente o AES - você pode verificar se a CPU os suporta assim:
tr ' ' '\n' < /proc/cpuinfo | grep aes
Alguns sistemas ainda vêm com co-processadores criptográficos (por exemplo, Intel QuickAssist - QAT ). Eles podem acelerar as coisas, mas também podem atrasar as coisas - assim, quando o benchmarking, faz sentido verificar os logs de inicialização se um hardware especial é configurado pelo kernel e se os módulos / firmware necessários são carregados. Se tal hardware estiver presente, faz sentido verificar o desempenho com coprocessador ativado versus desativado (por exemplo, através da lista negra dos% relevantes*qat*
modules).