Скорость зашифрованной флешки

288
KovBal

Я зашифровал флешку 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 Мб / с

Может кто-нибудь объяснить, что происходит? Почему зашифрованная флешка работает в два раза быстрее?

3
Я думаю, что это не связанный с программированием вопрос и, следовательно, не то место, где нужно задавать вопросы 13 лет назад 0

2 ответа на вопрос

0
Peter G.

Некоторые догадки:

  1. Устройство шифрования сжимается перед шифрованием.

  2. Запись на флэш-память происходит быстрее, чем написание нулей.

У тебя есть источник? Lekensteyn 13 лет назад 0
@Lekensteyn Нет, просто угадай. Сжатие перед шифрованием является хорошей практикой. Peter G. 13 лет назад 0
Я действительно думаю, что сжатие - это что-то для файловой системы, а не само шифрование? У вас есть источник для вашего второго предположения? Это звучит немного странно. Lekensteyn 13 лет назад 0
Я знаю, что в прошлом были схемы шифрования, которые сжимались. Поскольку код шифрования вставляется в путь доступа к файлу таким, какой он есть, сжатие в то же время довольно тривиально. Daniel R Hicks 12 лет назад 0
И, да, рандомизация данных (как это делает шифрование) может позволить более быструю запись во флэш-память - несколько возможных механизмов для этого. Daniel R Hicks 12 лет назад 0
0
Lekensteyn

Я предполагаю, что это связано с кэшем записи, слой LUKS может также выступать в качестве кэша, но, в конце концов, он все еще ограничен скоростью диска.

Попробуйте написать больший файл, он должен дать более реалистичные результаты. Чтобы проверить время, необходимое для записи на флэш-диск, выполните syncкоманду после выполнения ddкоманды. Теперь измерьте время до запуска ddи после ddиспользования dateпрограммы.

Похожие вопросы