Некоторые догадки:
Устройство шифрования сжимается перед шифрованием.
Запись на флэш-память происходит быстрее, чем написание нулей.
Я зашифровал флешку Transcend Jetflash (16 ГБ, USB2, ext2). До операции скорость флешки была:
# dd if=/dev/zero of=/media/JetFlash/file bs=1M count=256
Результаты с: 26,5 с, 10,1 Мб / с
Затем я зашифровал это:
# losetup -e AES128 /dev/loop1 /dev/sdb # mkfs -t ext2 /dev/loop1 # losetup -d /dev/loop1 # mkdir /mnt/tmp # mount /dev/sdb -o loop=/dev/loop1,encryption=AES128 /mnt/tmp -t ext2 # losetup -e AES128 /dev/loop1 /dev/sdb
И я выполнил ту же команду:
# dd if=/dev/zero of=/mnt/tmp/file bs=1M count=256
Результаты с: 11,98 с, 22,4 Мб / с
Для AES256 результат составил: 12,83 с, 20,9 Мб / с
Может кто-нибудь объяснить, что происходит? Почему зашифрованная флешка работает в два раза быстрее?
Некоторые догадки:
Устройство шифрования сжимается перед шифрованием.
Запись на флэш-память происходит быстрее, чем написание нулей.
Я предполагаю, что это связано с кэшем записи, слой LUKS может также выступать в качестве кэша, но, в конце концов, он все еще ограничен скоростью диска.
Попробуйте написать больший файл, он должен дать более реалистичные результаты. Чтобы проверить время, необходимое для записи на флэш-диск, выполните sync
команду после выполнения dd
команды. Теперь измерьте время до запуска dd
и после dd
использования date
программы.