Geschwindigkeit des verschlüsselten Flash-Laufwerks

398
KovBal

Ich habe mein Transcend Jetflash-Flashlaufwerk (16 GB, USB2, Ext2) verschlüsselt. Vor der Operation war die Geschwindigkeit des Flash-Laufwerks:

# dd if=/dev/zero of=/media/JetFlash/file bs=1M count=256 

Ergebnisse mit: 26,5 s, 10,1 Mb / s

Dann habe ich es verschlüsselt:

# 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 

Und ich habe den gleichen Befehl ausgeführt:

# dd if=/dev/zero of=/mnt/tmp/file bs=1M count=256 

Ergebnisse mit: 11,98 s, 22,4 Mb / s

Für AES256 betrug das Ergebnis: 12,83 s, 20,9 Mb / s

Kann jemand erklären, was passiert? Warum arbeitet ein verschlüsseltes Flashlaufwerk doppelt so schnell?

3
Ich denke, das ist keine Frage zur Programmierung und daher der falsche Ort, um zu fragen. vor 13 Jahren 0

2 Antworten auf die Frage

0
Peter G.

Einige Vermutungen:

  1. Das Verschlüsselungsgerät komprimiert vor der Verschlüsselung.

  2. Das Schreiben von Einsen in Flash ist schneller als das Schreiben von Nullen.

Hast du eine Quelle? Lekensteyn vor 13 Jahren 0
@Lekensteyn Nein, nur raten. Komprimierung vor der Verschlüsselung ist eine gute Praxis. Peter G. vor 13 Jahren 0
Ich denke, dass Komprimierung etwas für das Dateisystem ist, nicht die Verschlüsselung selbst? Hast du eine Quelle für deine zweite Vermutung? Es klingt ein bisschen komisch. Lekensteyn vor 13 Jahren 0
Ich weiß, dass es in der Vergangenheit Verschlüsselungsverfahren gab, die komprimiert wurden. Da der Verschlüsselungscode sich selbst wie gewünscht in den Dateizugriffspfad einfügt, ist die Komprimierung gleichzeitig ziemlich trivial. Daniel R Hicks vor 12 Jahren 0
Ja, durch die zufällige Verteilung der Daten (wie durch die Verschlüsselung) kann ein schnelleres Schreiben in einen Flash möglich sein - mehrere mögliche Mechanismen dafür. Daniel R Hicks vor 12 Jahren 0
0
Lekensteyn

Ich denke, es hat mit dem Schreibcache zu tun, die LUKS-Schicht könnte auch als Cache dienen, aber am Ende ist sie immer noch durch die Festplattengeschwindigkeit begrenzt.

Versuchen Sie, eine größere Datei zu schreiben, da dies zu realistischeren Ergebnissen führen sollte. Führen Sie nach dem Ausführen eines syncBefehls einen Befehl aus, um die zum Schreiben auf das Flash-Laufwerk erforderliche Zeit zu testen dd. Messen Sie jetzt die Zeit, bevor Sie das Programm ausführen ddund danach .dddate